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:
- Required Open up "About this system" and make sure you are running Plasma 6 with wayland.
- 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.
- 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.
- Optional Install
mpv
if you want to watch HDR videos.
- Optional Install
gamescope
if you want to play HDR games. This is not required for anyone only interested in HDR videos.
- 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.