Add a PLYMOUTH place to rotate-screen for the DRM panel orientation - #91
Merged
Conversation
Plymouth's DRM renderer ignores fbcon=rotate: entirely - that only affects the legacy fbcon text console. It reads the kernel's DRM panel orientation instead, set via video=<connector>:panel_orientation=<value> on the kernel command line - a mechanism none of the other four places (FBCON/XORG/CMDLINE/ WESTON) touch. Fills in the ROT_PLYMOUTH variable that was already sitting there unused in each rotation case, adds update_plymouth() (mirrors update_cmdline()'s mount/sed/umount pattern against armbianEnv.txt), and wires PLYMOUTH into the PLACES array and dispatch. server.go now calls cmdRotateScreen(..., "PLYMOUTH") alongside the existing CMDLINE/ XORG/WESTON calls in runInstallFinishedCommands. Only 0->normal and 270->left_side_up are empirically confirmed on real hardware. 90->right_side_up and 180->upside_down are inferred by elimination from the four DRM panel-orientation values and flagged as such in comments - worth validating before fully trusting those two. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Problem
Companion fix to Rebuild#70 (installing Plymouth for a real boot splash). The splash showed up, but wasn't rotated - Plymouth's DRM renderer ignores
fbcon=rotate:entirely, since that only affects the legacy fbcon text console.Fix
Plymouth reads the kernel's DRM panel orientation instead, set via
video=<connector>:panel_orientation=<value>on the kernel command line - a mechanism none of the other fourrotate-screenplaces (FBCON/XORG/CMDLINE/WESTON) touch.ROT_PLYMOUTHvariable that was already sitting there unused in each rotation case.update_plymouth(), mirroringupdate_cmdline()'s mount/sed/umount pattern againstarmbianEnv.txt.PLYMOUTHinto thePLACESarray and dispatch.server.gonow callscmdRotateScreen(..., "PLYMOUTH")alongside the existingCMDLINE/XORG/WESTONcalls inrunInstallFinishedCommands.Caveat: only
0->normaland270->left_side_upare empirically confirmed on real hardware.90->right_side_upand180->upside_downare inferred by elimination from the four DRM panel-orientation values and flagged as such in comments - worth validating on hardware before fully trusting those two.Test plan
rotate-screen 270 PLYMOUTH), confirmed it correctly writes/updatesvideo=HDMI-A-1:panel_orientation=left_side_upgo buildpasses with theserver.gochangeNote:
go test ./...currently fails on a pre-existing, unrelated crash inTestHandleSerialCommand- confirmed present on cleanmainbefore this change, not something introduced here.🤖 Generated with Claude Code