4k60 无法在 UHD 电视上正常工作(HDMI 2.0、22.04、AMD Ryzen 5 5625U、Linux 6.1.0)

4k60 无法在 UHD 电视上正常工作(HDMI 2.0、22.04、AMD Ryzen 5 5625U、Linux 6.1.0)

我在使用集成显卡的 AMD Ryzen 5 5625U(戴尔 Inspiron 14 7425 2-in-1,两个 USB-C 端口,带 DP1.4 AltMode,最新 BIOS)正常使用超高清电视时遇到了一些麻烦。我使用的是 Xubuntu 22.04.1,内核为 6.1.0,来自元包 linux-oem-22.04c,没有安全启动。我还尝试升级 lunar 中的 linux-firmware 和 amd64-microcode 软件包,但没有任何变化。[更新:也使用 1 月 15 日的 23.04 daily-live iso 进行了测试:仍然无法正常工作。] 电视通过 USB-C 转 HDMI 2.0 电缆连接,支持 3840x2160 @ 60 Hz(所有硬件均已确认可单独工作并正式支持此功能)。我还尝试过将 Dell DA310 USB-C 移动适配器连接到任一 USB-C 端口,但它显示出完全相同的症状。电视是飞利浦 50PUS7805/12,我尝试过所有三个 HDMI 端口,但没有成功。虽然使用获得的 EDID 信息 edid-decode edid.dat包括一种在 60 Hz 和 297.0 MHz 像素时钟下具有 3840x2160 分辨率的模式:

YCbCr 4:2:0 Video Data Block:
    VIC  97:  3840x2160   60.000 Hz  16:9    67.500 kHz 297.000 MHz
    VIC  96:  3840x2160   50.000 Hz  16:9    56.250 kHz 297.000 MHz

xrandr 未显示此选项。我只能选择 3840x2160 和 30 Hz 或更低的模式,这可以正常工作,但不是本例所需的。在 Xorg.0.log 中,似乎出于某种原因,正确的 4k60 模式被丢弃了:

[...]
[     7.848] (--) AMDGPU(0): HDMI max TMDS frequency 300000KHz
[     7.848] (II) AMDGPU(0): Not using mode "3840x2160" (bad mode clock/interlace/doublescan)
[     7.848] (II) AMDGPU(0): Not using mode "3840x2160" (bad mode clock/interlace/doublescan)
[     7.848] (II) AMDGPU(0): Not using mode "3840x2160" (bad mode clock/interlace/doublescan)
[     7.848] (II) AMDGPU(0): Printing probed modes for output DisplayPort-0
[     7.848] (II) AMDGPU(0): Modeline "1920x1080"x60.0  148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[     7.848] (II) AMDGPU(0): Modeline "3840x2160"x30.0  297.00  3840 4016 4104 4400  2160 2168 2178 2250 +hsync +vsync (67.5 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "3840x2160"x25.0  297.00  3840 4896 4984 5280  2160 2168 2178 2250 +hsync +vsync (56.2 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "3840x2160"x24.0  297.00  3840 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (54.0 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "3840x2160"x30.0  296.70  3840 4016 4104 4400  2160 2168 2178 2250 +hsync +vsync (67.4 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "3840x2160"x24.0  296.70  3840 5116 5204 5500  2160 2168 2178 2250 +hsync +vsync (53.9 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "1920x1080"x50.0  148.50  1920 2448 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "1920x1080"x59.9  148.35  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.4 kHz e)
[     7.848] (II) AMDGPU(0): Modeline "1920x1080"x30.0   74.25  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync (33.8 kHz e)
[...]

我尝试使用 来生成一个 60 Hz 的模式线 cvt 3840 2160 -r ,它给出了一个像素时钟为 533 MHz 的模式线:

# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz
Modeline "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync

但根据 edid-decode,电视支持最大 297 MHz。我也不确定这是否属实。当我尝试设置此模式时,它有点工作正常:电视报告 3840x2160p60 和 4:2:0 颜色,但图像垂直移动,即顶部的一小段被切断并显示在底部,见下图:在底部,白色鼠标光标几乎看不见,即使它应该在顶部。当我将模式设置为 3840x2160 和 30 Hz 时,不会发生这种奇怪的环绕,在这种情况下,图像显示正确。

有人知道如何解决这个问题吗,以实现 4k@60Hz 并在电视上正确显示图像吗?谢谢

垂直移位图像

更多信息: Xorg.0.log
xrandr --prop

答案1

问题已解决:问题不是连接到电视的设备,而是电视本身(飞利浦 50PUS7805/12)。它运行的是过时的固件,不支持 4k60,尽管此功能在发布时被宣传过。在安装固件更新 v.201.003.243.001 后这里,并启用端口“HDMI 3”的相应选项(只有这一个支持 4k60),它完美地运行,无需任何解决方法。

相关内容