Hi Ralph,
On 23/4/22 23:32, Ralph Ronnquist wrote:
> Then, I think the X11 system relies on udev for setting up its inputs
> and load the appropriate modules. You may take over that and do things
> "by hand" by a) making the following file /etc/X11/xorg.conf.d/a.conf
> ####
> Section "ServerFlags"
> Option "AutoAddDevices" "false"
> EndSection
> ####
X11-common contains a file config/udev.c and -if i'm not mistaken- as
long as the sources are built enabling CONFIG_UDEV, the above option
"AutoAddDevices" is set up to true by default. On the contrary, vdev
requires the following setup to get both the keyboard and mouse working:
Section "ServerFlags" Option "AutoAddDevices" "off" Option
"AllowEmptyInput" "on" (either "off") EndSection
I don't think this configuration would work with eudev, because I guess
that "AutoAddDevices" is required to carry out udev monitor's event
processing (libudev-enumerate.c). On the contrary, vdev removes the
netlink connection to udev, in favor of creating the underlying
`udev_monitor`specific directory:
* /dev/events/libudev-$PID
watched by vdev's helpers for new packet events. This is the way vdev
works. So, libudev-compat (vdev) connects to a netlink socket only if
the name is "kernel" and removes this netlink connection if the name is
"udev", because vdevd's helper scripts will send serialized device
events by writing them as files (here, Jude Nelson recommends the
installation of eventfs).
It's because libeudev and libudev-compat work with opposing approaches,
my recommendation is to not disable "AutoAddDevices" when using eudev,
but enable it when using vdev.
Cheers,
Aitor.