Conversation
The package builds xkeyboard-config-2.pc and a compatibility symlink to it, but installs neither into the staging directory, so anything asking pkg-config for xkeyboard-config fails to configure. plymouth does, for the xkb_base path. Install both names; the symlink alone leaves a dangling link. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Plymouth draws a boot splash straight onto a DRM device and owns the display until whatever follows it takes over, so the console stays silent from reset onwards. Package it with an OpenWrt theme drawn by the script splash plugin. It is built without the framebuffer backend, without systemd and upstart integration, and without gtk, pango and freetype, so the splash needs only libpng and libdrm at runtime. Two local patches let it build against musl, which has neither rpmatch() nor execinfo.h. A third holds DRM master across the connector probe, without which the kernel returns the cached connection status and plymouth can light a display only after some other client has probed it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plymouth draws a boot splash straight onto a DRM device and holds the display until whatever follows it takes over, so nothing of the boot is visible between reset and the user interface. On a board with no framebuffer console that is the only way to put anything on screen early. Packaged here with an OpenWrt theme drawn by the script splash plugin, which ships with plymouth itself and needs no extra dependency.
Built without the framebuffer backend, without systemd and upstart integration, and without gtk, pango and freetype, so the runtime needs only libpng and libdrm. Tracing is compiled in only for a debug build.
Three patches are carried. Two are build fixes for musl, which has neither
rpmatch()norexecinfo.h. The third is a real bug: the DRM renderer drops master immediately after opening the device and takes it back only when the splash is activated, so every connector probe runs as a client that is not DRM master. The kernel declines a forced probe from such a client and returns the cached connection status instead, which on a connector nothing has probed yet isunknown. No output counts as connected, no controller is assigned, and the renderer gives up withCould not initialize heads. Plymouth could therefore light a display only after some other client had already probed it, which on a system with fbdev emulation disabled never happens. Holding master across the enumeration fixes it; verified on an rk3588 board with no other DRM client running, where the HDMI connector goes fromunknownto connected at 1920x1080 and the sink wakes from low power. That patch has been submitted upstream.The
xkeyboard-configcommit is a prerequisite: plymouth'smeson.builddoesdependency('xkeyboard-config'), which cannot resolve unless the package stages its pkg-config file.Build tested for rockchip/armv8 (aarch64, musl) and run tested on a Radxa ROCK 5B.