EDIT: Something seems to have changed and Iām struggling to figure out what, but HDR has broken again. Iām not sure if it was a system update or not but I no longer see HDR in the display configuration, and running games like Baldurās Gate 3 or Tiny Tinaās Wonderlands results in washed-out colors when HDR is enabled in them. I will update here if I figure it out.
For those of you like me who are fed up with Microsoftās BS but invested too heavily in hardware that Linux distros have yet to support well, I finally figured out a way to get HDR games to run well on my Nvidia GPU. This will be a brief description of more or less what I did to get this working. Iām very much a Linux noob so I donāt fully understand the way everything here works but Iām happy to try to answer questions if you have any.
OS: Bazzite āDesktop Nvidia KDE edition (BDNK) Bazzite was developed as a capable alternative to SteamOS on handhelds like the Steam Deck and ROG Ally, so the website is full of references to HDR, however from my attempts to get this working my understanding is that itās easier to get that working in Gaming mode which is unsupported on Nvidia GPUs. Nevertheless, this version of Bazzite, while only for desktops, comes with KDE Plasma v6 installed by default meaning it technically supports HDR and you will likely see a difference if you install this version and flip the HDR switch from the display settings. I had tried installing Ubuntu on my desktop before and since it didnāt support HDR all the colors on my monitor were almost obnoxiously saturated; I see the same effect in BDNK when I disable HDR.
Drivers: I didnāt fiddle with my drivers. BDNK comes with up-to-date Nvidia drivers bundled and installs them when you install the OS.
Software: SteamTinkerLaunch (installed using ProtonUp-Qt) SteamTinkerLaunch (STL) is a user interface for making it easy to configure your launch options for any given game in your Steam library. If you donāt know what a compatibility tool is, itās functionally a layer of software between the game you want to play and the OS youāre using which can tell the game to do certain things that your OS is not configured to do. STL can be added to the list of compatibility tools you have to use in your installation of Steam, though it is not technically a compatibility tool itself. STL is used to configure other compatibility tools that Steam already has at its disposal, like Proton which is the primary compatibility tool SteamOS uses to make Windows games run on Linux.
Follow the instructions in the SteamTinkerLaunch GitHub ReadMe to install the tool and add it as a compatibility tool in your installation of Steam. Once youāve done that, I recommend rebooting. I have yet to get STL working as the * default * compatibility tool, so for the time being I have been manually editing the properties of each game I have installed (Steam Game Library > right click on a game > click properties > go to the compatibility tab) to set the compatibility tool to STL. From here, whenever you launch the game in Steam, it should bring up STLās menu before launching the game.
Within STL, the key settings to mark are as follows: Gamescope: Use gamescope and mark HDR as enabled for gamescope. I also recommend setting gamescope to fullscreen with your desired resolution, and then also locking your cursor to the gamescope window so that you donāt end up with weird double mouse cursors that arenāt aligned on the screen. Proton: since you told Steam to use STL instead of Proton as the compatibility tool, you need to tell STL to tell Steam to launch the game with Proton.
And thatās pretty much it. Or at least, thatās all that I did. From there, you should be able to configure HDR settings within each gameās menus.
TL;DR ā install Bazzite Desktop Nvidia KDE, then install and configure SteamTinkerLaunch for your games.
What games will this work with? No idea. So far I have tested it with Cyberpunk 2077, DOOM Eternal, and Elden Ring and HDR is looking to me as good as it does in my Windows installation.
Will the Gnome version of Bazzite work for HDR on an Nvidia GPU, or for that matter any other OS as long as Iām using gamescope to run the game with HDR enabled? Good question! I donāt know, please give it a try if youāre curious and respond back with your results.
I have another question that you didnāt list here, whatās your answer? Probably āI donāt knowā since what I wrote here is more or less what I know, but by all means ask away and Iāll try to answer it!
Are you using a DP -> HDMI converter? I know they can be temperamental.
You can try switching VTs back and forth (CTRL-ALT-F1 <-> CTRL-ALT-F7), and maybe switching resolution back and forth could help.
Make sure you have the latest kernel and try the latest Plasma 6. If all of that fails, you can try Steam with gamescope running in KMS mode (easiest way to test this would probably be Bazzite or Nobara if your distribution doesnāt support it), but itās also a bit temperamental with enabling HDR.
Appreciate the response!
Nope, those converters do not allow the HDMI 2.1 spec.
Iām running 6.10.x kernel on plasma 6.1.4. Iāve been bleeding edge because of the NVIDIA card for years now. Iāve been played with gamescope HDR, ICC profiles and everything you can think of since it was first possible.
Iāll have to play with it some more when I have time.
They exist now, although I donāt think there is a working DP 2.0 -> HDMI 2.1 converter yet, so you have to use DSC (visually lossless compression).
Okay. So itās working. And probably has been working. Iāve been trying to test it with video all this time. VLC and MPV. I decided to setup HDR with Hell Divers and itās working.
If you want to use with mpv, try this:
ENABLE_HDR_WSI=1 mpv --vo=gpu-next --target-colorspace-hint --gpu-api=vulkan --gpu-context=waylandvk
Although Iām surprised you didnāt get a HDR monitor prompt just from enabling the option on the desktop.
I was finally able to fix the washed out issue when enabling HDR.
Turns out my TV has known HDR issues with devices like the AppleTV Apple Discussion I reset the picture to default. Opened the picture menu where it displays the signal. Enabled HDR on the Display Configuration and this time instead of washed out, it was an actual proper HDR desktop.
THANK YOU. I added the options to my ~/.config/mpv/mpv.conf and everything is working. For some reason I was running with
vo=gpu
instead ofvo=gpu-next
. I really appreciate the discussion, it seems I didnāt quite understand how the HDR implementation works and was looking at it the wrong way. It makes sense now. I was way overthinking it.