CML-U: external 5120x2160 monitor can't play video
I'm working on a "hatch/jinlon" Chromebook which is a Cometlake-U device, and have encountered an issue where videos cannot play on an external widescreen monitor at 5120x1440 resolution. The video tries to play, but turns into a bunch of lines on the bottom half of the screen, as you can see in the attached video: PXL_20230410_221807023.TS This happens with both downloaded mp4s and Youtube.
The monitor is attached to my Chromebook using this DisplayPort adapter and a DisplayPort cable:
And here is the monitor I'm using:
https://www.amazon.com/LG-BP95C-W-Curved-UltraWide-Display/dp/B0B1NRCJK7?th=1
This first appeared when we upgraded the kernel on these Chromebooks from v4.19 to v5.15. I've been able to reproduce this issue as far back as the Chromeos v5.4 kernel, and I can reproduce it with the latest upstream v6.3-rc6 without any additional ChromeOS patches to the graphics stack, so I'm pretty sure it's an upstream regression.
I've attached a dmesg from a reproduction with v6.3-rc6 + one patch which adds ChromeOS kernel config scripts etc. which are necessary for our build environment: dmesg
Here is the kernel config I was using for that run: hatch-config
Other interesting notes:
- Video plays fine at lower resolutions, for example 3440x1440.
- If the video is partially occluded this can affect or resolve the playback corruption. See attached video PXL_20230411_161206635.TS
Please let me know if you need any additional debug, and I'm happy to test out potential fixes.