HDR 显示器支持

出自 ArchWiki

本页面旨在作为 Linux 上 HDR 显示器支持现状的指南。为了更好地理解其中涉及的挑战,您可以观看 Harry Wentland 在 2022 年 X.Org 开发者大会上所做的题为“HDR 更难吗?”的演讲

HDR 的支持 已合并Wayland 中,并且一些合成器已经开始实现它。

X.org 没有计划 支持 HDR。

其他进展包括

要求

  • 支持 HDR 的显示器。
  • 支持 HDR 的图形驱动程序:AMDGPUNVIDIA (550.54.14+) 已确认可以工作。
    • 565.57.01 之前的 NVIDIA 驱动程序中的一个错误会导致 HDR 下颜色显示为褪色。 [1]
  • 一个受支持的显示服务器,请参阅 #配置
  • 一个支持 HDR 的程序
  • 如果玩 Windows 游戏,则需要受支持的兼容层:WineSteam Proton
    • DXVK (2.1+) 或 VKD3D-Proton (2.8+),具体取决于游戏使用的 DirectX 版本。
      提示: 使用 Proton 8.0、Experimental 或 Proton GE 44+。它们都捆绑了足够的 DXVK 和 VKD3D 版本。

配置

KDE Plasma

请参阅 KDE#HDR

Hyprland

请参阅 https://wiki.hyprland.org/Configuring/Variables/#experimental

Gamescope 与 Steam 会话

Valve 的 Steam 合成器 gamescope 提供了实验性 HDR 支持。按照以下步骤,您将可以尝试通过支持 HDR 的 gamescope 运行 Valve 的 Steam 客户端。

提示: 建议将 AMDGPU 与 gamescope 一起使用 - 已知 NVIDIA 存在严重问题。
  • 安装 gamescopegamescope-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 -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,然后登录。

通过命令行

  1. 按下 Ctrl+Alt+F2 进入新的 TTY
  2. 登录并运行 gamescope-session-plus steam 以在 HDR 中启动 独立的 steam 会话
    • 如果网络不工作,您可以通过安装并启用 NetworkManager 来修复它。

配置 Steam

  1. 在常规设置的显示部分,您现在应该看到 HDR 设置。启用 HDR 和实验性 HDR 支持。
  2. 选择一个 HDR 兼容的游戏,然后点击旁边的齿轮图标。
  3. 将兼容性设置为强制使用 Proton 8.0 或 Proton Experimental。
  4. 设置游戏分辨率以匹配您的显示器,否则它将以 Steam Deck 原生分辨率启动。
  5. 点击“Play”开始游戏。检查游戏内设置,查看 HDR 设置是否可用并启用它。
  6. 要切换回您的正常会话,请从 Steam 菜单中选择电源切换到桌面模式

GNOME

要求

确保您安装了 GNOME 48 beta 或更高版本。在 48 稳定版之前,您可以使用 Official_repositories#gnome-unstable

安装 vk-hdr-layer-kwin6-gitAUR

启用 HDR

使用 --debug-control 标志启动 GNOME 并启用 ColorManagementProtocol

gnome-shell --debug-control
dbus-send --session --print-reply --dest=org.gnome.Mutter.DebugControl /org/gnome/Mutter/DebugControl org.freedesktop.DBus.Properties.Set string:org.gnome.Mutter.DebugControl string:ColorManagementProtocol variant:boolean:true

HDR 现在已完全启用。要使用 HDR,请参阅 KDE#GamesKDE#Video

您可以通过编辑 /usr/lib/systemd/user/org.gnome.Shell@wayland.service 将其设置为默认行为。

ExecStart=/usr/bin/gnome-shell --debug-control
ExecStartPost=/usr/bin/dbus-send --session --print-reply --dest=org.gnome.Mutter.DebugControl /org/gnome/Mutter/DebugControl org.freedesktop.DBus.Properties.Set string:org.gnome.Mutter.DebugControl string:ColorManagementProtocol variant:boolean:true


局限性

启用 HDR 后,亮度(“brightness”)控制正在开发中 [2]。因此,大多数用户在启用 HDR 后将无法更改显示器的“亮度”。

参见