LINUX.ORG.RU

Не работает клавиатура и мышь в иксах

 , , ,


1

1

Дистр CRUX.
После установки иксов в них не работают клава и мышь. До запуска иксов клава работает.
xorg.conf
Xorg.0.log
xorg-xf86-input-evdev стоит.
Куда копать?
Странно, что в логе иксов ни слова про evdev...

Если что, в /etc/X11/xorg.conf.d/ только 10-radeon.conf.
Ноут Lenovo G505s.

В другой tty переключиться не могу.

★★★★★

Последнее исправление: teod0r (всего исправлений: 6)

а у меня не работает клава при старте, а потом работает когда система загрузилась, вроде бы не критично, но в bios не попасть и на grub только посмотреть можно.

amd_amd ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

Пересобрал эти пакеты, затем потыкал evdev и оно заработало. Походу была проблема в evdev,

а что конкретно делал? какие пакеты пересобирал? я уже пробовал пересобрать все xorg-* и eudev — не помогло.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от iliyap

А что говорит udevadm info /sys/class/input/*?

без запущенных иксов:

# udevadm info /sys/class/input/*
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0/event0
N: input/event0
E: DEVNAME=/dev/input/event0
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0/event0
E: MAJOR=13
E: MINOR=64
E: SUBSYSTEM=input
Кстати на другой машинке с запущенными иксами, где всё работает вывод этой команды длиннее.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Кстати на другой машинке с запущенными иксами, где всё работает вывод этой команды длиннее.

Поправка: на другой машинке с другим дистром

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Евдев уже вроде как устарел

# pacman -Ss libinput
extra/xf86-input-libinput 1.4.0-1 (xorg-drivers) [установлен]
# pacman -Ss evdev
extra/xf86-input-evdev 2.10.6-3 (xorg-drivers)
utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от teod0r

Я ядро пересобрал указанными опциями и evdev установил. Вроде все. Eudev кстати не трогал насколько помню, он у меня даже не стоит вроде. Короче, вечером доберусь до компа и скину что там из этого стоит у меня.

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)

xorg.conf

Section "InputClass"
	Identifier "evdev keyboard catchall"
	MatchIsKeyboard "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
	Option "XkbLayout" "us,ru"
	Option "XkbRules" "xorg"
	Option "XkbOptions" "grp:caps_toggle,grp_led:caps,compose:ralt"
EndSection

Так а зачем вам вообще xorg.conf? В 99% случае без него всё работает на дефолтных настройках.

PPP328 ★★★★★
()
Ответ на: комментарий от teod0r

А в статье по ссылке написано, какие udev атрибуты должны быть у устройства, чтобы xorg его подхватил как устройство ввода. У тебя не хватает каких-то udev правил, которые эти атрибуты цепляют к устройству. В статье по ссылке и udev правила указаны.

Ещё можно отказаться от подхвата устройств на лету — выставить AutoAddDevices в off как написано в твоём xorg.log.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

У тебя не хватает каких-то udev правил, которые эти атрибуты цепляют к устройству. В статье по ссылке и udev правила указаны.

просмотрел бегло статью.
в моей системе почему-то совсем нет правил с названием *-xorg-*, посмотрел в портах — так же вообще нет нигде. может, в CRUX они по-другому называются?
ни разу в жизни успешно правила udev не создавал. мне в какой директории их создавать, в /etc/udev/rules.d/? есть вот ещё директория /lib/udev/rules.d/ с правилами...
можешь помочь с созданием правил? как оно должно выглядеть? в твоей системе как эти правила выглядят? кстати в другой системе, с которой пишу (старенькая гента), тоже нет правил *-xorg-*, и всё работает.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от HomerSexual

я при установке выбирал из группы «xorg» только mesa и xorg, стало быть xorg-xf86-input-libinput подтянулся по зависимостям, вот мой конфиг:

# /etc/X11/xorg.conf
Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us,ru"
        Option "XkbOptions" "grp:caps_toggle"
        Option "AutoRepeat" "250 30"
EndSection

Section "InputClass"
        Identifier "touchpad"
        Driver "libinput"
        MatchIsTouchpad "on"
        Option "Tapping" "on"
EndSection

Section "ServerFlags"
        Option "BlankTime" "5"
EndSection

все работает

ЗЫ

~$ prt-get listinst |grep evdev
xorg-libevdev
HomerSexual
()
Ответ на: комментарий от teod0r

странно, в логе пусто, иксы не видят устройств ввода. наверно надо добавлять вручную путь до девайса, что-то типа

Section "InputDevice"
    Identifier "keyboard0"
    Driver "kbd"
    Option "Device" "/dev/input/что-то-там"
EndSection

если хочешь пересобрать пакет со всеми зависимостями:

function rebuild-deps {
        prt-cache update -fr `prt-cache quickdep "$*"`
}
HomerSexual
()
Ответ на: комментарий от teod0r

У меня установлены

xorg-xf86-input-evdev
xorg-xf86-input-libinput
xorg-xf86-input-synaptics
Удалил
xorg-xf86-input-libinput
xorg-xf86-input-synaptics
И перезагрузился, так что для работы должно хватить xorg-xf86-input-evdev

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от teod0r

Xorg считает устройствами ввода те, которые имеют udev-атрибут ID_INPUT=1. Этот атрибут выставляет правило /lib/udev/rules.d/60-input-id.rules. В CRUX 3.7 оно идёт в пакете eudev. У меня в centos 9 оно идёт в пакете systemd-udev.

Статья старая. Никаких xorg правил и x11 атрибутов уже нет. Но в целом там всё верно описано про ID_INPUT атрибуты.

В логе Xorg должно быть что-то такое, для кнопок и клавиатур (ID_INPUT_KEY=1):

[    15.033] (II) config/udev: Adding input device SEMICO USB Keyboard (/dev/input/event5)
[    15.033] (**) SEMICO USB Keyboard: Applying InputClass "evdev keyboard catchall"
[    15.033] (**) SEMICO USB Keyboard: Applying InputClass "libinput keyboard catchall"
[    15.033] (**) SEMICO USB Keyboard: Applying InputClass "system-keyboard"
[    15.033] (II) Using input driver 'libinput' for 'SEMICO USB Keyboard'

Для мышек (ID_INPUT_MOUSE=1):

[    15.087] (II) config/udev: Adding input device PixArt Dell MS116 USB Optical Mouse (/dev/input/event9)
[    15.087] (**) PixArt Dell MS116 USB Optical Mouse: Applying InputClass "evdev pointer catchall"
[    15.087] (**) PixArt Dell MS116 USB Optical Mouse: Applying InputClass "libinput pointer catchall"
[    15.087] (II) Using input driver 'libinput' for 'PixArt Dell MS116 USB Optical Mouse'

Для других устройств ввода, которые Xorg не использует (например ID_INPUT_SWITCH=1):

[    14.943] (II) config/udev: Adding input device Lid Switch (/dev/input/event1)
[    14.943] (II) No input driver specified, ignoring this device.

А у тебя строк Adding input device в логе нет. Потому что нет устройств с udev-атрибутом ID_INPUT=1.

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)
Ответ на: комментарий от iliyap

Помоги пожалуйста написать правила. гопатыч сказал написать такое правило:

KERNEL=="event*", ENV{ID_INPUT}="1", MODE="0666"
с ним не работает. другой гопатыч сказал написать такое
SUBSYSTEM=="input", ATTRS{idVendor}=="YOUR_VENDOR_ID", ATTRS{idProduct}=="YOUR_PRODUCT_ID", ENV{ID_INPUT_KEYBOARD}="1"
но, я так понимаю, второе не совсем правильно, т.к. «YOUR_VENDOR_ID» и «YOUR_PRODUCT_ID» это под какое-то конкретное устройство...

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

У меня так написано

bash-5.1$ cat 60-
60-block.rules                    60-input-id.rules                 60-persistent-storage-tape.rules
60-cdrom_id.rules                 60-persistent-alsa.rules          60-persistent-v4l.rules
60-drm.rules                      60-persistent-input.rules         60-sensor.rules
60-evdev.rules                    60-persistent-storage.rules       60-serial.rules
bash-5.1$ cat 60-evdev.rules 
# do not edit this file, it will be overwritten on update

ACTION=="remove", GOTO="evdev_end"
KERNEL!="event*", GOTO="evdev_end"

# skip later rules when we find something for this input device
IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \
  RUN{builtin}+="keyboard", GOTO="evdev_end"

# AT keyboard matching by the machine's DMI data
DRIVERS=="atkbd", \
  IMPORT{builtin}="hwdb 'evdev:atkbd:$attr{[dmi/id]modalias}'", \
  RUN{builtin}+="keyboard", GOTO="evdev_end"

# device matching the input device name + properties + the machine's DMI data
KERNELS=="input*", IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:phys:$attr{phys}:ev:$attr{capabilities/ev}:$attr{[dmi/id]modalias}'", \
  RUN{builtin}+="keyboard", GOTO="evdev_end"

# device matching the input device name and the machine's DMI data
KERNELS=="input*", IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:$attr{[dmi/id]modalias}'", \
  RUN{builtin}+="keyboard", GOTO="evdev_end"

LABEL="evdev_end"
bash-5.1$ 
И так
bash-5.1$ cat 50-udev-default.rules 
# do not edit this file, it will be overwritten on update

# run a command on remove events
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
ACTION=="remove", GOTO="default_end"

SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"

# select "system RTC" or just use the first one
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"

ACTION!="add", GOTO="default_end"

SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"

SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"

SUBSYSTEM=="input", GROUP="input"
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"

SUBSYSTEM=="video4linux", GROUP="video"
SUBSYSTEM=="graphics", GROUP="video"
SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
SUBSYSTEM=="dvb", GROUP="video"
SUBSYSTEM=="media", GROUP="video"
SUBSYSTEM=="cec", GROUP="video"

SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="video", MODE="0666"
SUBSYSTEM=="kfd", GROUP="video", MODE="0666"

SUBSYSTEM=="sound", GROUP="audio", \
  OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"

KERNEL=="parport[0-9]*", GROUP="lp"
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
SUBSYSTEM=="ppdev", GROUP="lp"
KERNEL=="lp[0-9]*", GROUP="lp"
KERNEL=="irlpt[0-9]*", GROUP="lp"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"

SUBSYSTEM=="block", GROUP="disk"
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
KERNEL=="sch[0-9]*", GROUP="cdrom"
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
KERNEL=="pktcdvd", GROUP="cdrom"

SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
KERNEL=="btrfs-control", GROUP="disk"
KERNEL=="rawctl", GROUP="disk"
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"

KERNEL=="rfkill", MODE="0664"
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"

KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"

# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"

SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"

LABEL="default_end"

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от teod0r

У тебя же установлен пакет eudev, значит /lib/udev/rules.d/60-input-id.rules тоже в наличии, значит никаких правил самому выдумывать не надо. Надо разобраться почему не работают существующие правила. Вот правило, которое выставляет ID_INPUT атрибуты:

SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"

Оно использует встроенную функцию input_id. Её работу можно протестировать:

$ udevadm test-builtin input_id /sys/class/input/event3 2>/dev/null
ID_INPUT=1
ID_INPUT_KEY=1
ID_INPUT_KEYBOARD=1

Если функция input_id выплёвывает неправильный список ID_INPUT атрибутов, можно посмотреть в её исходники. Код ищет в sysfs атрибуты capabilities/ev и capabilities/key. Можно их поискать самомтоятельно в sysfs:

$ find /sys/devices -name ev
[...skipped...]
/sys/devices/platform/i8042/serio0/input/input3/capabilities/ev
[...skipped...]
iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Так у тебя в /sys/class/input/ всего одно устройство, event0? Или устройств много, но все без атрибута ID_INPUT=1?

проблема была в команде udevadm info /sys/class/input/*
она тока 1 устройство показывает

# ll /sys/class/input/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "event0" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0/event0"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "event1" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/LNXVIDEO:01/input/input1/event1"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "event2" -> "../../devices/platform/i8042/serio0/input/input2/event2"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "event3" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input4/event3"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "event4" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input5/event4"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "event5" -> "../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input6/event5"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "event6" -> "../../devices/platform/i8042/serio1/input/input7/event6"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "input0" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "input1" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/LNXVIDEO:01/input/input1"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "input2" -> "../../devices/platform/i8042/serio0/input/input2"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "input4" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input4"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "input5" -> "../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input5"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "input6" -> "../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input6"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "input7" -> "../../devices/platform/i8042/serio1/input/input7"/
lrwxrwxrwx 1 root root 0 Nov  9 18:06 "mice" -> "../../devices/virtual/input/mice"/
lrwxrwxrwx 1 root root 0 Nov  9 18:08 "mouse0" -> "../../devices/platform/i8042/serio1/input/input7/mouse0"/
for a in /sys/class/input/*; do printf %s\\n "$a"; udevadm info "$a"; done

udevadm test-builtin input_id /sys/class/input/event3

# udevadm test-builtin input_id /sys/class/input/event3
calling: test-builtin
=== trie on-disk ===
tool version:          3
file size:         9732328 bytes
header size             80 bytes
strings            2424072 bytes
nodes              7308176 bytes
Load module index
capabilities/ev raw kernel attribute: 3
capabilities/ev decoded bit map:
  bit    0: 0000000000000003
capabilities/abs raw kernel attribute: 0
capabilities/abs decoded bit map:
capabilities/rel raw kernel attribute: 0
capabilities/rel decoded bit map:
capabilities/key raw kernel attribute: 10000000000000 0
capabilities/key decoded bit map:
  bit    0: 0000000000000000
  bit   64: 0010000000000000
properties raw kernel attribute: 0
properties decoded bit map:
test_key: checking bit block 0 for any keys; found=0
test_key: checking bit block 64 for any keys; found=1
test_key: checking bit block 128 for any keys; found=1
test_key: checking bit block 192 for any keys; found=1
Unload module index
ID_INPUT=1
ID_INPUT_KEY=1

$ find /sys/devices -name ev

/sys/devices/platform/i8042/serio0/input/input2/capabilities/ev
/sys/devices/platform/i8042/serio1/input/input7/capabilities/ev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input5/capabilities/ev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input4/capabilities/ev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input0/capabilities/ev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/LNXVIDEO:01/input/input1/capabilities/ev
/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input6/capabilities/ev
teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Встроенная функция input_id работает вроде правильно, а ID_INPUT атрибутов у устройств нету. Попробуй стриггерить ивенты об устройствах, чтобы udevd заново выполнил правила:

sudo udevadm trigger -s input -v -w

А затем снова посмотреть атрибуты устройств:

udevadm info /sys/class/input/event2 # клавиатура
udevadm info /sys/class/input/event6 # тачпад
iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Вообще твоя система как-то сломана. Я для интереса скачал CRUX 3.7 ISO, загрузился с него в виртуалке, и там с атрибутами устройств всё в порядке (на этапе установки):

crux login: root
Last login: Thu Nov  9 14:24:35 UTC 2023 on tty1

Welcome to the CRUX 3.7 installation media!

# /sbin/udevadm info /sys/class/input/event1
P: /devices/platform/i8042/serio0/input/input1/event1
N: input/event1
S: input/by-path/platform-i8042-serio-0-event-kbd
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-0-event-kbd
E: DEVNAME=/dev/input/event1
E: DEVPATH=/devices/platform/i8042/serio0/input/input1/event1
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: ID_SERIAL=noserial
E: MAJOR=13
E: MINOR=65
E: SUBSYSTEM=input
E: USEC_INITIALIZED=38776131
iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Вообще твоя система как-то сломана.

действительно.
проблема была в том, что у меня в /etc/fstab был прописан /run с монтированием в tmpfs, а выяснилось, что /run в fstab не должен быть прописан. удаление этой строки исправило проблему.
клавиатура и мышь заработали!

вообще конечно странно, думал /run в tmpfs должен монтироваться...

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

вообще конечно странно, думал /run в tmpfs должен монтироваться…

так оно и монтируестся

~$ grep run /sbin/start_udev
# mount /run directory if not mounted
if ! /bin/mountpoint -q /run ; then
        /bin/mount -n -t tmpfs -o mode=0755,nosuid,nodev,exec tmpfs /run
HomerSexual
()
Ответ на: комментарий от teod0r

В релизнотах https://crux.nu/Main/ReleaseNotes3-7 написано, что /run и так в tmpfs. Но твой fstab видимо приводил к тому, что поверх монтировался ещё один экземпляр tmpfs. Видимо уже после старта udevd. И все файлы, которые были на старом экземпляре tmpfs, исчезали, перекрытые новым экземпляром tmpfs. Из-за этого пропадала hwdb с атрибутами устройств.

iliyap ★★★★★
()
Ответ на: комментарий от teod0r

Он и должен

bash-5.1$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       344G   63G  264G  20% /
devtmpfs        8.0M     0  8.0M   0% /dev
tmpfs            24G  948K   24G   1% /run
/dev/sda1       7.3T  2.8T  4.2T  40% /home
/dev/nvme0n1p2  1.5T  705G  709G  50% /mnt/library
shm              24G  323M   24G   2% /dev/shm
bash-5.1$ 

vbcnthfkmnth123 ★★★★★
()