Can't get 4k@60 FPS over HDMI 2.0
Your system information
- Steam client version: 1759461205
- SteamOS version: 3.7.15
- APU: AMD Ryzen Z1 Extreme
- Opted into Steam client beta?: No
- Opted into SteamOS beta?: No
- Have you checked for updates in Settings > System?: Yes
Please describe your issue in as much detail as possible:
Steps for reproducing this issue:
- Connect an HDMI 2.1 cable to a 3840×2160@120 TV using an HDMI 2.0 dock
- Go into the Settings > Display
- Set your TV resolution to 3840×2160@60
Expected results
The TV runs at 60 FPS with 4k resolution.
Actual results
The TV stops updating (but you can hear the UI making noises when you navigate) until the "revert" timer goes off.
Additional information
This works fine in Windows.
I used AI to investigate and discovered that 4k@60 needs a reduced color space to be sent over HDMI 2.0. Windows uses YCbCr422 for this. AI told me that I could achieve this in SteamOS by adding this addendum:
video=DisplayPort-*:force422
to /efi/EFI/steamos/grub.cfg.
I confirmed with dmesg | grep that it was passed to the kernel, but I still can't achieve more than 30 FPS.
Looks like Copilot/Claude told me it was searching the AMDGPU codebase and may have just hallucinated that API. 🤦
Here's a kernel patch that's looking to make this settable:
https://lore.kernel.org/all/TY4PR01MB14432B688209B2AA416A95228983EA@TY4PR01MB14432.jpnprd01.prod.outlook.com/#r
4k@60 needs a reduced color space to be sent over HDMI 2.0
Mhh no, that's HDMI 1.4 if any. Unless you are talking about 4k@60 with 10-bit color depth. But given 8-bit has dithering, I'd rather renounce to the higher color depth than the higher chroma subsampling. (though the best of both world would be just creating a custom resolution at 55-56Hz and calling it a day)
All I care about for this issue is 4k @ 60 FPS, which Windows achieves and SteamOS does not, on the same hardware.
I ended up buying an HDMI 2.1 dock, because I didn't want to wait for this patch to land.
https://gitlab.freedesktop.org/drm/amd/-/issues/4658