Skip to content

kmscon, seatd: fixes for systems without CONFIG_VT - #168

Merged
dangowrt merged 4 commits into
openwrt:masterfrom
dangowrt:kmscon-fixes
Oct 3, 2026
Merged

dangowrt merged 4 commits into
openwrt:masterfrom
dangowrt:kmscon-fixes

Conversation

@dangowrt

@dangowrt dangowrt commented Oct 2, 2026

Copy link
Copy Markdown
Member

Make kmscon and seatd work on systems running a kernel without CONFIG_VT.

Start seatd to manage physical consoles directly in case CONFIG_VT is
disabled by passing SEATD_VTBOUND=0 env variable.

Signed-off-by: Daniel Golle <[email protected]>
seatd answers CLIENT_OPEN_SEAT by buffering the response and the enable
event together, so both reach libseat in one read. libseat parses only
the response and leaves the event in its connection buffer, with nothing
left on the socket for a client watching the fd to be woken by, so a
client that follows the documented contract never activates its seat.

Signed-off-by: Daniel Golle <[email protected]>
The seat is enabled while libseat_open_seat() is still running, before
uterm_vt_allocate() has installed the callbacks an activation needs, and
whatever libseat has buffered is never dispatched because watching its fd
for readability yields nothing. kmscon therefore stayed asleep with
--libseat: no video device was initialised and the display stayed dark.

Carry patches that dispatch libseat once from an idle callback and replay
an enable that arrived too early, and that mark an unopened tty as -1 so
the backend stops issuing VT ioctls on file descriptor 0.

Signed-off-by: Daniel Golle <[email protected]>
Whether a service runs at boot is already expressed by its rc.d symlink,
which service enable and service disable maintain. A UCI option saying
the same thing is a second source of truth that disagrees with the first
as soon as either is touched on its own.

Signed-off-by: Daniel Golle <[email protected]>
@dangowrt
dangowrt merged commit afb0a74 into openwrt:master Oct 3, 2026
24 of 25 checks passed
@dangowrt
dangowrt deleted the kmscon-fixes branch October 3, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant