Hi,
I recently found that after updating libseat from 0.8.0 to 0.9.1,
initial-setup doesn't start anymore. The exact issue reported is weston
failing to start:
run-initial-setup[8436]: [18:41:39.173] Using GL renderer
run-initial-setup[8436]: [18:41:39.193] event0 - not using input device '/dev/input/event0'
run-initial-setup[8436]: [18:41:39.195] event1 - not using input device '/dev/input/event1'
run-initial-setup[8436]: [18:41:39.197] event2 - not using input device '/dev/input/event2'
run-initial-setup[8436]: [18:41:39.200] event3 - not using input device '/dev/input/event3'
run-initial-setup[8436]: [18:41:39.204] event4 - not using input device '/dev/input/event4'
run-initial-setup[8436]: [18:41:39.204] warning: no input devices on entering Weston. Possible causes:
run-initial-setup[8436]: - no permissions to read /dev/input/event*
run-initial-setup[8436]: - seats misconfigured (Weston backend option 'seat', udev device property ID_SEAT)
run-initial-setup[8436]: [18:41:39.204] failed to create input devices
run-initial-setup[8436]: [18:41:39.207] fatal: failed to create compositor backend
With 0.8.0 those lines are:
run-initial-setup[4621]: [18:37:43.198] Using GL renderer
run-initial-setup[4621]: [18:37:43.207] event0 - Power Button: is tagged by udev as: Keyboard
run-initial-setup[4621]: [18:37:43.207] event0 - Power Button: device is a keyboard
run-initial-setup[4621]: [18:37:43.210] event1 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
run-initial-setup[4621]: [18:37:43.210] event1 - AT Translated Set 2 keyboard: device is a keyboard
run-initial-setup[4621]: [18:37:43.213] event2 - ImExPS/2 Generic Explorer Mouse: is tagged by udev as: Mouse
run-initial-setup[4621]: [18:37:43.213] event2 - ImExPS/2 Generic Explorer Mouse: device is a pointer
run-initial-setup[4621]: [18:37:43.216] event3 - PC Speaker: not tagged as supported input device
run-initial-setup[4621]: [18:37:43.217] event3 - not using input device '/dev/input/event3'
run-initial-setup[4621]: [18:37:43.220] event4 - sys-usb: QEMU QEMU USB Tablet: is tagged by udev as: Mouse
run-initial-setup[4621]: [18:37:43.221] event4 - sys-usb: QEMU QEMU USB Tablet: device is a pointer
run-initial-setup[4621]: [18:37:43.227] libinput: configuring device "Power Button".
run-initial-setup[4621]: [18:37:43.227] libinput: configuring device "AT Translated Set 2 keyboard".
run-initial-setup[4621]: [18:37:43.227] libinput: configuring device "ImExPS/2 Generic Explorer Mouse".
run-initial-setup[4621]: [18:37:43.228] libinput: configuring device "sys-usb: QEMU QEMU USB Tablet".
run-initial-setup[4621]: [18:37:43.228] input device event4 has no enabled output associated (none named), skipping calibration for now.
No other changes were made in the system, just the single package
update/downgrade.
This is in Qubes OS dom0 that is based on Fedora 41 (for practical
purposes you can simply treat this as plain Fedora 41).
The weston config is:
[core]
shell=kiosk
xwayland=true
[autolaunch]
path=/tmp/...-wl-weston-firstboot-run
watch=true
The "path" above is generated script calling actual initial-setup, I
don't think its content is relevant here.
It's started from a systemd service, not a user session.
You can find full logs in related qubes issue:
https://github.com/QubesOS/qubes-issues/issues/9568
Any ideas what happened here? Otherwise I can try to bisect it, there
are not that many commits between 0.8.0 and 0.9.1.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
I answered the issue, but for completeness for those following the list: The main change is that libseat no longer activates the session when using the logind backend, so if an inactive VT/TTY is targeted, a chvt before or after starting the session is required in the start scripts to make the session visible.
This activation is removed to allow starting sessions in the background, something Weston used to allow before adopting libseat.
An example of a fix is available here: https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1566