While HDR support is still not really there yet on Linux, there's a lot of movement on it now (and plenty of it thanks to Valve and work on Gamescope) but it seems KDE KWin may gain early initial support for it.
Developer Xaver Hugl put in a Merge Request titled "Add support for playing HDR games" that notes "This uses a protocol that's cut down from the upstream proposal, so that we can merge it quickly and use it for more extensive testing, and for playing games, until the upstream protocol is merged".
Seems like a good idea to get an initial implementation in, so people can actually do some proper testing and gradually build up the support for it on Wayland. Since it's an open Merge Request, it's not yet officially part of KWin and likely needs more eyes on it to check it over but it does include instructions on how to test it for those of you who really want to get in early copied below:
To test this, install https://github.com/Zamundaaa/VK_hdr_layer/tree/work/frog-protocol and a git master build of gamescope. Then enable HDR on your monitor if you haven't already, for example like this
kscreen-doctor output.1.wcg.enable output.1.hdr.enable output.1.sdr-brightness.500
and then run gamescope with
ENABLE_HDR_WSI=1 gamescope --hdr-enabled --hdr-debug-force-output --steam -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 steam -bigpicture
Note that a bunch of games, like Doom Eternal, require an EDID to parse for HDR to work. That's not implemented yet outside of gamescope's embedded mode, so HDR will not work in these games yet until that's done. Cyberpunk 2077 for example does not need that though, so it can be played without issues:
Xaver Hugl
Gamescope still doesn't work properly with flatpak'ed steam though, does it?
. . . What's HDR?
Great!!!
. . . What's HDR?
The random graphical gimmick du jour. I believe it's meant to make things contrastier, which admittedly is a nice change from the brown-and-grey palette of yesteryear.
Last edited by Shmerl on 1 November 2023 at 5:30 pm UTC
Great!!!
. . . What's HDR?
Depending on display and the software used (since there are multiple standards) it raised the maximum luminance level from 100 nits up to 10,000 nits (with most HDR displays currently in the 1000 nits category). It also raised the bit depth of the colour values from 8-bits per channel to 10-bits per channel (some up to 16-bits per channel).
I'm confused, this needs gamescope to be used? What about non geamescope use cases?
I think the patch is in such early stage that it needs Gamescope right now for early adapters since the display server part of KWin isn't patched yet. So it is a way to do early tests of the protocol.
Last edited by F.Ultra on 1 November 2023 at 6:08 pm UTC
Great!!!In somewhat simplified terms and glossing over a lot of details:
. . . What's HDR?
SDR (Standard Dynamic Range), you can display a pixel on a screen but not how bright that pixel should be. You could increase the RGB values to make it brighter, but you would be modifying the color. You could increase the monitor's brightness, but now you're making every pixel brighter.
HDR (High Dynamic Range), you can display a pixel on a screen and decide how bright it should be independent of the color. There's metadata the monitor can communicate with software to tell it how bright individual pixels can be.
I think I understood that one!Great!!!In somewhat simplified terms and glossing over a lot of details:
. . . What's HDR?
SDR (Standard Dynamic Range), you can display a pixel on a screen but not how bright that pixel should be. You could increase the RGB values to make it brighter, but you would be modifying the color. You could increase the monitor's brightness, but now you're making every pixel brighter.
HDR (High Dynamic Range), you can display a pixel on a screen and decide how bright it should be independent of the color. There's metadata the monitor can communicate with software to tell it how bright individual pixels can be.
Thanks for simplifying and glossing over the details!
In short it's not about making things brighter selectively, it means larger color space.
Last edited by Shmerl on 1 November 2023 at 8:57 pm UTC
About HDR, see also: https://www.youtube.com/watch?v=nDnbWaIMJJAThat presentation looks like it's going to gloss over far too few details!
In short it's not about making things brighter selectively, it means larger color space.
About HDR, see also: https://www.youtube.com/watch?v=nDnbWaIMJJA
In short it's not about making things brighter selectively, it means larger color space.
Larger color space is just one of the extra, allowing a larger dynamic range between the darkest and brightest items on the screen is the major one.
Larger color space is just one of the extra, allowing a larger dynamic range between the darkest and brightest items on the screen is the major one.
Yeah, he mentions both.
About HDR, see also: https://www.youtube.com/watch?v=nDnbWaIMJJA
In short it's not about making things brighter selectively, it means larger color space.
Haven't seen the video, but this isn't strictly true, though commonly (read currently all consumer available content) HDR (high dynamic range) content is also in a wider gamut (technical term for larger color space), it isn't a requirement for being HDR, strictly speaking the only requirement is that either the blacks are blacker, or the whites are brighter, than non HDR display techniques for something to be HDR (which makes it really easy for oled displays to be HDR since the blacks are really black!). It is in essence quite possible to use the PQ.2020, or HLG transfer functions with the sRGB primaries (so more dynamic range, but not more colors, also the inverse is also possible rec.2020 primaries with the sRGB/gamma 2.2 transfer).
Another thing is that HDR strictly speaking is not about more contrast, but about being able to display closer to true blacks, and true specular highlights.
Anyway with all that out of the way, excited for these changes, because if done correctly also like well over half way to have better color management on wayland than X ever had (and ever will have)
it's going to gloss over far too few details!LOL!
https://xkcd.com/2163/
(see the alt text)
you know how on a color picker on any app the colors are described in RGB as a number between 0 and 256 for each of the three colors (Red, Green, Blue)?
imagine if instead you can use a number between 0 and 1024
then you know how a powerpoint slide that's painted full black (RGB: 0, 0, 0) is actually looking dark gray on your monitor or TV?
imagine if instead that shows as actual pitch black
good honest HDR monitors can handle those better details, if software learns how to ask nice (what this article is about)...
...though most "HDR" monitors will just say "sure!" when asked nice, and present the same dull shite color and brightness range as they always did when their previous incarnation wasn't called HDR yet
Last edited by Marlock on 1 November 2023 at 11:38 pm UTC
However thanks to all the devs, and to Joshie who had shown early demonstration last January on Death Stranding
These people truly are making linux catch up in most directions, that's insane
Edit: oh and if you wanna go over technical details, the 2 first conferences of this year's Xorg Developer Conference day 1 talk about this, it was held just a couple weeks back.
Joshua Ashton - Rainbow Frogs: HDR + Color Management in Gamescope/SteamOS
Melissa Wen - The rainbow treasure map: advanced color management on Linux with AMD/Steam Deck
Last edited by a0kami on 2 November 2023 at 12:32 am UTC
See more from me