Draft: CRT SwitchRes Linux EDID PoC #17197
Open
+39
−9
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.
Guidelines
Description
Extremely hacky PoC for using CRT CwitchRes to generate a single-use EDID and apply that EDID as root to a specific display. Very inelegant, some hardcoding going on, overwrites KMS and X11 modesetting with EDID overwrites (to test the PoC in multiple environments, such as KMS, Wayland, and X11)
Related Issues
Currently, RetroArch does not support CRT SwitchRes in Wayland environments and may or may not have support for DRM/KMS environments.
Currently RetroArch will set standard video modes in KMS but will not generate new modes, and switchres has WIP support for DRM/KMS modeswitching that relies on a kernel patch.
This commit does not require a kernel patch and will use an external switchres binary to generate a single-use EDID binary containing a single modeline (switchres does not support generating EDID binaries when running as a library from what I've seen).
Related Pull Requests
Potentially a future PR for switchres to add support for generating an edid in the API
Reviewers
@hunterk @antonioginer @alphanu1
I am expecting to have to completely delete this commit and redo it with a much cleaner strategy. Would appreciate comments.