[H700] Improve display rotation handling and aspect ratio for HDMI and internal display outputs#482
Open
fedekrum wants to merge 1 commit intoknulli-cfw:knulli-mainfrom
Open
Conversation
…tputs This commit improves the experience of using vertical (portrait) monitors via HDMI on Allwinner H700 based devices (RG40XX, RG35XX, etc.) and adds support for independent rotation settings between internal and external displays. Key Improvements: 1. Aspect Ratio Correction: Automatically reports an inverted resolution (e.g., 720x1280 instead of 1280x720) when rotation is set to 90 or 270 degrees. This ensures that EmulationStation and the UI render with correct proportions without image stretching. 2. Context-Aware Rotation: Implements persistence for rotation settings per output. The script automatically synchronizes the system's rotation setting based on whether HDMI is connected or if the internal panel is being used. 3. Software Rotation Fallback: Forces software rotation (via EmulationStation's --screenrotate) in vertical modes. This bypasses hardware rotation limitations on the H700 chip that often cause artifacts or incorrect scaling on digital outputs. 4. Backward Compatibility: Maintains existing logic for other boards (like RG28XX) and ensures zero impact on performance or behavior for standard horizontal orientations. Technical Details: - Modified 'currentResolution' to conditionally swap dimensions based on the effective rotation value. - Added 'sync_rotation_per_output' to manage 'display.rotate.hdmi' and 'display.rotate.internal' configuration keys. - Fully compatible with the existing Knulli system settings UI.
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.
This commit improves the experience of using vertical (portrait) monitors via HDMI on Allwinner H700 based devices (RG40XX, RG35XX, etc.) and adds support for independent rotation settings between internal and external displays.
Key Improvements:
Technical Details: