State of HDR on Linux early 2024 (previously late 2020, early 2021, mid 2022, early 2023)

Hey Guys! - Creating this thread to serve as an easily indexable search engine thread; as of now it’s a huge pain to determine the state of HDR.

Rather simple question: as of October 2020, what is the state of HDR support, in all of its flavours, on various distributions and on various hardware?

I’ll be updating this thread to included information from the comments below. If the configuration is not mentioned- it’s either not supported or support is unknown. I’m hopping to keep this updated as more information comes in.

in terms of other information, all 3 manufacturers have discussed HDR support to a certain extent.

Kernel 5.3 added HDR metadata to the amdgpu driver

Kernel 5.12 implemented near complete support for intel Gen9 HDR, but testing will have to be done once the 5.12 cycle completes

Nvidia seems to have some OS level support on kernel 5.8+ on their jetson series of SOM’s and SOC’s, but this has yet to be confirmed
Known supported platforms:
[0]
Known temperamental platforms:

Known experimental platforms:
[Intel gen 9]

1 Like

You ain’t getting HDR if you’re using Xorg in a desktop environment. Using 10bit color screws up many Xorg applications.

Wayland is far from finished on this front too.

Nvidia is using a weird Wayland compatibility layer which might complicate things.

Only true HDR pixel pipeline on Linux that I know of is the Google Proprietary frameserver for Stadia.

4 Likes

Since that stack is running on AMD graphics in a linux environment (granted a very custom, very proprietary one), I’d assume at least some of the stack must have been co-developed with amd- meaning that there must have been some work that was ported into their drivers.

Would also explain why the 5.3 HDR kernel extensions came out in lockstep with the stadia launch

1 Like

I don’t think it’s the drivers that are the problem, I think it’s more likely that it’s wayland + desktop environments + gui toolkits that need to come together.

I’m basing that on:

… Also, having seen: https://youtu.be/qls-E-3OC8s , some Linux apps and toolkits might be ready before kwin or whatever its gnome equivalent are ready.


I wouldn’t put too much thought into Stadia as it relates to Linux desktop graphics; everything in that stack incl both firmware and silicon on gpu/cpu/motherboards/network cards… while based on retail hardware and opensource software is heavily tweaked and customized.

1 Like

Perhaps not quite what you’re looking for but Looking Glass master now has RGB16 support for the windows host, Linux client, and obs client. Reportedly it works fine however the GPU is very likely converting it to standard BGRA 8-bit.

2 Likes

Do you think it might be possible to backport the chromeOS/chromium OS HDR stack into other window managers? if so, that might make this doable in the foreseeable future.

That’s really interesting- That would mean that we would render/decode in the windows guest, the pass that through to the display directly? Somehow telling the linux host not to touch the signal?

Not sure how that would work with HDCP (would probably be a mess, but it would be a start)

First update in a while after a new round of digging!

Intel has staged commits for the 5.12 kernel cycle to support HDR on intel gen 9 platforms. HDR on DP 1.3 should be supported on all gen 9 systems and HDMI will work when paired with certain common components on the motherboard.

this is a continuation of patches originally sent in for kernel 5.3. source: Intel Submits Initial Batch Of Graphics Driver Updates Slated For Linux 5.12 - Phoronix

Other change I’ve found while working on my Building a 10-100w distributed arm based transcode cluster : I missed Devember -> Jobless January -> Floundering February? project is that Nvidia has added support for HDR metadata transmission, polling among other features on their Jetson familly of SOM and SOC systems.

Specifically I found this in their DRM renderer api under NvDrmRenderer.
The documentation can be found here: Jetson Linux API Reference: NvDrmRenderer Class Reference

Worth mentioning that this inst especially surprising since the Nvidia shield boxes are running very similar hardware to certain jetson SKU’s

4 Likes

Hi! First ever comment!

So, if I’m reading @Camofelix correctly, it sounds like I may be out of luck on HDR for the time being, given that both my desktop and laptop are currently on the Linux 5.11.xx kernel and are based around various 7th gen Intel CPUs?

The more time passes, the more of an “HDR junkie” I become. And my TV (turned computer monitor) DOES support native HDR10. I can get HDR in Windows 10, but I much prefer Linux and prefer to spend most of my time there. Yet, I would love to have HDR here in Linux. However, I’m also using X11 so that I can use things like ForceBlur, and from what I’ve gleaned from other comments, X11 will be a barrier here?

What are my chances of HDR here, do you think? :slight_smile:

Thanks so much, everyone!

Cheers!

HDR should appear on Wayland eventually. The issue is getting software on linux to take advantage of it. I doubt any games will benefit from having it enabled. And I do not know if proton or wine will support it.

Hmm. The absence of Proton and Wine support would be really disappointing. I haven’t really gotten deep into gaming on Linux yet, but I know I’ve sure taken advantage of HDR in gaming on Windows as well as on PS4 Pro, XB1X and XBSX.

Of course I’d love HDR in the standard desktop environment as well, but the games and streaming content etc is where the REAL draw would be. Hopefully HDR support will come to those things soon.

Also, I couldn’t help but notice that you specifically mentioned Wayland for HDR. If I’m committed for the time-being to Xorg for things like Force-Blur, does that mean I’m just outta luck on HDR?

HDR from a game perspective is very easy to take advantage of, just the colorspace change (literally just select RGB10/RGB24 over RGB8). To be able to take the best advantage of it the assets also should be HDR, but since it’s mostly accurate lighting that helps here it’s not hugely important.

Once it becomes common place on the Linux desktop we should see it everywhere rather rapidly. Even Looking Glass already has support for it when it becomes available.

1 Like

Somewhere that would be really nice to see it applied would be for productivity sweet, things like Davinci Resolve, or otherwise being able to correctly display HDR files without tonemapping when sending them to the display in ffplay/VLC etc.

AutoHDR is something any game or video could benefit from btw. But that is a windows11 feature, not sure if it will ever make its way to Linux.

The main problem is there is no HDR metadata passthrough for any of the window managers right now, only by bypassing a window manager can you change randr to a HDR metadata capable format, and that’s only if you ditch X11 and Wayland completely.

Yes, it exists on Linux on a whole bunch of Broadcom based STBs for Verizon and etc, but no window manager or renderer supports it yet. Not to mention how to deal with 24bit to 30bit app compatibility. X11 will never get around that.

That seems to be mostly because the people who “own” it want to see it deprecated.

I’m wondering if gamescope would allow it as it kinda of bypasses the WM.

1 Like

Wow. So they’ve lost faith in their own work. Yeah, it’s a definite NEVER in that case.

As far as I know Wayland is made by the X11 Team that decided to make something entirely new.

X11 and Wayland handle things very differently, its not just a, oh we are sick of X11 lets make something new.

Wayland is a Userspace window management system where as X11 is a admin root service. Instantly this should tell you a bit about the security issues with X11; also the implications of introducing certain features that Windows10 and 11 users may enjoy.

Wayland Userspace should allow for better introduction of these HDR and other features like AutoHDR etc…

I won’t be touching Wayland atm until they mainstream proper display gamma controls. Could be a while since apparently I’m the only person who uses gamma controls to control monitor brightness&contrast. (my monitors don’t do it correctly).