如何强制 Ubuntu(Wayland)将“Broadcast RGB:FULL”输出到 HDMI 输出?

如何强制 Ubuntu(Wayland)将“Broadcast RGB:FULL”输出到 HDMI 输出?

我正在使用英特尔 620 GPU,目前正在运行 Ubuntu 19.10/Wayland。

该系统有一个 eDP 显示器和一个 HDMI 显示器。(基本笔记本电脑 + 显示器设置)。

在 Windows 上这很容易:

1) Configure full RGB range in intel graphics driver control panel.

2) Or, use YUV output because my monitor supports YUV and YUV is ambiguously limited range. 

在 X.org 上这是可行的: xrandr --output HDMI1 --set "Broadcast RGB" "Full"

在 Wayland 上这似乎根本不可能。

通过一些错误报告,我理解的情况似乎是,HDMI 针对的是电视,而电视大多接受有限的 RGB,因此 i915 默认为有限的 RGB 范围。

因此,对于这种硬件组合,我的选择似乎非常有限:

1) Run Windows and use VM if/when I need Ubuntu (high power and memory overhead)

2) Run Ubuntu with X (this will not last forever)

3) Run Ubuntu with Wayland with analog VGA(VGA for 1920x1080@60Hz is somewhat OK, but not more).
4) Run Ubuntu with Wayland with non-TV resolution

有任何想法吗?

答案1

根据快速提示:在 Wayland 中设置色彩空间值作者:Brad T. Laue,我想出了以下解决方案(有点):

  1. 安装libdrm-tests并运行proptest
  2. 对于存在此问题的显示器,请识别连接器编号以及“广播 RGB”属性的编号。
  3. 切换到 TTY 控制台并运行:
/usr/bin/proptest -M i915 -D /dev/dri/card0 <ID_of_connector> connector <ID_of_property> <value>

尝试<value>1 或 2。效果立竿见影。您的屏幕应该会变黑一秒钟,然后控制台的黑色背景应该比以前更暗。

  1. 通过编辑 GDM3 服务配置来使此操作永久生效,以便在 GDM3 启动之前运行此命令。进行备份:
sudo cp /lib/systemd/system/gdm3.service /lib/systemd/system/gdm3.service.bak

然后使用纳米

sudo nano /lib/systemd/system/gdm3.service
  1. 在该[Service]部分中,在任何其他条目之前添加:
ExecStartPre=-/usr/bin/proptest -M i915 -D /dev/dri/card0 74 connector 76 1

这是我的系统的命令。执行不是忘记-命令前的。这指示systemd如果命令失败(非零返回代码)则继续。

  1. 保存并重新启动。

我在我的博客上发表了一篇关于这个“褪色颜色”问题的详细文章:在 Ubuntu 上将全 RGB 设置为 HDMI 显示器。我现在遇到的问题是,这个修复突然停止工作,而我没有做任何更改。该命令在启动时失败,状态为243/CREDENTIALS,但在我登录并从终端发出 GDM3 重新启动后,它就可以正常工作了。

相关内容