Cannot choose 4k60 option for external display

I see. I could try finding other applications in the meanwhile for dumping the edid on Windows, but I don’t think I can bet on it. And although I didn’t check for the previous generated edid, the new one I generated today did report an error being loaded via dmesg with an error value of -2. Things look fine in /proc/cmdline though. Here’s the full contents if you’d like:

BOOT_IMAGE=(hd1,gpt6)/vmlinuz-6.12.6-200.fc41.x86_64 root=UUID=75da8d05-8fed-4b3e-bd7e-7f21c5ace512 ro rootflags=subvol=root resume=UUID=ad53b08f-7480-442d-a207-4b7563057849 rhgb quiet nvme.noacpi=0 splash acpi_backlight=native nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau drm.edid_firmware=HDMI-A-1:3840x2160_60.bin

I can try to use qemu-edid then. How would I use this to generate a desired edid file then?

It was only an example, not the correct configuration. Also, regarding the update, you might try updating your monitor’s firmware, which could provide a valid EDID. You can find the firmware here.

In addition, you might try using the EDID file generated with default settings in an X11 environment, as that could also resolve the issue.

By the way, I didn’t know qemu provides an EDID generator. Thanks, @steppybug! I looked it up, and it seems great.

To use it on Fedora, install the qemu-tools package and generate the EDID .bin file like this. Use the correct DPI parameter for your monitor after the -d flag (I used an estimated value), and also provide your monitor’s serial number after the -s flag:

➜ sudo dnf install qemu-tools

➜ qemu-edid -x 3840 -y 2160 -X 4096 -Y 2160 -d 103 -v SON -n "Sony KD-43X7007G" -s "35kdl3354"> edid_4k_sony.bin

It includes all resolution profiles along with accurate color and connection configurations, as well as the monitor’s brand and serial number. Damn, this is so cool! :star_struck:

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

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: SON
    Model: 4660
    Serial Number: 35 (0x00000023)
    Made in: week 42 of 2014
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 94 cm x 53 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    Default (sRGB) color space is primary color space
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6396, 0.3300
    Green: 0.2998, 0.5996
    Blue : 0.1503, 0.0595
    White: 0.3125, 0.3291
  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 0x54:  2048x1152   60.000000 Hz  16:9     72.000 kHz    162.000000 MHz (RB)
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    DMT 0x45:  1920x1200   59.884600 Hz  16:10    74.556 kHz    193.250000 MHz
    DMT 0x33:  1600x1200   60.000000 Hz   4:3     75.000 kHz    162.000000 MHz
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
    DMT 0x2f:  1440x900    59.887445 Hz  16:10    55.935 kHz    106.500000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x20:  1280x960    60.000000 Hz   4:3     60.000 kHz    108.000000 MHz
  Detailed Timing Descriptors:
    Established timings III:
      DMT 0x17:  1280x768    59.870228 Hz   5:3     47.776 kHz     79.500000 MHz
      DMT 0x27:  1360x768    60.015162 Hz  85:48    47.712 kHz     85.500000 MHz
      DMT 0x2a:  1400x1050   59.978442 Hz   4:3     65.317 kHz    121.750000 MHz
      DMT 0x3e:  1792x1344   59.999789 Hz   4:3     83.640 kHz    204.750000 MHz
      DMT 0x41:  1856x1392   59.995184 Hz   4:3     86.333 kHz    218.250000 MHz
      DMT 0x49:  1920x1440   60.000000 Hz   4:3     90.000 kHz    234.000000 MHz
    Display Range Limits:
      Monitor ranges (Range Limits Only): 50-125 Hz V, 30-160 kHz H, max dotclock 2550 MHz
    Display Product Name: 'Sony KD-43X7'
    Display Product Serial Number: '35kdl3354'
  Extension blocks: 2
Checksum: 0x75

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

Block 1, CTA-861 Extension Block:
  Revision: 3
  Native detailed modes: 0
  Video Data Block:
    VIC 101:  4096x2160   50.000000 Hz 256:135  112.500 kHz    594.000000 MHz
    VIC  96:  3840x2160   50.000000 Hz  16:9    112.500 kHz    594.000000 MHz
    VIC  89:  2560x1080   50.000000 Hz  64:27    56.250 kHz    185.625000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
  Detailed Timing Descriptors:
    Dummy Descriptor:
    Dummy Descriptor:
    Dummy Descriptor:
    Dummy Descriptor:
    Dummy Descriptor:
    Dummy Descriptor:
Checksum: 0xae  Unused space in Extension Block: 9 bytes

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

Block 2, DisplayID Extension Block:
  Version: 1.3
  Extension Count: 0
  Display Product Type: Standalone display device
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  3840x2160   75.000173 Hz   0:0    167.625 kHz    868.970000 MHz (aspect undefined, no 3D stereo, preferred)
               Hfront  960 Hsync 115 Hback  269 Hpol N
               Vfront   10 Vsync  10 Vback   55 Vpol N
  Checksum: 0x18
Checksum: 0x90  Unused space in Extension Block: 98 bytes

I did find an edid database from bsdhw that has edid from a similar Sony monitor you may be able to use.

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.3
  Vendor & Product Identification:
    Manufacturer: SNY
    Model: 33284
    Serial Number: 16843009
    Made in: week 1 of 2018
  Basic Display Parameters & Features:
    Digital display
    Maximum image size: 122 cm x 68 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   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz (1218 mm x 685 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 (1218 mm x 685 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-136 kHz H, max dotclock 600 MHz
  Extension blocks: 1
Checksum: 0xdd

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

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  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC  96:  3840x2160   50.000000 Hz  16:9    112.500 kHz    594.000000 MHz
    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
    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
  Audio Data Block:
    Linear PCM:
      Max channels: 6
      Supported sample rates (kHz): 192 176.4 96 88.2 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:
    BL/BR - Back Left/Right
    FC - Front Center
    LFE1 - Low Frequency Effects 1
    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
  YCbCr 4:2:0 Capability Map Data Block:
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC  96:  3840x2160   50.000000 Hz  16:9    112.500 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
  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
  Detailed Timing Descriptors:
    DTD 3:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz (1218 mm x 685 mm)
                 Hfront  110 Hsync  40 Hback  220 Hpol P
                 Vfront    5 Vsync   5 Vback   20 Vpol P
Checksum: 0x02

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

Failures:

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

I was able to successfully create an edid file using this command, but unfortunately, the resulting edid file capped out at 2048x1152 for some reason.

The parameters I entered were as follows. I simply calculated the DPI myself, by getting the diagonal pixels of 3840x2160 and dividing it by the manufacturer specified diagonal length (42.5 in)
qemu-edid -x 3840 -y 2160 -X 4096 -Y 2160 -d 103 -v SON -n "Sony KD-43X7007G" -s "4702050"> edid_4k60_sony.bin

As a reply to your earlier post, my display also already has the latest firmware version as well. Fortunately, steppybug’s provided alternate edid from another Sony display has worked, as I’ll detail in my next reply.

Amazing! After I encoded this into an edid file and enforced it in the kernel, I was actually able to get 3840x2160@60! I’ve seen this database actually, but easily cast it aside as it did not have my TV’s edid. Yet, it seems related displays can use each other’s edid fine enough.

I’ve tested this file for a bit, and it seems to be the real deal. 3 games (Minecraft, Celeste 64, PCSX2; probably not the best benchmarks) do run at 4k60. Downloaded 60fps videos run without a hitch as well. Videos in browsers (Librewolf, Freetube) in fullscreen (also present in windowed but significantly less jarring and frequent there) and general performance of Plasma isn’t the best though, but for the time being, this seems to have solved the problem!

I would like to give some more time to test these out tomorrow, but I’m glad that somehow we figured things out: The provided edid from the display as Fedora fetches or interprets it is lacking The display simply didn’t provide an adequate edid for the system to use.

Thanks everyone again for the help! I really appreciate all of you helping me these past few days. I’ll stay in touch here for now as I see if any more or significant shortcomings pop up in my general use of this in the coming days, but I think I’ll mark @steppybug 's suggestion of using a similar display’s edid file in place of the natively generated one as the solution.

2 Likes

Also, I found this in the repo provided by @steppybug. I can’t believe it’s so easy to generate a binary file just with regex from txt… I should learn more about low-level development things :cold_sweat:

cat EDID.txt | grep -E '^([a-f0-9]{32}|[a-f0-9 ]{47})$' | tr -d '[:space:]' | xxd -r -p > EDID.bin

I see. Though still odd how Windows was able to use it correctly nevertheless. Regardless, I’ll edit the post to reflect this.

I’ve had this TV for basically half a decade now, even before my laptop, let alone knowing about linux, so I suppose it makes sense. Not that it’ll happen anytime soon but, I’ll be sure to give edid quality a consideration when I do need a new display. Cheers!

Yes most likely so. Perhaps I can try and go back and see if I can get this resultant edid. But I’m in no rush for the time being.

I don’t know what the TV market looks like now but, I do hope there have been strides to make this better then if that’s the case.

True. Change is most likely to come from wider acceptance of DisplayPort on TV’s, but from what I’ve heard, unlike with Monitors, many TV manufacturers have incentive to keep preferring HDMI. Sad state if true.

Many things that connect to the TV use hdmi. (Laptops, bluray players, satellite tuners, dvrs, and many others.) I would expect that it may be slow getting the manufacturers to switch to adding a DP interface since almost everything but computers still use hdmi. The small percentage of users who rely on a TV as their monitor for the PC is not a lot of incentive to add the extra interface.