HDR モニターのサポート
このページは、Linux における HDR モニターサポートの現状を紹介するガイドとなります。どのような課題があるのかをより理解するために、この記事の動画をご覧ください。
HDR のサポートはまだ Wayland にマージされておらず、そのため、ほとんどのディスプレイサーバーにもまだ実装されていません。
X.org は HDR をサポートする予定はありません[1]。
現在の進捗状況は以下の通り:
- KDE Plasma 6.0 では Wayland セッションに対する実験的な HDR サポートが導入されました。HDR を使用するために必要な起動オプションについては KDE#HDR を参照してください。
- Wayland (および Wayland クライアント): HDR メタデータをディスプレイに渡すためのサポートはありません。https://gitlab.freedesktop.org/wayland/weston/-/issues/467 と https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/14 を参照してください。
- DRM クライアントは HDR メタデータを直接渡すことができますが、これは通常のユーザースペースクライアントからは利用できず、専用のソフトウェアのみが利用可能です。
- COSMIC 開発者たちは、初の安定版リリースで HDR サポートを提供することを約束しました。
- Hyprland は、wlroots にマージされた時に HDR をサポートする可能性が高いです [2]。
- Wlroots、"HDR シグナリングを追加" の MR。
- GNOME は HDR サポートが進行中です [3]
目次
必要条件
- HDR対応ディスプレイ。
- HDR対応グラフィックドライバー: AMDGPU および NVIDIA (550.54.14 以上) が動作確認済み。
- 対応カーネル:
- 公式サポートカーネル - linux または linux-zen。
- linux-neptune-65AUR - SteamOS からのカーネル。AMD GPU用のマルチプレーン HDR スキャンアウトをサポートし、HDRコンテンツをコンポジット処理せずに表示することで表示遅延とVRR安定性を大幅に改善します。デスクトップGPUのRX 6000シリーズでの動作が確認されています。
- 対応するディスプレイサーバー、詳細は #設定
- HDR対応のゲーム、ビデオプレイヤー、またはブラウザー
- ゲーム: HDR対応ゲームのリスト。
- ビデオプレイヤー: mpv、他にもあればこのリストを拡張してください!
- ウェブブラウザー: 現時点では、Linux上でHDRをサポートするウェブブラウザーはありません。
- Windowsゲームをプレイする場合に対応する互換層: Wine または Steam Proton。
- DXVK (2.1 以上) または VKD3D-Proton (2.8 以上)、ゲームに使用されるDirectXバージョンによります。
設定
KDE Plasma
KDE#HDR を参照してください。
Gamescope with Steam session
Valve の Steam コンポジター gamescope は実験的な HDR サポートを提供しています。以下の手順に従うと、HDR対応の gamescope を介して Valve の Steam クライアントを試用することができます。
- gamescope と gamescope-session-steam-gitAUR をインストールします。
- オプションで以下の内容を含む設定ファイル
~/.config/environment.d/gamescope-session.conf
を作成できます:
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
- 上記の解像度値を適切なものに更新してください。ディスプレイを一覧表示するには
xrandr --query
を実行します。 - ディスプレイ
CONNECTOR
がデフォルトで正しいものを選択しない場合は、設定する必要があります。
- 上記の解像度値を適切なものに更新してください。ディスプレイを一覧表示するには
これで、ログインマネージャーやターミナルから以下の手順のいずれかを使用して gamescope
を起動することができます:
ログインマネージャー経由
ログアウトして、ログインマネージャーで Steam Big Picture を選択し、ログインします。
コマンドライン経由
Ctrl+Alt+F2
を押して新しい TTY に移動します。- ログインして
gamescope-session-plus steam
を実行し、HDR で スタンドアロンの steam セッション を開始します。- ネットワークが機能しない場合は、NetworkManager をインストールして有効化することで修正できます。
Steam の設定
- 一般設定の表示設定で、HDR 設定が見えるはずです。HDR と実験的 HDR サポートを有効にします。
- HDR対応ゲームを選択し、その隣の歯車アイコンをクリックします。
- 互換性設定で Proton 8.0 または Proton Experimental を強制的に設定します。
- ゲームの解像度をモニターに合わせて設定しないと、Steam Deck のネイティブ解像度で起動します。
- 「プレイ」をクリックしてゲームを開始します。ゲーム内設定でHDR設定が利用可能か確認し、有効にします。
- 通常のセッションに戻るには、Steam メニューから Power と Switch to desktop mode を選択します。
参照
- https://zamundaaa.github.io/wayland/2023/12/18/update-on-hdr-and-colormanagement-in-plasma.html
- https://github.com/ChimeraOS/gamescope-session/tree/main
- https://www.reddit.com/r/linux_gaming/comments/10m2gyx/guide_alpha_test_hdr_on_linux/
- https://forums.developer.nvidia.com/t/plasma-6-0-hdr-success-report/284564