Conversation
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.
Summary
On the HONOR MagicBook Pro 14, the uncompressed eDP link search selects 6 bpc with dithering at 3120×2080 @ 120 Hz, even though the panel supports DSC. Because the uncompressed configuration succeeds, the driver never tries DSC.
This patch tries DSC when a valid uncompressed eDP configuration falls below 8 bpc and below the permitted input depth. On the tested machine, it produces 8 bpc with DSC and no dithering at the same resolution and refresh rate.
This may also benefit other DSC-capable eDP panels where link bandwidth limitations cause the uncompressed configuration to fall below 8 bpc. Hardware validation so far covers the HONOR MagicBook Pro 14.
Changes
linux-omarchyandlinux-omarchy-bore, bumppkgrelto 5, and add SHA-256 and BLAKE2 checksums.compression_enabled_on_link, whichintel_dp_dsc_reset_config()does not clear.Validation
linux-omarchy 7.2.5-3using a rebuilt xe module: normal boot, 3120×2080 @ 120 Hz, 24 bpp, DSC enabled, and dithering disabled. Initial external-display hotplug also worked. The submitted revision preserves the tested executable logic.7.2.5-4kernel recipes.bash -n, andmakepkg --printsrcinfochecks pass for both recipes.checkpatch.pl: zero errors and zero warnings;git diff --checkpasses.Reproduce the policy tests
The regression harness and run instructions are included in this PR. After preparing a kernel source tree with this patch applied, run from the repository root:
The runner extracts the actual policy function, compiles it with stubbed hardware helpers, and runs ten named cases. A negative control checks that reset-only rollback fails specifically at the late-dotclock
compression_enabled_on_linkassertion. Both prepared base and BORE display sources pass these checks. The script does not modify the source tree or install anything.Attribution and packaging
Adapted from Ruslan Shevchenko’s original eDP DSC patch. The DSC preference and requested-depth restoration come from that work. My subsequent changes complete failure-state restoration, adapt the patch to Omarchy, shorten comments, and integrate the package recipes.
The original authorship, sign-off, copyright, and MIT license text are retained. The original sign-off does not imply approval of these adaptations.