HDR monitor support

From ArchWiki
(Redirected from HDR video playback)

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.

HDR video support

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

HDR gaming support

Requirements

  1. Use an 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 8.0, Experimental, or Proton GE version 44 and higher. All come packaged with sufficient DXVK and VKD3D versions.
  6. Use a linux kernel with Josh Ashton Kernel Patches
  7. Steam
  8. A game that supports HDR

Gamescope Session Configuration

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. Following these steps will allow you to try out Valve's Steam client running through the HDR capable gamescope.

  1. Install gamescope
  2. Install gamescope-session-steam-gitAUR
  3. You may create the optional config file ~/.config/environment.d/gamescope-session.conf with the below content
  4. 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.
if [ "$XDG_SESSION_DESKTOP" = "gamescope" ] ; then
    SCREEN_WIDTH=1920
    SCREEN_HEIGHT=1080
    CONNECTOR=*,eDP-1
    
    CLIENTCMD="steam -gamepadui -steamos3 -steampal -steamdeck -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"
fi

Start gamescope-session

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

Via a login manager

Log out and select the Steam Big Picture in your login manager and log in.

From the command line

  1. Go to a new tty by pressing Ctrl+Alt+F2
  2. Log in and run gamescope-session-plus steam to start the standalone steam session in HDR.
    • If networking does not work you can fix it by installing and enabling NetworkManager.

Configure Steam

  1. In the general settings, under Display, you should now see HDR settings. Enable HDR and Experimental HDR Support.
  2. Select an HDR compatible game and click on the cog next to it
  3. Set Compatibility to Force Proton 8.0 or Proton Experimental
  4. Set Game Resolution to match your monitor otherwise it will launch at Steam Deck native resolution
  5. Click Play to start the game. Check the in-game settings to see if the HDR setting is available and enable it
  6. To switch back to your normal session, select Power and Switch to desktop mode from the Steam menu

References