I've received a few questions about how to use HDR on Plasma 6 so I thought I'd write up a quick guide on how myself and @JacekJagosz have been running various things in HDR mode. Note that HDR mode on Plasma 6 is EXPERIMENTAL and not supported by either Plasma or Solus devs. If it works for you, great, if not, oh well. With that caveat out of the way, here we go.

Things you need:

  • An AMD GPU or iGPU. Likely anything newer than 2018 should be compatible. Nvidia is supposed to work but we haven't had anybody have success with it unfortunately. Intel is not known to work at this time.
  • A HDR-compatible display (yes, HDR is a hardware-level feature that your monitor needs to explicitly support. You can't download HDR support for an incompatible monitor).
  • A Displayport (greater or equal to version 1.4) or HDMI connection with sufficient bandwidth. I'll leave what this means as an exercise for the reader but if it's a recent GPU, recent monitor, and not the cheapest display cable you could find and HDR works on Windows then it'll probably work.
  • Plasma 6 with WAYLAND session. Yes, this guide is explicitly for KDE Plasma and will not work on any other DE.

Steps:

  1. Required Open up "About this system" and make sure you are running Plasma 6 with wayland.
  2. Required Ensure that you are running linux-current version 6.6.26 or greater (the current stable version at the time of this writing). Even better, make sure you are running kernel 6.8 which will be available after the next sync. Due to the complexities of the various patches involved we're currently only testing HDR with linux-current, sorry linux-lts users.
  3. Required Install the kwin-vk-hdr-layer package. Note that this is not visible in the software center, you will need to install it from the command line. This is required for BOTH HDR videos and HDR games.
  4. Optional Install mpv if you want to watch HDR videos.
  5. Optional Install gamescope if you want to play HDR games. This is not required for anyone only interested in HDR videos.
  6. Required Open up the display configuration settings and enable HDR for your HDR monitor. If this checkbox is not visible double check that your monitor does indeed actually support HDR and that it supports it on the port you are using (some older monitors only support it on HDMI for example).

HDR Videos
Open up a terminal and navigate to the location of your HDR video. Run the following command:

ENABLE_HDR_WSI=1 mpv --vo=gpu-next --target-colorspace-hint --gpu-api=vulkan --gpu-context=waylandvk FILENAME

Replace FILENAME with the name of your video file. MPV should launch and hopefully you'll see your content displayed in HDR. This may or may not work with Dolby Vision content. I wasn't able to get a good result, my understanding is that proper display of Dolby Vision content is probably a ways away still. HDR10 content on the other hand looked fine to me.

HDR Games
This requires at least Proton 8. Running non-Steam games under Proton is left as an exercise for the reader.
There are two ways to do this. You need to run the game in gamescope, and you can either run only the game in gamescope and Steam normally or you can run Steam itself in gamescope and then the game itself will run nested. I prefer the former, but note that a few games will have issues with Steam input due to a gamescope bug. You can get them to work with nested gamescope instead.

Running the game itself:
Open up the properties for a game and use the following launch command:

ENABLE_HDR_WSI=1 gamescope --fullscreen -w DISPLAY_WIDTH -h DISPLAY_HEIGHT -r REFRESH_RATE --hdr-enabled --hdr-debug-force-output -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 %command%

Replace DISPLAY_WIDTH with your monitor width, and DISPLAY_HEIGHT with your monitor height (in pixels). Replace REFRESH_RATE with your display refresh rate. For example if your resolution is 2560x1440 and 144hz then you would have -w 2560 -h 1440 -r 144 in that part. If you want to run under gamemode you can insert gamemoderun right before %command%.
Launch the game. Hopefully it works and the game detects HDR compatibility.

Running steam nested:
From a command line run the following command:

ENABLE_HDR_WSI=1 gamescope --fullscreen -w DISPLAY_WIDTH -h DISPLAY_HEIGHT -r REFRESH_RATE --hdr-enabled --hdr-debug-force-output -- env ENABLE_GAMESCOPE_WSI=1 DXVK_HDR=1 DISABLE_HDR_WSI=1 steam -bigpicture

(see above for what to use for DISPLAY_WIDTH, DISPLAY_HEIGHT, and REFRESH_RATE).

Once you do this Steam should launch fullscreen, and once you launch a game it should launch nested. Hopefully HDR works.

That's pretty much it. If you have questions or issues ask below but I can't guarantee that we'll be able to help you.

    ReillyBrogan Just tried it out, with Forza Horizon 4. Worked! Not sure if there's a difference between HDR on and off though, but I feel like I'm more immersed. The colors might be a bit more realistic. Could just be my immagination tricking me though. But it works, which is nice!

      kaktuspalme Usually you'll notice HDR in that bright areas of the screen will be brighter and darker areas (shadows and whatnot) will have more nuance and depth. It really depends on your monitor how good this effect is though, many HDR monitors are only HDR400 which is barely HDR and is only slightly brighter than max brightness anyway.

      22 days later

      https://zamundaaa.github.io/wayland/2024/05/11/more-hdr-and-color.html

      Updated method for getting HDR in games there. You now can remove a bunch of the parts of the command and just run this instead:

      gamescope --fullscreen -w DISPLAY_WIDTH -h DISPLAY_HEIGHT -r REFRESH_RATE --hdr-enabled -- %command%
        2 months later

        ReillyBrogan I always stuck in the main menu of the game (Elden Ring) if I do it in native Steam client.
        I have to do gamescope --hdr-enabled -e -- steam to run steam in gamescope and then run gamescope --fullscreen -w DISPLAY_WIDTH -h DISPLAY_HEIGHT -r REFRESH_RATE --hdr-enabled -- %command% for the game to make it work.

        I use Arch Linux with AMD Ryzen 3700X and AMD 6750XT.

          laichiaheng Solus doesn't have AMDVLK though.

          I think you're a bit lost friend, this is the forum for Solus which is a completely different Linux distribution from Arch Linux.

            JTCPingas Nah, the simplest explanation is that they googled Plasma HDR or something and my guide popped up. TBF I did write a good guide on how to enable HDR so that's reasonable.

            @laichiaheng Unfortunately I don't have any Arch systems and I don't really care to support bugs/issues that aren't reproducible on Solus.

              ReillyBrogan Nah, the simplest explanation is that they googled Plasma HDR

              Occam's Razor wins every time, for me..