HDR 显示器支持 - Arch Linux 中文维基
主页
维基
ArchWiki
论坛
AUR
[archlinuxcn] 仓库
下载
跳转到内容
为避免本站因各种原因无法访问,建议用户安装
arch-wiki-docs-zh-cn
CNRepo
或者
arch-wiki-docs-zh-tw
CNRepo
离线文档包备用,也可尝试使用经由Cloudflare CDN的替代版本
aw.lilydjwg.me
来自 Arch Linux 中文维基
翻译状态:
本文(或部分内容)译自
HDR monitor support
,最近一次同步于 2025-07-30,若英文版本有所
更改
,则您可以帮助同步与
翻译
更改的内容。
您可以在
ArchWiki 的对应页面
找到本文翻译的
原始
修订历史。
本文可能与英文原文存在出入。
相关文章
Steam
游戏
Gamescope
HDR 支持已
合并
Wayland
协议中,部分混成器已实现该功能。而
Xorg
没有支持 HDR 的计划
要求
编辑
编辑源代码
支持 HDR 的显示器。尽管现在有许多宣称支持 HDR 的显示器,但采用边缘照明局部调光(edge-lit local dimming)的设备提供的 HDR 体验可能无法令人满意。更多信息请参阅
Local Dimming on TVs
支持 HDR 的显卡驱动:已确认
AMDGPU
NVIDIA
(550.54.14 及以后的版本)可正常工作。
NVIDIA
565.57.01 之前的版本存在一个可能导致 HDR 模式下色彩表现不正确或偏淡的 bug。
[1]
Intel 图形处理器
自内核版本 5.12 起为第 9 代及更新的核显提供实验性的 HDR 支持
[2]
,但据
报告
其实现不完整。
兼容的混成器,参见
#混成器
兼容的应用程序,参见
#应用程序
支持 HDR 的 Vulkan WSI(窗口系统集成),参见
#Vulkan HDR WSI
配置
编辑
编辑源代码
Vulkan HDR WSI
编辑
编辑源代码
对于
NVIDIA
和版本 25 之前的
mesa
,需要安装
vk-hdr-layer-kwin6-git
AUR
才能支持
VK_EXT_swapchain_colorspace
VK_EXT_hdr_metadata
这两个 Vulkan 扩展
[3]
[4]
。没有这两个扩展则无法通过 Vulkan API 使用 HDR。
通过设置
ENABLE_HDR_WSI=1
来启用 Wayland 下的 Vulkan HDR WSI。不建议全局启用,应分别为每个需要使用 HDR 的游戏或其它应用程序启用。
混成器
编辑
编辑源代码
KWin (KDE Plasma)
编辑
编辑源代码
参见
KDE#HDR
Hyprland
编辑
编辑源代码
首先确保
hyprland
的版本 ≥ 0.47.0 并配置
xx_color_management_v4
变量为 true。
Monitor v1
编辑
编辑源代码
在 Hyprland 配置文件中对应显示器的配置行末尾追加:
, bitdepth, 10, cm, hdr
注意:
Monitor v2 是通过“monitorv2”声明的,Monitor v1 则直接通过“monitor”声明。
Monitor v2
编辑
编辑源代码
在对应显示器的配置中添加以下内容:
supports_wide_color = 1
supports_hdr = 1
更多设置请参阅
Hyprland Wiki
更多信息可在
Hyprland 实验性功能文档
Hyprland 显示器文档
中找到。
GNOME
编辑
编辑源代码
首先确保
mutter
的版本 ≥ 48.0。
在 GNOME 的显示设置中启用 HDR。每个显示器都有 单独的 HDR 开关,在分辨率和刷新率设置旁。
注意:
在 GNOME 中使用 Gamescope HDR 时会出现“褪色”现象,因为 GNOME 缺少对 scRGB 和
frog-color-management-v1
协议的支持
[5]
[6]
。参见
#使用 Gamescope
Steam 的 Gamescope 会话
编辑
编辑源代码
Valve 的混成器
Gamescope
提供了实验性 HDR 支持。按以下步骤可尝试在 Gamescope 环境中运行 Steam 客户端:
提示:
建议使用
AMDGPU
显卡驱动运行 Gamescope⸺已知
NVIDIA
驱动存在严重问题。
安装
gamescope
gamescope-session-steam-git
AUR
可创建可选配置文件
~/.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" # Gamescope 启动参数
fi
需将分辨率数值设置为实际值(可通过
xrandr --query
命令查询显示设备参数)。
若未自动识别显示接口,需手动设置
CONNECTOR
参数。
现在可通过以下任一方式启动 Gamescope:
通过显示管理器
编辑
编辑源代码
登出,在
显示管理器
中选择“Steam Big Picture”登录。
通过控制台
编辑
编辑源代码
按下
Ctrl+Alt+F
进入一个新的 TTY。
登录后执行
gamescope-session-plus steam
在 Gamescope 中启动
Steam 独立会话
若网络不可用,安装并
启用
NetworkManager
配置 Steam
编辑
编辑源代码
在常规设置中的“显示”部分,启用 HDR 和实验性 HDR 支持。
选择一款支持 HDR 的游戏,点击旁边的齿轮图标。
将兼容性设置为强制使用 Proton 8.0 或 Proton Experimental。
将游戏分辨率设置为与显示器一致,否则将默认以 Steam Deck 的分辨率启动。
点击“开始游戏”启动游戏。进入游戏后检查设置中的 HDR 选项,并将其启用。
若需切换回正常桌面会话,请在 Steam 菜单中选择“电源” -> “切换到桌面模式”。
COSMIC
编辑
编辑源代码
COSMIC
的开发者在
博文
中承诺将在初始稳定版本中加入 HDR 支持。
应用程序
编辑
编辑源代码
游戏
编辑
编辑源代码
Wine/Proton
编辑
编辑源代码
通过
Wine
Steam Proton
实现 HDR 需要
DXVK
(2.1 及以上版本)或
VKD3D-Proton
(2.8 及以上版本),具体的依赖视游戏所使用的 DirectX 版本而定。
提示:
建议使用 Proton 8.0 及以上版本,或 Proton GE 44+。这些版本均包含符合要求的 DXVK 和 VKD3D。
不使用 Gamescope
编辑
编辑源代码
若不使用 Gamescope 启用 HDR,需要运行包含 Wayland 驱动的 Wine 构建版本。
注意:
Wine 的原生
Wayland
驱动仍属实验性质,具体游戏表现可能优于也可能劣于 Xwayland。
proton-ge-custom
:安装
proton-ge-custom-bin
AUR
,并设置
PROTON_ENABLE_WAYLAND=1
PROTON_ENABLE_HDR=1
[7]
注意:
PROTON_ENABLE_HDR=1
实际上设置的是
DXVK_HDR=1
[8]
wine-tkg
:安装 wine-tkg,设置
DXVK_HDR=1
,并取消设置环境变量
DISPLAY
proton-cachyos
wine-cachyos
:安装
proton-cachyos
AUR
wine-cachyos-opt
AUR
wine-cachyos
AUR
三者之一,并设置
PROTON_ENABLE_WAYLAND=1
DXVK_HDR=1
[9]
提示:
你也可以使用
protonup-qt
AUR
将上述的 Wine 构建轻松安装到 Lutris、Bottles 或 Steam 中。
使用 Gamescope
编辑
编辑源代码
Gamescope 正常启用 HDR 需要混成器支持 scRGB,且支持
xx-color-management-v4
frog-color-management-v1
两个协议之一。
因此,Gamescope 无法与
vk-hdr-layer-kwin6-git
AUR
一起使用。请确保没有将
ENABLE_HDR_WSI
设置为
根据需要,有多种方式使用 Gamescope:
使用 Gamescope 启动 Steam。使用该方式,从 Steam 启动的所有游戏都会启用 HDR,但 Steam 和这些游戏将被运行在一个 Gamescope 窗口内:
$ gamescope --hdr-enabled --steam -- env DXVK_HDR=1 steam
在 Steam 设置中使用以下“启动选项”,为通过 Steam 启动的每个游戏启用 HDR:
$ DXVK_HDR=1 gamescope -f --hdr-enabled -- %command%
在 Gamescope 中启动非 Steam 游戏:
$ DXVK_HDR=1 gamescope -f --hdr-enabled --
可执行文件
注意:
默认情况下,Gamescope 会以 1280x720 分辨率启动。若需自定义分辨率,可使用
-W
(宽)和
-H
(高)参数设置需要的分辨率。
RetroArch
编辑
编辑源代码
RetroArch 目前仅在 Git 版本
retroarch-git
AUR
中支持 HDR。请在 RetroArch 的视频设置中启用 HDR。
$ retroarch
原生 SDL
编辑
编辑源代码
要运行使用 SDL 的原生游戏并启用 HDR,请设置
SDL_VIDEODRIVER=wayland
例如运行 Quake II RTX:
$ SDL_VIDEODRIVER=wayland quake2rtx
mpv
编辑
编辑源代码
为了获得最佳图像质量,mpv 的维护者推荐使用
gpu-next
输出模式
[10]
注意:
这需要支持 HDR 的 Vulkan WSI,参见
#Vulkan HDR WSI
$ mpv --vo=gpu-next --target-colorspace-hint --gpu-api=vulkan --gpu-context=waylandvk "path/to/video"
其他启用
Wayland HDR 支持
的方式包括使用
dmabuf-wayland
drm
视频输出。
$ mpv --vo=dmabuf-wayland "path/to/video"
在 tty 终端下,也可以使用:
$ mpv --vo=drm "path/to/video"
Firefox
编辑
编辑源代码
firefox
从 138.0 版本开始引入了可用的实验性 HDR 支持,通过隐藏的配置项
gfx.wayland.hdr
启用。可在
about:config
中启用。
稳定的 HDR 支持仍在开发中
[11]
[12]
Chromium
编辑
编辑源代码
chromium
目前正在开发 HDR 支持
[13]
提示与技巧
编辑
编辑源代码
HDR 视频样本
编辑
编辑源代码
Kodi
的 Wiki 提供了一份
合理使用的 HDR 视频样本列表
,可使用支持 HDR 的视频播放器(如
#mpv
)播放来测试 HDR 输出效果。
问题解决
编辑
编辑源代码
启用 HDR10 时屏幕共享异常
编辑
编辑源代码
Pipewire 会尝试以 BGRA 格式进行流传输,但由于 WebRTC 当前无法解析该格式,因此会导致异常。具体表现为抛出
ParamId:EnumFormat: 0:0 Invalid argument
错误,并导致该应用的 WebRTC 套接字崩溃
[14]
另请参阅
编辑
编辑源代码
X.Org 开发者大会 2022|Harry Wentland:“HDR 更难吗?”
(英文视频)
wlroots/wlroots|HDR10 支持
(英文)
Xaver Hugl 的博客|关于 KWin 中 HDR 与色彩管理的最新进展
(英文)
检索自“
分类
:​
显示控制
游戏
图形
图形用户界面
HDR 显示器支持
添加话题