Cannot choose 4k60 option for external display

I cannot seem to figure out how to enable Fedora to give me the option to choose 60fps for the refresh rate at 4k (3840x2160 specifically), as it caps me only at 30. I am connecting from my laptop to a TV using an HDMI cable.

I can confirm Windows 10 allows me this resolution and refresh rate, even before I had this laptop. I’ve also tried a few other distros on their live media, and both Pop OS (22.04 Gnome) and Zorin OS (17.2 Core) allows me to choose above 30fps, though oddly topping at 59.94 instead of a full 60. They both seem to be running under X11 though.

I’ve double checked my hardware multiple times as well. The cable should be HDMI 2.1 as it advertised a bandwidth of up to 48gbps. According to Nanoreviews, my laptop’s HDMI port is 2.1 as well, and according to Sony’s website, my TV model should have HDMI Signal support of 3840x2160@60, making me think it at least supports HDMI 2.0. This means there should be no weak link holding me back from achieving this resolution and refresh rate.

Here are the details of my setup:

Fedora 41 KDE Wayland
Nvidia 565.77 Drivers

Acer Nitro 5 AN515-58-50YE - 12th Gen Intel Core i5-12500H/RTX 3050
Ugreen 8K HDMI Cable
Sony KD-43X7007G

Any help would be greatly appreciated, thank you!

While the hardware and cable look ok it is quite common for some GPUs to only support 4k at a lower frame rate. It is quite possible your laptop may be one of those.

Check the detailed specs for your laptop more in depth to see exactly what the GPU specs are.

Some are capable of supporting 1 4k monitor at 60 but adding a second monitor (of any kind) may limit it to 30.

Just so you are aware, my monitor ( an LG 4k TV) is connected to an nvidia RTX 3050 using HDMI. The GPU is easily capable of running a much higher frame rate, but with this TV it is capped at 30. Available settings are 24, 25, & 30.

I see. Unfortunately, it’s hard to get these kinds of information somehow. At the very least, the desktop versions at least does support 4k60, and up to 4 monitors (whether they’re mutually exclusive, I have not found)

Although you do seem to have a similar situation, I have said that Windows does allow me to choose 60fps for 4k, and Pop OS 22 and Zorin 17 also let me choose up to 59.94 at 4k (I’d like a full 60 though). With this, I have no reason to believe for now that my GPU is a limiting factor here. It’s such a confusing situation regardless and I appreciate the suggestion.

While I cannot say for certain, it seems possible that the conversion from DP to HDMI may be part of the issue. For me it does not matter if I use an HDMI - HDMI cable or if I use a DP - HDMI cable converter (the TV only has HDMI ports). Both ways cap the video refresh at 30 on this TV. On a regular monitor the refresh is only capped at the highest rate the monitor supports.

Note that the number seen (59.94) is close enough to 60 that the difference is immaterial in the real world. Many different monitors do not operate at exactly 60 Hz refresh but sync at a rate that is realistically close enough so the perception is the same whether 60 or 59.9x.

I see.

Unfortunately, Fedora still has me locked to 30fps unfortunately, so 59.94 isn’t even an option here. I’ve only brought it up as I tested if other distros suffer the same problem and just so happens Pop and Zorin does let me choose that. I do wonder if this is a Wayland problem, as Pop OS Cosmic (24 beta) can’t find it either when I tested earlier today.

You might confirm if it is wayland by booting to x11 and check if the refresh rate changes. That might require that you install the desktop package to support x11 on kde.

Something that has come up before is that the monitor manufacturer does not include all the modes the monitor can use in the monitor’s firmware edid. Then they supplement the edid data for their monitors on the MSWindows platform with monitor drivers.

What does the edid decode to on fedora?

I see. Though I’d rather not have to go to X11 just to achieve this. I’ll primarily use this TV so that my brother and I have a big display to play local co-op games together, so it’s not really worth it. Thanks anyways!

How would I go about getting the decoded edid?

The di-edid-decode command comes from the libdisplay-info-tools package.

dnf provides di-edid-decode

An example of using it can be found in this topic.

I’m having trouble using this. The result of wayland-info does not give me anything for me to use di-edid-decode with, or at least one that looks like from the example you linked. The closest I’ve seen is /dev/dri/card1 or /dev/dri/card0 which only made the edid decode command throw an error that no such file/directory exists.

So the edid will be at

/sys/class/drm/card1-XXXX/edid

where XXXX will also have to be determined from the output of wayland-info.

To me the information wayland-info outputs is quite useful and trying to understand the implications of every line an enjoyable exercise.

Ah, I see it. I traversed to that directory with dolphin and it looks to be card0-HDMI-A-1. I actually already knew the name, but wayland-info not giving me that directory and the assumption of Nvidia being card1 has thrown me off.

Anyways, here is the decoded contents of the edid file. From a quick skim, I can see support for 60hz for 4k, under YCbCr 4:2:0, but i shouldn’t get ahead of myself.

  EDID Structure Version & Revision: 1.3
  Vendor & Product Identification:
    Manufacturer: SNY
    Model: 10501
    Serial Number: 16843009 (0x01010101)
    Made in: week 1 of 2019
  Basic Display Parameters & Features:
    Digital display
    Maximum image size: 160 cm x 90 cm
    Gamma: 2.20
    RGB color display
    First detailed timing is the preferred timing
  Color Characteristics:
    Red  : 0.6250, 0.3398
    Green: 0.2802, 0.5947
    Blue : 0.1552, 0.0703
    White: 0.2832, 0.2978
  Established Timings I & II:
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
  Standard Timings:
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x15:  1152x864    75.000000 Hz   4:3     67.500 kHz    108.000000 MHz
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz (1600 mm x 900 mm)
                 Hfront  176 Hsync  88 Hback  296 Hpol P
                 Vfront    8 Vsync  10 Vback   72 Vpol P
    DTD 2:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (1600 mm x 900 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
    Display Product Name: 'SONY TV  *00'
    Display Range Limits:
      Monitor ranges (GTF): 23-62 Hz V, 14-70 kHz H, max dotclock 300 MHz
  Extension blocks: 1
Checksum: 0xe4

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans IT Video Formats by default
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 0
  Video Data Block:
    VIC  93:  3840x2160   24.000000 Hz  16:9     54.000 kHz    297.000000 MHz
    VIC  94:  3840x2160   25.000000 Hz  16:9     56.250 kHz    297.000000 MHz
    VIC  95:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
    VIC  98:  4096x2160   24.000000 Hz 256:135   54.000 kHz    297.000000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    VIC  20:  1920x1080i  50.000000 Hz  16:9     28.125 kHz     74.250000 MHz
    VIC   5:  1920x1080i  60.000000 Hz  16:9     33.750 kHz     74.250000 MHz
    VIC  19:  1280x720    50.000000 Hz  16:9     37.500 kHz     74.250000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC  32:  1920x1080   24.000000 Hz  16:9     27.000 kHz     74.250000 MHz
    VIC  34:  1920x1080   30.000000 Hz  16:9     33.750 kHz     74.250000 MHz
    VIC  60:  1280x720    24.000000 Hz  16:9     18.000 kHz     59.400000 MHz
    VIC  62:  1280x720    30.000000 Hz  16:9     22.500 kHz     74.250000 MHz
    VIC  18:   720x576    50.000000 Hz  16:9     31.250 kHz     27.000000 MHz
    VIC  22:  1440x576i   50.000000 Hz  16:9     15.625 kHz     27.000000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC   7:  1440x480i   59.940060 Hz  16:9     15.734 kHz     27.000000 MHz
    VIC  17:   720x576    50.000000 Hz   4:3     31.250 kHz     27.000000 MHz
    VIC  21:  1440x576i   50.000000 Hz   4:3     15.625 kHz     27.000000 MHz
    VIC   2:   720x480    59.940060 Hz   4:3     31.469 kHz     27.000000 MHz
    VIC   6:  1440x480i   59.940060 Hz   4:3     15.734 kHz     27.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
    AC-3:
      Max channels: 6
      Supported sample rates (kHz): 48 44.1 32
      Maximum bit rate: 640 kb/s
    DTS:
      Max channels: 6
      Supported sample rates (kHz): 48 44.1 32
      Maximum bit rate: 1504 kb/s
    Enhanced AC-3 (DD+):
      Max channels: 8
      Supported sample rates (kHz): 48 44.1
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Video Capability Data Block:
    YCbCr quantization: Selectable (via AVI YQ)
    RGB quantization: Selectable (via AVI Q)
    PT scan behavior: No Data
    IT scan behavior: Always Underscanned
    CE scan behavior: Supports both over- and underscan
  Colorimetry Data Block:
    xvYCC601
    xvYCC709
    sYCC601
    opYCC601
    opRGB
    BT2020cYCC
    BT2020YCC
    BT2020RGB
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
      Hybrid Log-Gamma
    Supported static metadata descriptors:
      Static metadata type 1
  YCbCr 4:2:0 Video Data Block:
    VIC  96:  3840x2160   50.000000 Hz  16:9    112.500 kHz    594.000000 MHz
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC 101:  4096x2160   50.000000 Hz 256:135  112.500 kHz    594.000000 MHz
    VIC 102:  4096x2160   60.000000 Hz 256:135  135.000 kHz    594.000000 MHz
  Detailed Timing Descriptors:
    DTD 3:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz (1600 mm x 900 mm)
                 Hfront  110 Hsync  40 Hback  220 Hpol P
                 Vfront    5 Vsync   5 Vback   20 Vpol P
Checksum: 0x5b

----------------

Failures:

Block 1, CTA-861 Extension Block:
  Colorimetry Data Block: Reserved bits MD0-MD3 must be 0.
EDID conformity: FAIL

It seems to me those 594MHz resolutions are a currently unsupportd HDR mode.

From the monitors I’ve used DTD 1 is the ‘native resolution’ of the panel. Display Range Limits shows a max dotclock of 300MHz which is not enough to do 3840x2160@60. So far things make sense with respect to your reports.

Now how in the heck does HDR make it so this same panel can accept a 594MHz dot clock? There is a lot left to learn.

I take it that the display does support the resolution and refresh rate, but some kind of setting or property prevents proper use of it?

This unfortunately looks like a dead end though. I wonder how Windows managed to overcome this then.

Keep an eye on that HDR link’s resources and until then 3840x2160@30 looks to me like the best wayland can use on your sony tv.

I wonder of HDR does stuff with the dot clock like cpu turbo mode. It can run faster for short bursts but would fail if the duty-cycle was too high. This post has been great in that it exposes questions I now want answers to.

The little I’ve looked at vesa.org about HDR I do not see where max dot clock comes into play. Maybe those 594MHz resolutions are something else altogether.

One more thing to consider is the max resolution supported by the hdmi you are using. Do you have the ability to connect this with displayport instead?

HDR hasn’t given me a difference in options whether on or off, so it doesn’t seem to do anything significant for me at least.

As for alternatives, my TV only has HDMI, but my Laptop does have a USB-C port with Thunderbolt 4 and USB 3.2. I’ve confirmed this too with the thunderbolt icon besides it’s physical port, and lspci -tv reports it as “Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0”, with lsusb -t reporting a speed of “20000M/x2”. I have heard Thunderbolt Type-C uses the DP standard, so this probably counts, yes?

I don’t have a Type-C to HDMI cable, or an adapter right now though. But if its the TV that needs to have DP, then I’m simply out of luck.

I don’t think it is likely that HDR is involved here. I just don’t know much about HDR. The edid just seems to show that the 594MHz dot clock and HDR are related. I did see an article that indicated MSWindows 10 never supported HDR but you did get the 60Hz 4k mode.

So I expect when you get 60Hz on MSWindows you are doing it over hdmi without HDR. All the hardware involved, tv, cable, GPU thus supports it.

It would be interesting to see how the edid decodes from MSWindows. I do not have anything MSWindows and do not think I can be any help here though. If the edid includes the 60Hz timings you want it is possible to copy the edid from MSWindows to Linux but again, I can be of little help. The first link I supplied is a topic that includes some possibilities.

1 Like

Using Nirsoft’s DumpEDID, I was able to decode the edid information, and then dumped the edid into a .bin file using Nirsoft’s MonitorInfoView. I wonder if that bin file can just be a drop in replacement for the edid in linux. Wonder if its safe.

Active                   : No

Registry Key             : DISPLAY\SNY2905\5&caf7c7f&0&UID4352

Monitor Name             : SONY TV  *00

Manufacture Week         : 1 / 2019

ManufacturerID           : 55629 (0xD94D)

ProductID                : 10501 (0x2905)

Serial Number (Numeric)  : 16843009 (0x01010101)

EDID Version             : 1.3

Display Gamma            : 2.20

Vertical Frequency       : 23 - 62 Hz

Horizontal Frequency     : 14 - 70 KHz

Image Size               : 160.0 X 90.0 cm (72.3 Inch)

Maximum Image Size       : 160 X 90 cm (72.3 Inch)

Maximum Resolution       : 3840 X 2160

Support Standby Mode     : No

Support Suspend Mode     : No

Support Low-Power Mode   : No

Support Default GTF      : No

Digital                  : Yes



Supported Display Modes  :

     640 X  480  60 Hz

     800 X  600  60 Hz

    1024 X  768  60 Hz

    1152 X  864  75 Hz

    1280 X 1024  60 Hz

    1600 X  900  60 Hz

    1680 X 1050  60 Hz

    3840 X 2160  60 Hz