<feed xmlns='http://www.w3.org/2005/Atom'>
<title>video, 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-02T07:56:57Z</updated>
<entry>
<title>plymouth-theme-openwrt-demo: fix the theme descriptor name</title>
<updated>2026-10-02T07:56:57Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-01T11:41:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=816fa8fe0ca759cc5d1ba71af1a716405bf4dda4'/>
<id>urn:sha1:816fa8fe0ca759cc5d1ba71af1a716405bf4dda4</id>
<content type='text'>
plymouth resolves a configured theme as themes/&lt;name&gt;/&lt;name&gt;.plymouth,
so the descriptor has to carry the name of its directory. Named
openwrt.plymouth it is never found, and plymouth walks its fallback
chain down to the built-in text splash, which draws nothing at all on a
board that has no text console.

Name the descriptor after the theme so the configured theme loads.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>plymouth-plugin-ucode: start the splash without a console</title>
<updated>2026-10-02T07:56:57Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-01T11:50:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=cf4452f67a10efecc09797516945cf6dbc3481cb'/>
<id>urn:sha1:cf4452f67a10efecc09797516945cf6dbc3481cb</id>
<content type='text'>
The preinit hook asked for a splash by appending "splash" to a faked
kernel command line and told plymouth to ignore serial consoles, which
left it free to take the system console as its terminal anyway.

--graphical-boot covers both and keeps plymouth on KMS only.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>plymouth-plugin-ucode: honour the display device scale</title>
<updated>2026-10-02T07:56:57Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-01T11:41:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=fd188acfb623ffa74918da1a458ffd1fc9125d76'/>
<id>urn:sha1:fd188acfb623ffa74918da1a458ffd1fc9125d76</id>
<content type='text'>
ply_pixel_buffer_get_size() reports the logical area while
ply_pixel_buffer_get_argb32_data() points at the device pixel buffer.
Where the device scale is above one, the plutovg surface then describes
the buffer as too narrow and with too short a stride, so each odd
logical row lands in the right half of the panel and the image collapses
into a fraction of it. The damaged area is handed over in logical
coordinates as well, while ply_renderer_head_flush_area() reads it as
device pixels.

Size the surface in device pixels, scale the canvas by the device scale
so a theme keeps drawing in logical coordinates, and report the damaged
area in device pixels.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>plymouth: keep the daemon off the system console</title>
<updated>2026-10-02T07:56:57Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-10-01T11:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=389a52b148db60bc48c9122316ebaeffc033f25e'/>
<id>urn:sha1:389a52b148db60bc48c9122316ebaeffc033f25e</id>
<content type='text'>
OpenWrt builds the kernel without CONFIG_VT, so BOOT_TTY never exists
and plymouth falls back to the first serial device it finds, which is
the system console. It opens that console, watches it for input, puts it
in raw mode and locks every termios bit, so a shell sharing it loses its
cursor keys, its interrupt character and a share of everything typed.
Forcing details mode along the way also costs the splash its renderer.

Carry a patch that makes --graphical-boot keep plymouth away from a
console altogether and pass it from both entry points. The faked
"splash" kernel argument and --ignore-serial-consoles go with it, both
implied now, as does --attach-to-session, which redirected the console
into plymouth's pty with TIOCCONS and stopped kernel messages reaching
the serial port.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>mesa: depend on accel-support in the hardware drivers</title>
<updated>2026-09-30T11:28:18Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-29T14:52:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=2baec75e2c07b3bb3ae3b73580a3bd3074818707'/>
<id>urn:sha1:2baec75e2c07b3bb3ae3b73580a3bd3074818707</id>
<content type='text'>
A hardware driver renders through /dev/dri/renderD*, which is 0600
root:root until accel-support allocates the render group and ships the
rule that puts the node into it.

The software rasterisers are the exception and keep no such dependency:
libmesa-softpipe, libmesa-llvmpipe and libvulkan-lvp run on the CPU and
open no device. Because the gate sits on each driver, an image built
around a software rasteriser stays out of the render group, while one
that picks a hardware driver pulls the group in with it.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>kmscon: depend on input-support for the evdev nodes</title>
<updated>2026-09-30T11:28:18Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-29T14:52:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=3c8ebee9b4f766f647cda6893ca27af6e7764a87'/>
<id>urn:sha1:3c8ebee9b4f766f647cda6893ca27af6e7764a87</id>
<content type='text'>
kmscon reads its keyboard from /dev/input directly through libudev, so
it needs the input group and the hotplug rule that input-support ships.
It has no libevdev or libinput dependency to inherit that from, unlike
the compositors in this feed.

The DRM side already comes from libdrm.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>libwpe: remove</title>
<updated>2026-09-29T11:37:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-23T13:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=e5bbe28a27349584f248f4c0c4b2aae7cfb4325e'/>
<id>urn:sha1:e5bbe28a27349584f248f4c0c4b2aae7cfb4325e</id>
<content type='text'>
Nothing depends on the libwpe API any more: wpewebkit is built against
WPEPlatform, and wpebackend-fdo and cog are gone.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>wpebackend-fdo: remove</title>
<updated>2026-09-29T11:37:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-23T13:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=d4540d0ce904699dd2da0e343593c1e74e8f1c68'/>
<id>urn:sha1:d4540d0ce904699dd2da0e343593c1e74e8f1c68</id>
<content type='text'>
The only consumers were wpewebkit, which is now built with
ENABLE_WPE_LEGACY_API=OFF, and cog, which is gone.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>cog: remove</title>
<updated>2026-09-29T11:37:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-23T13:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=7225a8673a6b67d65d6bc4ee7879cf0f934ae4b2'/>
<id>urn:sha1:7225a8673a6b67d65d6bc4ee7879cf0f934ae4b2</id>
<content type='text'>
Cog is a launcher built on the libwpe API and wpebackend-fdo, which
wpewebkit no longer provides now that it is built against WPEPlatform
only. MiniBrowser covers the testing role, and applications should use
the WPE API directly.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>wpewebkit: update to 2.54.0</title>
<updated>2026-09-29T11:37:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-28T23:24:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=37a9a0216898215cc6b318e2442f1c747175f229'/>
<id>urn:sha1:37a9a0216898215cc6b318e2442f1c747175f229</id>
<content type='text'>
Switch to WPEPlatform only: ENABLE_WPE_LEGACY_API=OFF drops the libwpe
API and with it the wpebackend-fdo backend, which served no other
package. MiniBrowser builds against WPEPlatform without them.

WPEWebKit now needs 128-bit atomics, so add libatomic. libstdcpp and
libxkbcommon used to arrive through libwpe and are linked directly, so
declare them.

Patch 122 is upstream and is dropped; 126 keeps only its DWARF register
mapping hunk. 138 and 147 are ported to the refactored atomic op macros,
where upstream hoisted 63 inline bodies out into named macros, and 147's
compare-exchange slow path gains the expected-value argument and the
result move it was missing.

Eight patches are new. The WebDriver log channel is read unguarded while
it is only declared when logging is compiled in. WPE reports
prefers-reduced-motion inverted, so animations are disabled by default.
WebKit cannot resolve a WebCore header that another WebCore header
includes by bare name, which stops the prefix header compiling as the
translation unit of its own that a precompiled header needs. libpas picks
a __uint128_t for pas_pair wherever the compiler is not Clang and the
target is not 32-bit ARM, which leaves 32-bit x86 without a type, and its
pair atomics then need the same unreachable stub that 32-bit ARM already
uses.

The remaining four are RISCV64. The offlineasm backend cannot lower a call
to a local label, nor a floating-point branch to a global label, both of
which the LLInt asm emits. B3 declares u64 inside the ARM64 and X86_64
arms of isValidFPImm64Form and reads it after the #endif, which no other
architecture compiles. The MacroAssembler is missing the
store64(TrustedImm32, BaseIndex) and immediate-valued moveConditionally32
forms that DFGSpeculativeJIT calls.

Add test-version.sh: nothing the packages install reports the version, so
the generic test cannot probe for it. The helper processes take no
arguments and print nothing, WPEWebDriver has no --version, and the .pc
file that carries the version belongs to Build/InstallDev.

Regenerate the whole series with git format-patch so every patch carries
a git-am header and a description, refresh it for the new line numbers,
and correct two descriptions that referred to WebKitGTK.

Link: https://wpewebkit.org/release/wpewebkit-2.54.0.html

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