<feed xmlns='http://www.w3.org/2005/Atom'>
<title>video/utils/kmscon/patches, branch master</title>
<subtitle>Mirror of video feed</subtitle>
<id>https://git.openwrt.org/feed/video/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/video/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/'/>
<updated>2026-10-07T07:23:38Z</updated>
<entry>
<title>kmscon: wait for the splash, add unifont, depend on evdev</title>
<updated>2026-10-07T07:23:38Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-05T16:08:48Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=8d4551ceb287527f6a2ba99f9e86ded782a937bb'/>
<id>urn:sha1:8d4551ceb287527f6a2ba99f9e86ded782a937bb</id>
<content type='text'>
Started while plymouth holds DRM master, kmscon retries taking it from
a timer and logs a failure on every attempt. Its built-in 8x16 font
covers the first 256 code points only, held in CP437 order while
kmscon looks glyphs up by Unicode code point, so box drawing, block and
braille characters come out wrong. The input event nodes it reads only
exist with the evdev handler, which nothing pulled in.

Do not start the instance while plymouth reports that it holds the
display, and start it on the plymouth.release event the splash hands
procd when it lets go. Build the GNU Unifont engine into a
kmscon-mod-unifont package; its generator genunifont is packaged as a
host build, and a patch lets meson use that one. The init script
passes --font-engine only when one is configured, so kmscon falls
through to unifont when the module is installed. GNU Unifont is
dual-licensed under GPL-2.0-or-later with a font embedding exception
and OFL-1.1; kmscon takes the font under OFL-1.1, so the module
package carries that licence besides MIT. Depend on kmod-input-evdev.

Fixes: 3c8ebee9b4f7 ("kmscon: depend on input-support for the evdev nodes")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>kmscon: make the libseat backend activate its seat</title>
<updated>2026-10-03T15:57:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-01T14:04:00Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=42627cc49924ced14c292010b046525c69d46638'/>
<id>urn:sha1:42627cc49924ced14c292010b046525c69d46638</id>
<content type='text'>
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 &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>kmscon: add terminal emulator for KMS devices</title>
<updated>2026-09-26T11:41:58Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-24T21:51:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=605d768782e13fc8b8fa16e719d4a2742dafbd45'/>
<id>urn:sha1:605d768782e13fc8b8fa16e719d4a2742dafbd45</id>
<content type='text'>
A system without a framebuffer console has no text console at all.
kmscon draws a terminal straight onto a DRM device, through OpenGL ES
where the GPU allows and in software on the same device otherwise.

Device access goes through libseat, so the seat owns the drm device and
the vt rather than kmscon reaching for both itself. That needs seatd,
which is a small daemon and already starts before this service. Built
without the fbdev backend and with the built-in PC screen font, so it
needs neither pango nor freetype. The service is off until enabled, so
it does not take the display from whatever else is using it.

Two patches are carried. The first keeps the unifont generator, a
native helper linked against zlib for the build machine, out of a build
that has the unifont backend disabled, which otherwise breaks cross
compilation. The second stops an error loop: a render-only drm node
answers NULL to drmModeGetResources, which the hotplug path treated as
an error and returned from the poll handler, so kmscon wrote 776 error
lines in eighty seconds on a board where the GPU enumerates before the
display controller.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
</feed>
