You are not logged in.

#1 2024-02-22 02:39:18

alexandrelamarche
Member
Registered: 2024-02-22
Posts: 2

EDID Parsing Stops at Block 0 - Missing refresh rates

Hello all,

I'm facing a peculiar issue where my system seems to only parse Block 0 of my monitor's EDID. Crucially, the refresh rate information I need resides in extension blocks (specifically Block 2), which are not being considered. My monitor is the Dell G3223Q, which supports 4k @ 144hz, but the max refresh rate I can currently set for 4k is 60hz (see xrandr output)
System Details

    OS: Arch Linux x86_64
    Host: MS-7B47 1.0
    Kernel: 6.6.17-1-lts
    Uptime: 8 mins
    Packages: 1064 (pacman)
    Shell: fish 3.7.0
    Resolution: 3840x2160
    WM: i3
    Terminal: alacritty
    CPU: Intel i5-8600K (6) @ 4.800GHz
    GPU: NVIDIA GeForce GTX 1070 Ti
    Memory: 2171MiB / 15938MiB
Nvidia smi output

Wed Feb 21 15:54:38 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.06              Driver Version: 545.29.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1070 Ti     Off | 00000000:01:00.0  On |                  N/A |
|  0%   46C    P8              20W / 180W |    441MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A       542      G   /usr/lib/Xorg                               266MiB |
|    0   N/A  N/A       595      G   alacritty                                    13MiB |
|    0   N/A  N/A       782      G   /usr/lib/firefox/firefox                    157MiB |
+---------------------------------------------------------------------------------------+

xrandr output

Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 708mm x 399mm
   3840x2160     60.00*+  59.94    50.00    29.97    25.00    23.98
   2560x1440    143.97   120.00    59.95
   1920x1200     59.88
   1920x1080    143.98   119.98   119.88   100.00    60.00    59.94    50.00    29.97    25.00
   1680x1050     59.95
   1600x1200     60.00
   1600x900      60.00
   1280x1024     75.02    60.02
   1280x800      59.81
   1280x720      59.94
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

What I've Done

    Verified Connections: Securely connected monitor, tried different cables.
    Checked Monitor Settings: Ensured DDC/CI or similar options are enabled in the monitor's on-screen menu.
    Used read-edid/get-edid:

    parse-edid < edid.bin
        You seem to have too many extension blocks. Will not continue to parse
        Something strange happened. Please contact the author,
        Matthew Kern at <pyrophobicman@gmail.com>

     I've tried manually setting video modes in my xorg.conf, didn't work either.
     I've tried several variations of the drm_kms_helper.edid_firmware kernel parameter, specifying the port and attempting to force EDID reading. I have also tried different ports (DP-1 through DP-4) to no avail.

Where I'm Stuck

    It feels like an issue in how the EDID is communicated or interpreted, preventing me from leveraging the full EDID for correct settings. I'm hoping to find someone with experience in either:

    Forcing the system to fully parse all EDID extension blocks.
    Distribution-specific quirks related to EDID and Arch-based systems.
    Potential Parsing Bug? Could this indicate a bug in either the kernel module, graphics driver, or the tools themselves, where they prematurely stop EDID parsing?

    If similar issues with NVIDIA graphics or refresh rates ring a bell, or if you have any further debugging suggestions, I would greatly appreciate any insights you can offer.

Interesting notes

#1 I used to have the same problem on ubuntu, up until the version 22, which somehow fixed the problem (but I don't really like Ubuntu). Now I am on Arch with xorg, but also have the same problem in GNOME under wayland.
#2 Using the hexcode in EDID reader (http://www.edidreader.com/) yields the same problem (only block 0 is read!), but decoding on EDID decode (https://people.freedesktop.org/~imirkin/edid-decode/) yields the entire decoded file, with block 0, and extension 1 and 2.
Thanks in advance!

Here is the link to my EDID files (both .bin and decrypted .txt) AS WELL as my xorg.conf : https://drive.google.com/drive/folders/ … sp=sharing

Offline

#2 2024-02-22 09:27:42

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,395

Re: EDID Parsing Stops at Block 0 - Missing refresh rates

edid-decode (hex):

00 ff ff ff ff ff ff 00 10 ac 8c 42 55 45 36 41
04 20 01 04 b5 47 28 78 3b 1e 75 af 4f 42 a7 24
0f 50 54 a5 4b 00 71 4f 81 00 81 80 a9 40 b3 00
d1 c0 d1 00 a9 c0 4d d0 00 a0 f0 70 3e 80 30 20
35 00 c4 8f 21 00 00 1a 00 00 00 ff 00 38 42 59
33 36 48 33 0a 20 20 20 20 20 00 00 00 fc 00 44
45 4c 4c 20 47 33 32 32 33 51 0a 20 00 00 00 fd
0c 30 90 50 50 86 01 0a 20 20 20 20 20 20 02 ae

02 03 3a f1 51 61 60 76 75 10 1f 3f 40 5f 5e 5d
22 21 04 12 03 01 23 09 07 07 83 01 00 00 6d 1a
00 00 02 0b 30 90 00 04 73 14 73 2f e2 00 d5 e3
05 c3 01 e6 06 05 01 73 73 21 86 6f 80 a0 70 38
40 40 30 20 35 00 c4 8f 21 00 00 1a 6f c2 00 a0
a0 a0 55 50 30 20 35 00 c4 8f 21 00 00 1a 56 5e
00 a0 a0 a0 29 50 30 20 35 00 c4 8f 21 00 00 1a
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 da

70 12 79 03 00 03 01 50 47 e8 01 04 ff 0e 4f 00
07 80 1f 00 6f 08 36 00 28 00 07 00 d0 a3 01 04
ff 0e 4f 00 07 80 1f 00 6f 08 7e 00 70 00 07 00
fa e6 00 04 ff 09 9f 00 4f 80 1f 00 9f 05 45 00
3d 00 04 00 59 87 00 04 7f 07 9f 00 2f 80 1f 00
37 04 4c 00 02 00 04 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f 90

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

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: DEL
    Model: 17036
    Serial Number: 1094075733
    Made in: week 4 of 2022
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 71 cm x 40 cm
    Gamma: 2.20
    DPMS levels: Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    First detailed timing includes the native pixel format and preferred refresh rate
    Display is continuous frequency
  Color Characteristics:
    Red  : 0.6835, 0.3095
    Green: 0.2607, 0.6542
    Blue : 0.1416, 0.0615
    White: 0.3134, 0.3291
  Established Timings I & II:
    IBM     :   720x400    70.081663 Hz   9:5     31.467 kHz     28.320000 MHz
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x06:   640x480    75.000000 Hz   4:3     37.500 kHz     31.500000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x0b:   800x600    75.000000 Hz   4:3     46.875 kHz     49.500000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
    DMT 0x12:  1024x768    75.028582 Hz   4:3     60.023 kHz     78.750000 MHz
    DMT 0x24:  1280x1024   75.024675 Hz   5:4     79.976 kHz    135.000000 MHz
  Standard Timings:
    DMT 0x15:  1152x864    75.000000 Hz   4:3     67.500 kHz    108.000000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 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 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 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (708 mm x 399 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Display Product Serial Number: '8BY36H3'
    Display Product Name: 'DELL G3223Q'
    Display Range Limits:
      Monitor ranges (Bare Limits): 48-144 Hz V, 335-335 kHz H, max dotclock 1340 MHz
  Extension blocks: 2
Checksum: 0xae

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

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: 1
  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 118:  3840x2160  120.000000 Hz  16:9    270.000 kHz   1188.000000 MHz
    VIC 117:  3840x2160  100.000000 Hz  16:9    225.000 kHz   1188.000000 MHz
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    VIC  31:  1920x1080   50.000000 Hz  16:9     56.250 kHz    148.500000 MHz
    VIC  63:  1920x1080  120.000000 Hz  16:9    135.000 kHz    297.000000 MHz
    VIC  64:  1920x1080  100.000000 Hz  16:9    112.500 kHz    297.000000 MHz
    VIC  95:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
    VIC  94:  3840x2160   25.000000 Hz  16:9     56.250 kHz    297.000000 MHz
    VIC  93:  3840x2160   24.000000 Hz  16:9     54.000 kHz    297.000000 MHz
    VIC  34:  1920x1080   30.000000 Hz  16:9     33.750 kHz     74.250000 MHz
    VIC  33:  1920x1080   25.000000 Hz  16:9     28.125 kHz     74.250000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC  18:   720x576    50.000000 Hz  16:9     31.250 kHz     27.000000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 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
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Vendor-Specific Data Block (AMD), OUI 00-00-1A:
    Version: 2.11
    Minimum Refresh Rate: 48 Hz
    Maximum Refresh Rate: 144 Hz
    Flags 1.x: 0x00
    Flags 2.x: 0x04
    Maximum luminance: 115 (603.666 cd/m^2)
    Minimum luminance: 20 (0.037 cd/m^2)
    Maximum luminance (without local dimming): 115 (603.666 cd/m^2)
    Minimum luminance (without local dimming): 47 (0.205 cd/m^2)
  Video Capability Data Block:
    YCbCr quantization: Selectable (via AVI YQ)
    RGB quantization: Selectable (via AVI Q)
    PT scan behavior: Always Overscanned
    IT scan behavior: Always Overscanned
    CE scan behavior: Always Overscanned
  Colorimetry Data Block:
    xvYCC601
    xvYCC709
    BT2020YCC
    BT2020RGB
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
    Supported static metadata descriptors:
      Static metadata type 1
    Desired content max luminance: 115 (603.666 cd/m^2)
    Desired content max frame-average luminance: 115 (603.666 cd/m^2)
    Desired content min luminance: 33 (0.101 cd/m^2)
  Detailed Timing Descriptors:
    DTD 2:  1920x1080  119.982181 Hz  16:9    137.260 kHz    285.500000 MHz (708 mm x 399 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   56 Vpol N
    DTD 3:  2560x1440  119.997589 Hz  16:9    182.996 kHz    497.750000 MHz (708 mm x 399 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   77 Vpol N
    DTD 4:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (708 mm x 399 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
Checksum: 0xda

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

Block 2, DisplayID Extension Block:
  Version: 1.2
  Extension Count: 0
  Display Product Type: Standalone display device
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  3840x2160  143.962777 Hz  16:9    318.878 kHz   1250.000000 MHz (aspect 16:9, no 3D stereo)
               Hfront    8 Hsync  32 Hback   40 Hpol P
               Vfront   41 Vsync   8 Vback    6 Vpol N
    DTD:  3840x2160  119.880112 Hz  16:9    274.166 kHz   1074.730000 MHz (aspect 16:9, no 3D stereo)
               Hfront    8 Hsync  32 Hback   40 Hpol P
               Vfront  113 Vsync   8 Vback    6 Vpol N
    DTD:  2560x1440  143.969127 Hz  16:9    217.393 kHz    591.310000 MHz (aspect 16:9, no 3D stereo)
               Hfront   80 Hsync  32 Hback   48 Hpol P
               Vfront   62 Vsync   5 Vback    3 Vpol N
    DTD:  1920x1080  143.981451 Hz  16:9    166.587 kHz    346.500000 MHz (aspect 16:9, no 3D stereo)
               Hfront   48 Hsync  32 Hback   80 Hpol P
               Vfront    3 Vsync   5 Vback   69 Vpol N
  Checksum: 0x1f
Checksum: 0x90

2560x1440@143.97 and 1920x1080@143.98 are obviously read so I suspect the problem is the cable.
https://en.wikipedia.org/wiki/DisplayPo … ncy_limits
https://en.wikipedia.org/wiki/DisplayPort#2.1
You need a DP40 cable at least, also make sure the GPU has a DP2.x output

Add

Option "ModeDebug" "True"

to the Screen or Device section  of your nvidia xorg configlet to log the mode validation into the xorg log.

Offline

#3 2024-02-22 15:22:28

alexandrelamarche
Member
Registered: 2024-02-22
Posts: 2

Re: EDID Parsing Stops at Block 0 - Missing refresh rates

Thanks. Turns out the "DP 1.4 4k@144hz" cable I bought on amazon last year was actually DP 1.2, capped at HBR2 speeds (i.e. 4 lanes at 5.4 gbps)... The reason why I really thought Linux was the problem was that Windows and Ubuntu 22 both make it work somehow, I guess using DSC or another shenanigan...

Thank you very much for the help. At least I can say that I learned a lot. smile

Last edited by alexandrelamarche (2024-02-22 15:23:13)

Offline

#4 2024-02-22 18:57:28

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,395

Re: EDID Parsing Stops at Block 0 - Missing refresh rates

DSC shouldn't be a problem and just work out of the box.

Display is continuous frequency

https://wiki.archlinux.org/title/Variab … _on_NVIDIA ?

Offline

Board footer

Powered by FluxBB