HDR monitor support

From ArchWiki

This page will serve as a guide to the current state of HDR monitor support on Linux. To better understand the challenges involved you can watch the video in this article [1].

HDR video support

HDR support on Linux is not implemented yet in the display servers, though it is being worked on:

HDR gaming support

Since currently neither Wayland nor X11 offer an API that fully supports HDR, your games also will not be able to display correct HDR content on them. Valve's Steam compositor gamescope does offer experimental HDR support. To try out Valve's Steam client running through the HDR capable gamescope do [2]:

  1. use a HDR capable display
  2. use an AMD GPU. HDR is currently only supported on AMDGPU.
  3. use DXVK version 2.1 or later
  4. use VKD3D-Proton version 2.8 or later
  5. use either proton experimental or proton GE version 44 and higher. Both come packaged with sufficient DXVK and VKD3D versions.
  6. open your steam library, filter for tools and right click on steam linux runtime soldier open it's properties and click on BETAS, choose "client_beta"
  7. use a linux kernel with Josh Ashton Kernel Patches, linux-fsync-nobara-binAUR contains these patches, but you may also compile a kernel yourself Kernel/Traditional compilation
  8. install gamescope
  9. install gamescope-session-gitAUR
  10. Create ~/.config/environment.d/gamescope-session.conf
    • Update the resolution values to the correct ones. You can list your displays by running xrandr --query
    • You may need to set the Display connector if it doesn't pick the right one by default.
    • Additional information can be found at [3] and [4].
if [ "$XDG_SESSION_DESKTOP" = "gamescope" ] ; then
    SCREEN_WIDTH=1920
    SCREEN_HEIGHT=1080
    CONNECTOR=*,eDP-1
    
    STEAMCMD="steam -gamepadui -steamos3 -steampal -pipewire-dmabuf"
    GAMESCOPECMD="/usr/bin/gamescope --hdr-enabled --hdr-itm-enable \
    --hide-cursor-delay 3000 --fade-out-duration 200 --xwayland-count 2 \
    -W $SCREEN_WIDTH -H $SCREEN_HEIGHT -O $CONNECTOR"
    export ENABLE_GAMESCOPE_WSI=1 
    export DXVK_HDR=1
fi

How to use gamescope-session

You can now start gamescope from your login manager or a terminal.

  • Log out and select the Gamescope Session in your login manager.
  • Go to a new tty by pressing Ctrl+Alt+F2, log in and run gamescope-session to start the standalone steam session in HDR. If networking does not work you can fix it by installing and enabling NetworkManager.