I have installed Artix with runit (also tried openrc, the issue is still there) and I am unable to access devices that were plugged (i.e. keyboard, mouse) in on boot in Xorg. They work fine if the USB device is reconnected after boot, but in case of inbuilt laptop keyboard such is impossible. Interestingly, the trackpoint
sometimes works fine. If the device is plugged in after boot, no matter whether in framebuffer or X, it then works fine and is register in Xorg.0.log. I tried to search logs, dmesg for any proof of anything that could be wrong, and except of lack of registering this laptop keyboard (which is a constant (/dev/input/event3)) it seems there are no errors. I only use startx for starting X or startxfce4 where I want xfce.
Here is the quick list of things, I've tried (to no effect):
- checking both libinput and evdev
- removing elogind
- restarting eudev
- installing openRC, and then reinstalling runit :D(try doing this with systemd)
- adding user to input group
- running X as root
Running
udevadm test /dev/input/*
seems to solve the issue. It seems init scripts here skip
udevadm trigger
and, thus, are unable to notice 'coldplugged' devices.
which drivers have you installed?
pacman -Qs xf86
This is weird. runit does run udevadm trigger on startup. It's part of runit-rc (https://gitea.artixlinux.org/artix/runit-rc/src/branch/master/sv.d/udev-trigger.in).
I have installed them all (after noticing the issues), but currently use evdev, but the results were exactly the same with libinput and in Wayland. I have installed them all just to make
sure that nothing is missing
Huh, is there any log for runit I could supply so we could gather better information? If it matters I'll also state it is a LUKS/LVM setup, but I dont know whether this related. I have attached the output of
find /etc/runit
.
Maybe you should define input class in /etc/X11/xorg.conf.d. See xf86-input-evdev sources for sample config
Also tried this with inclusion of libinput and evdev. Both did not change the issue, it seems it is fully eudev related. It is also not dependent on runit as it also existed for me on OpenRC
Adding
udevadm trigger
to the runit service fixes the issue. Shouldn't we then run this command on boot, as there are setups in which it causes issues? I am aware it is redundant, but It is not a heavy command by any means and solves this very annoying and difficult to research issue.