Make Intel GPUs choose YCbCr420 encoding automatically when required for 4k 60Hz output
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Incomplete
|
Undecided
|
Unassigned | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU Justification:
Impact:
On some setups, while the monitor and the GPU support display modes with pixel clocks of up to 600MHz, the connector might not. This prevents RGB encoding for 4k60Hz, but YCbCr420 encoding might still be possible. However, which color mode is used is decided before the pixel clock capabilities are checked, causing the check to fail and discarding 4k60Hz from the list of possible display modes.
Fix:
This patch fixes the problem by retrying to find a display mode with YCbCr420 enforced and using it, if it is valid. It's very similar to a patch submitted to amdgpu which fixed the same problem.
Testcase:
I personally tested on a Clevo NV40MB, but generally: Find a PC with a current Intel iGPU, but only a HDMI 1.4 output. Connect a 4k@60Hz display supporting YCbCr420 encoding to the HDMI port. Without the patch the maximum that can be set via xrandr is 3840 × 2160 30Hz. With the Patch 3840 × 2160 60Hz can be selected which will use YCbCr420 automatically.
Prerequisite (included in this email patchset as 1/4):
https:/
Patchset already got accepted upstream and reached the torvalds tree:
https:/
https:/
https:/
and needs only a minor modifications to apply to ubuntu-
Commit-hashes:
3c4442aa2287809
eacba74d4d561ea
84d95f77f4aea3f
388b863509f76f6
CVE References
Changed in linux (Ubuntu Hirsute): | |
status: | New → In Progress |
Changed in linux (Ubuntu Groovy): | |
status: | New → In Progress |
Changed in linux (Ubuntu Hirsute): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-hirsute removed: verification-needed-hirsute |
I'm currently resolving the minor merge conflict with ubuntu-5.8 kernel and then test it