I have some trouble getting a UHD TV to work properly with an AMD Ryzen 5 5625U (Dell Inspiron 14 7425 2-in-1, two USB-C ports with DP1.4 AltMode, most recent BIOS) with integrated graphics.
I am using Xubuntu 22.04.1 with Kernel 6.1.0 from meta package linux-oem-22.04c, no secure boot. I have also tried to upgrade the packages linux-firmware and amd64-microcode from lunar, with no changes. [Update: Tested with a 23.04 daily-live iso as of Jan. 15, as well: still does not work.]
The TV is connected with a USB-C to HDMI 2.0 cable that supports 3840x2160 at 60 Hz (all hardware is confirmed to work individually and to officially support this). I have also tried a Dell DA310 USB-C Mobile Adapter, connected to either of the USB-C ports, but it shows exactly the same symptoms.
The TV is a Philips 50PUS7805/12, I have tried all three HDMI ports without success. While the EDID information, obtained using
edid-decode edid.dat
,
includes a mode that has 3840x2160 resolution at 60 Hz and 297.0 MHz pixel clock:
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
this option is not shown by xrandr. I can only select modes with 3840x2160 and 30 Hz or less, which works properly but is not what is required in this case. In Xorg.0.log, it looks like the proper 4k60 modes are discarded for some reason:
[...]
[ 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)
[...]
I tried to generate a 60 Hz modeline using
cvt 3840 2160 -r
which gives me a modeline with a pixel clock of 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
but according to edid-decode, the TV supports max. 297 MHz. I am not sure if this is true, either. When I try to set this mode, it kind of works: the TV reports 3840x2160p60 with 4:2:0 colors, but the image is shifted vertically, i.e. a small band at the top is cut off and instead shown at the bottom, see picture below: at the bottom, the white mouse cursor is barely visible, even though it should be at the top. This weird wrapping does not occur when I set the mode to 3840x2160 at 30 Hz, in this case the picture is displayed correctly.
Does anybody have an idea how to solve this, to achieve 4k@60Hz with properly shown picture on the TV? Thank you
Some more information:
Xorg.0.log,
xrandr --prop