HDR モニターのサポート
このページは、Linux における HDR モニターサポートの現状を紹介するガイドとなります。どのような課題があるのかをより理解するために、この記事の動画 [1] をご覧ください。
HDR ビデオのサポート
Linux での HDR サポートは、作業中ではありますが、ディスプレイサーバーにはまだ実装されていません。
- X.org (および Xorg クライアント): ディスプレイに HDR メタデータを渡すためのサポートはありません。https://gitlab.freedesktop.org/xorg/xserver/-/issues/1037#note_521100 を参照してください。
- Wayland (および Wayland クライアント): HDR メタデータをディスプレイに渡すためのサポートはありません。https://gitlab.freedesktop.org/wayland/weston/-/issues/467 と https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/14 を参照してください。
- DRM クライアントは HDR メタデータを直接渡すことができますが、これは通常のユーザースペースクライアントからは利用できず、専用のソフトウェアのみが利用可能です。https://gitlab.freedesktop.org/mesa/drm/-/blob/main/include/drm/drm_mode.h#L809
- System76 have announced their new Rust based Cosmic Desktop will have a brand new Wayland compositor (based on Smithay) which will include support for HDR as well as fractional scaling and HiDPI, see https://blog.system76.com/post/november-at-system76-products-promos--cosmic-de.
HDR gaming support
Since currently neither Wayland nor X11 offer an API that fully supports HDR, your games also wont be able to display correct HDR content on them. Valve's steam compositor gamescope does offer experimental HDR support. To try out valves steam client running trough the HDR capable gamescope do [2]:
- use a HDR capable display
- use an AMD GPU. HDR is currently only supported on AMDGPU.
- use DXVK version 2.1 or later
- use VKD3D-Proton version 2.8 or later
- use either proton experimental or proton GE version 44 and higher. Both come packaged with sufficient DXVK and VKD3D versions.
- install gamescope-gitAUR
- use a patched version of gamescope-session-gitAUR as described in [3]. The patch changes the configuration file
/usr/share/gamescope-session/gamescope-session-script
to include instructions for gamescope and dxvk to enable HDR. For DXVK it sets the environment variableDXVK_HDR=1
and to gamescope it passes the argument--hdr-enabled
. If you want to apply the changes in the config file manually replicate all the changes of the patch here. - 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"
- use a linux kernel with Josh Ashton Kernel Patches, see Kernel/Traditional compilation
Now you are all set up. Go into a new tty by pressing Ctrl+Alt+F2, log in and run
$ gamescope-session
to start the standalone steam session in HDR. If networking doesnt work you can fix it by installing and enabling NetworkManager.