HDR 显示器支持
本页面旨在作为 Linux 上 HDR 显示器支持现状的指南。为了更好地理解其中涉及的挑战,您可以观看 Harry Wentland 在 2022 年 X.Org 开发者大会上所做的题为“HDR 更难吗?”的演讲。
HDR 的支持 已合并 到 Wayland 中,并且一些合成器已经开始实现它。
其他进展包括
- KDE Plasma 6.0 为 Wayland 会话引入了实验性 HDR 支持。
- DRM 客户端可以直接传递 HDR 元数据,但这对于常规用户空间客户端不可用,只有专门的软件才能使用它。
- COSMIC 开发者 承诺在最初的稳定版本中提供 HDR 支持。
- Hyprland 自 #8715 起引入了 HDR 支持。
- Wlroots, "添加 HDR 信号" MR。
- GNOME 48-beta 版本在 Wayland 下引入了 HDR 支持和切换开关。
要求
- 支持 HDR 的显示器。
- 支持 HDR 的图形驱动程序:AMDGPU 和 NVIDIA (550.54.14+) 已确认可以工作。
- 一个受支持的显示服务器,请参阅 #配置
- 一个支持 HDR 的程序
- 游戏:支持 HDR 的游戏列表。
- 视频播放器:mpv。
- 网页浏览器:目前没有网页浏览器在 Linux 上支持 HDR。
- 如果玩 Windows 游戏,则需要受支持的兼容层:Wine 或 Steam Proton。
- DXVK (2.1+) 或 VKD3D-Proton (2.8+),具体取决于游戏使用的 DirectX 版本。提示: 使用 Proton 8.0、Experimental 或 Proton GE 44+。它们都捆绑了足够的 DXVK 和 VKD3D 版本。
- DXVK (2.1+) 或 VKD3D-Proton (2.8+),具体取决于游戏使用的 DirectX 版本。
配置
KDE Plasma
请参阅 KDE#HDR。
Hyprland
请参阅 https://wiki.hyprland.org/Configuring/Variables/#experimental
Gamescope 与 Steam 会话
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 -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 原生分辨率启动。
- 点击“Play”开始游戏。检查游戏内设置,查看 HDR 设置是否可用并启用它。
- 要切换回您的正常会话,请从 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#Games 和 KDE#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 后将无法更改显示器的“亮度”。
参见
- 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