~kennylevinsen/seatd-devel

1

Update libseat from 0.8.0 to 0.9.1 breaks weston as used by initial-setup

Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Details
Message ID
<Zy_-FRQnBTeNPXVj@mail-itl>
DKIM signature
pass
Download raw message
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
Details
Message ID
<6eab5edb5fd837eb7d17ff66d28275bcc710131f@kl.wtf>
In-Reply-To
<Zy_-FRQnBTeNPXVj@mail-itl> (view parent)
DKIM signature
pass
Download raw message
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
Reply to thread Export thread (mbox)