Daniel Golle 74c76563c7 plymouth-plugin-ucode: hand the display over and back
A splash shown by the plugin held the display until something told
plymouthd to let go, gave a waiting display client no way to know when
that happened, and crashed or lost its ubus link on changes of mode.

In boot-up mode, open the input event nodes present when the splash
starts and those procd announces later, and on the first key, button
or touch press send plymouthd the deactivate request over its own
socket. procd replaces /dev with a fresh tmpfs after preinit, where the
splash starts, so the nodes it creates cannot be watched for; its
hotplug.d scripts run for every input device once the node exists,
coldplugged ones included, and the one shipped here hands the node to
the plugin as a plymouth status update.

Publish a plymouth object whose status method reports whether the
splash holds the display, and hand procd a plymouth.release event
whenever it lets go, without waiting for the reply, so a service can
wait for it with a trigger; procd runs triggers for events it is
handed, not for broadcasts. Stop the frame timer on the way to idle
and start it again when plymouth redraws the splash after
reactivating, and drop the unused progress callback.

Clear the ucode VM after freeing it, as uc_vm_init() leaves
vm->registry pointing at the freed registry. Remove the object before
freeing the connection. Drop a connection whose ubusd went away from a
disconnect handler, since plymouth's event loop frees the watch
itself, keep the inotify wait on the ubus socket directory armed so a
restarted ubusd is picked up, and clear the ids libubus caches from
the previous ubusd before registering again.

Keep the splash up through sysupgrade: in stage2, copy plymouth's
files, plugins and ucode modules into the ramfs, take the display back
with plymouth-evict and switch to system-upgrade mode; in do_stage2,
start plymouthd from the ramfs. Schedule frames against a deadline
advancing by one interval, so a theme keeps its frame rate under load.

Fixes: 9ef83aa136 ("plymouth-plugin-ucode: add a scripted splash plugin for ucode")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-11 18:23:56 +01:00
2015-06-10 11:16:53 +02:00

Video packages feed

Description

This is an OpenWrt package feed containing video / graphics (as in 'higher than just curses') related libraries and applications which are not considered to be so called "core" packages.

Usage

To use these packages, add the following line to the feeds.conf in the OpenWrt buildroot:

src-git video https://github.com/openwrt/video.git

This feed should be included and enabled by default in the OpenWrt buildroot. To install all its package definitions, run:

./scripts/feeds update video
./scripts/feeds install -a -p video

The video packages should now appear in menuconfig in section 'Video'.

S
Description
No description provided
Readme
2.2 MiB
0 Stars 1 Watchers 0 Forks
Languages
Makefile 52.9%
C 34.8%
UnrealScript 9.6%
Shell 2.7%