Dell U3011 HDMI EDID override

Last modified by Leon Poon on 2021/03/05 12:25

Back panel:

u3011_back.png

HDMI 2560x1600@60Hz.

2560x1600@60Hz Sweeet

#!/bin/bash
cvt -r 2560 1600 60 
# 2560x1600 59.97 Hz (CVT 4.10MA-R) hsync: 98.71 kHz; pclk: 268.50 MHz
Modeline "2560x1600R"  268.50  2560 2608 2640 2720  1600 1603 1609 1646 +hsync -vsync

edid.bin (you should insert your own monitor serial number):

0000000 ff00 ffff ffff 00ff ac10 4064 0000 0000
0000010 161b 0301 4080 7828 8dea ad85 354f 25b1
0000020 500e a554 004b 4f71 0081 8081 00d1 40a9
0000030 0101 0101 0101 68e2 a000 40a0 602e 2030
0000040 0036 9181 0021 1a00 0000 ff00 4100 3142
0000050 4443 3332 3635 3837 0a58 0000 fc00 4400
0000060 4c45 204c 3355 3130 0a31 2020 0000 fd00
0000070 3100 1d56 2371 0a00 2020 2020 2020 df01
0000080 0302 f129 9050 0405 0203 1607 0601 1211
0000090 1315 1f14 2320 7f0d 8307 000f 6700 0c03
00000a0 1000 3800 e32d 0305 0201 803a 7118 2d38
00000b0 5840 452c 8100 2191 0000 011e 801d 7118
00000c0 161c 5820 252c 8100 2191 0000 019e 001d
00000d0 5172 1ed0 6e20 5528 8100 2191 0000 281e
00000e0 803c 70a0 23b0 3040 3620 8100 2191 0000
00000f0 001a 0000 0000 0000 0000 0000 0000 1600
0000100

xorg.conf (Nvidia)

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "metamodes" "2560x1600_60 +0+0"
    SubSection     "Display"
        Depth       24
        Modes      "2560x1600"
    EndSubSection
    Option         "CustomEDID" "GPU-0.DFP-2:/etc/edid.bin"
EndSection

Xorg.0.log

[ 10899.071] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 10899.071] (==) NVIDIA(0): RGB weight 888
[ 10899.071] (==) NVIDIA(0): Default visual is TrueColor
[ 10899.071] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 10899.071] (**) NVIDIA(0): Option "CustomEDID" "GPU-0.DFP-2:/etc/edid.bin"
[ 10899.071] (**) NVIDIA(0): Option "MetaModes" "2560x1600_60 +0+0"
[ 10899.071] (**) NVIDIA(0): Enabling 2D acceleration
[ 10899.071] (II) Loading sub module "glxserver_nvidia"
[ 10899.071] (II) LoadModule: "glxserver_nvidia"
[ 10899.071] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[ 10899.074] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[ 10899.074]    compiled for 4.0.2, module version = 1.0.0
[ 10899.074]    Module class: X.Org Server Extension
[ 10899.074] (II) NVIDIA GLX Module  410.78  Sat Nov 10 22:12:55 CST 2018
[ 10899.657] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[ 10899.657] (--) NVIDIA(0):     DFP-0
[ 10899.657] (--) NVIDIA(0):     DFP-1
[ 10899.657] (--) NVIDIA(0):     DFP-2 (boot)
[ 10899.657] (--) NVIDIA(0):     DFP-3
[ 10899.657] (--) NVIDIA(0):     DFP-4
[ 10899.657] (--) NVIDIA(0):     DFP-5
[ 10899.657] (--) NVIDIA(0):     DFP-6
[ 10899.657] (--) NVIDIA(0):     DFP-7
[ 10899.659] (II) NVIDIA(0): NVIDIA GPU GeForce RTX 2070 (TU106-A) at PCI:1:0:0 (GPU-0)
[ 10899.659] (--) NVIDIA(0): Memory: 8388608 kBytes
[ 10899.659] (--) NVIDIA(0): VideoBIOS: 90.06.16.00.30
[ 10899.659] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 10899.659] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 10899.659] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 10899.659] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 10899.659] (--) NVIDIA(GPU-0):
[ 10899.659] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 10899.659] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 10899.659] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 10899.659] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DELL U3011 (DFP-2): connected
[ 10899.660] (--) NVIDIA(GPU-0): DELL U3011 (DFP-2): Internal TMDS
[ 10899.660] (--) NVIDIA(GPU-0): DELL U3011 (DFP-2): 600.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DFP-3: disconnected
[ 10899.660] (--) NVIDIA(GPU-0): DFP-3: Internal DisplayPort
[ 10899.660] (--) NVIDIA(GPU-0): DFP-3: 1440.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DFP-4: disconnected
[ 10899.660] (--) NVIDIA(GPU-0): DFP-4: Internal TMDS
[ 10899.660] (--) NVIDIA(GPU-0): DFP-4: 165.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DFP-5: disconnected
[ 10899.660] (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort
[ 10899.660] (--) NVIDIA(GPU-0): DFP-5: 1440.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DFP-6: disconnected
[ 10899.660] (--) NVIDIA(GPU-0): DFP-6: Internal TMDS
[ 10899.660] (--) NVIDIA(GPU-0): DFP-6: 165.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.660] (--) NVIDIA(GPU-0): DFP-7: disconnected
[ 10899.660] (--) NVIDIA(GPU-0): DFP-7: Internal DisplayPort
[ 10899.660] (--) NVIDIA(GPU-0): DFP-7: 1440.0 MHz maximum pixel clock
[ 10899.660] (--) NVIDIA(GPU-0):
[ 10899.703] (II) NVIDIA(0): Validated MetaModes:
[ 10899.703] (II) NVIDIA(0):     "2560x1600_60+0+0"
[ 10899.703] (II) NVIDIA(0): Virtual screen size determined to be 2560 x 1600
[ 10899.745] (--) NVIDIA(0): DPI set to (101, 101); computed from "UseEdidDpi" X config
[ 10899.745] (--) NVIDIA(0):     option
[ 10899.745] (--) Depth 24 pixmap format is 32 bpp
[ 10899.746] (II) NVIDIA: Using 24576.00 MB of virtual memory for indirect memory
[ 10899.746] (II) NVIDIA:     access.
[ 10899.764] (II) NVIDIA(0): Setting mode "2560x1600_60+0+0"
[ 10899.835] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 10899.835] (==) NVIDIA(0): Backing store enabled
[ 10899.835] (==) NVIDIA(0): Silken mouse enabled
[ 10899.835] (**) NVIDIA(0): DPMS enabled
[ 10899.835] (WW) NVIDIA(0): Option "PreferredMode" is not used

https://www.tecmint.com/best-hex-editors-for-linux/ - wxhexeditor

https://kodi.wiki/view/Creating_and_using_edid.bin_via_xorg.conf#Method_2:_Generate_edid.bin_from_an_Xorg_modeline_.28edid-generator.29

https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

https://nvidia.custhelp.com/app/answers/detail/a_id/3571/~/managing-a-display-edid-on-linux

https://wiki.xp-el.com/_media/info:video_monitor_dell_u3011.pdf

colordiff -ruBbE -U3000 <(edid-decode < edid-rw/edid.bin ) <(edid-decode < edid.bin )
--- /dev/fd/63  2019-03-31 01:11:29.955997230 +0800
+++ /dev/fd/62  2019-03-31 01:11:29.955997230 +0800
@@ -1,109 +1,109 @@
Extracted contents:
 header:          00 ff ff ff ff ff ff 00
 serial number:   10 ac 64 40 00 00 00 00 1b 16
 version:         01 03
 basic params:    80 40 28 78 ea
 chroma info:     8d 85 ad 4f 35 b1 25 0e 50 54
 established:     a5 4b 00
 standard:        71 4f 81 00 81 80 d1 00 a9 40 01 01 01 01 01 01
-descriptor 1:    28 3c 80 a0 70 b0 23 40 30 20 36 00 81 91 21 00 00 1a
+descriptor 1:    e2 68 00 a0 a0 40 2e 60 30 20 36 00 81 91 21 00 00 1a
descriptor 2:    00 00 00 ff 00 41 42 31 43 44 32 33 35 36 37 38 58 0a
 descriptor 3:    00 00 00 fc 00 44 45 4c 4c 20 55 33 30 31 31 0a 20 20
-descriptor 4:    00 00 00 fd 00 31 56 1d 5e 12 00 0a 20 20 20 20 20 20
+descriptor 4:    00 00 00 fd 00 31 56 1d 71 23 00 0a 20 20 20 20 20 20
extensions:      01
-checksum:        30
+checksum:        df

 Manufacturer: DEL Model 4064 Serial Number 0
 Made week 27 of 2012
 EDID version: 1.3
 Digital display
 Maximum image size: 64 cm x 40 cm
 Gamma: 2.20
 DPMS levels: Standby Suspend Off
 Supported color formats: RGB 4:4:4, YCrCb 4:4:4
 First detailed timing is preferred timing
 Established timings supported:
   720x400@70Hz
   640x480@60Hz
   640x480@75Hz
   800x600@60Hz
   800x600@75Hz
   1024x768@60Hz
   1024x768@75Hz
   1280x1024@75Hz
 Standard timings supported:
   1152x864@75Hz
   1280x800@60Hz
   1280x1024@60Hz
   1920x1200@60Hz
   1600x1200@60Hz
-Detailed mode: Clock 154.000 MHz, 641 mm x 401 mm
-               1920 1968 2000 2080 hborder 0
-               1200 1203 1209 1235 vborder 0
+Detailed mode: Clock 268.500 MHz, 641 mm x 401 mm
+               2560 2608 2640 2720 hborder 0
+               1600 1603 1609 1646 vborder 0
               +hsync -vsync
 Serial number: AB1CD235678X
 Monitor name: DELL
-Monitor ranges (GTF): 49-86Hz V, 29-94kHz H, max dotclock 180MHz
+Monitor ranges (GTF): 49-86Hz V, 29-113kHz H, max dotclock 350MHz
Has 1 extension blocks
-Checksum: 0x30 (valid)
+Checksum: 0xdf (valid)

 CEA extension block
 Extension version: 3
 37 bytes of CEA data
   Video data block
     VIC  16 1920x1080@60Hz (native)
     VIC   5 1920x1080i@60Hz
     VIC   4 1280x720@60Hz
     VIC   3 720x480@60Hz
     VIC   2 720x480@60Hz
     VIC   7 1440x480i@60Hz
     VIC  22 1440x576i@50Hz
     VIC   1 640x480@60Hz
     VIC   6 1440x480i@60Hz
     VIC  17 720x576@50Hz
     VIC  18 720x576@50Hz
     VIC  21 1440x576i@50Hz
     VIC  19 1280x720@50Hz
     VIC  20 1920x1080i@50Hz
     VIC  31 1920x1080@50Hz
     VIC  32 1920x1080@24Hz
   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
   Speaker allocation data block
     Speaker map: FL/FR LFE FC RL/RR
   Vendor-specific data block, OUI 000c03 (HDMI)
     Source physical address 1.0.0.0
     DC_36bit
     DC_30bit
     DC_Y444
     Maximum TMDS clock: 225MHz
   Extended tag: Colorimetry data block
     xvYCC601
     xvYCC709
 Underscans PC formats by default
 Basic audio support
 Supports YCbCr 4:4:4
 Supports YCbCr 4:2:2
 1 native detailed modes
 Detailed mode: Clock 148.500 MHz, 641 mm x 401 mm
                1920 2008 2052 2200 hborder 0
                1080 1084 1089 1125 vborder 0
                +hsync +vsync
 Detailed mode: Clock 74.250 MHz, 641 mm x 401 mm
                1920 2008 2052 2200 hborder 0
                 540  542  547  562 vborder 0
                +hsync +vsync interlaced
 Detailed mode: Clock 74.250 MHz, 641 mm x 401 mm
                1280 1390 1430 1650 hborder 0
                 720  725  730  750 vborder 0
                +hsync +vsync
-Detailed mode: Clock 27.000 MHz, 641 mm x 401 mm
-                720  736  798  858 hborder 0
-                480  489  495  525 vborder 0
-               -hsync -vsync
-Checksum: 0x94 (valid)
+Detailed mode: Clock 154.000 MHz, 641 mm x 401 mm
+               1920 1968 2000 2080 hborder 0
+               1200 1203 1209 1235 vborder 0
+               +hsync -vsync
+Checksum: 0x16 (valid)

 EDID block does NOT conform to EDID 1.3!
        Detailed block string not properly terminated
colordiff -ruBbE -U3000 <(hexdump edid-rw/edid.bin ) <(hexdump /etc/edid.bin )
--- /dev/fd/63  2019-03-31 01:10:34.027759999 +0800
+++ /dev/fd/62  2019-03-31 01:10:34.027759999 +0800
@@ -1,17 +1,17 @@
0000000 ff00 ffff ffff 00ff ac10 4064 0000 0000
 0000010 161b 0301 4080 7828 8dea ad85 354f 25b1
 0000020 500e a554 004b 4f71 0081 8081 00d1 40a9
-0000030 0101 0101 0101 3c28 a080 b070 4023 2030
+0000030 0101 0101 0101 68e2 a000 40a0 602e 2030
0000040 0036 9181 0021 1a00 0000 ff00 4100 3142
 0000050 4443 3332 3635 3837 0a58 0000 fc00 4400
 0000060 4c45 204c 3355 3130 0a31 2020 0000 fd00
-0000070 3100 1d56 125e 0a00 2020 2020 2020 3001
+0000070 3100 1d56 2371 0a00 2020 2020 2020 df01
0000080 0302 f129 9050 0405 0203 1607 0601 1211
 0000090 1315 1f14 2320 7f0d 8307 000f 6700 0c03
 00000a0 1000 3800 e32d 0305 0201 803a 7118 2d38
 00000b0 5840 452c 8100 2191 0000 011e 801d 7118
 00000c0 161c 5820 252c 8100 2191 0000 019e 001d
-00000d0 5172 1ed0 6e20 5528 8100 2191 0000 8c1e
-00000e0 d00a 208a 2de0 1010 963e 8100 2191 0000
-00000f0 0018 0000 0000 0000 0000 0000 0000 9400
+00000d0 5172 1ed0 6e20 5528 8100 2191 0000 281e
+00000e0 803c 70a0 23b0 3040 3620 8100 2191 0000
+00000f0 001a 0000 0000 0000 0000 0000 0000 1600
0000100

Convert edid-hdmi.bin to windows reg file:

hexdump -C edid-hdmi.bin | sed -r \
-e 's/ /,/g' -e 's/,,/  /g' \
-e 's/  \|.*//g' \
-e 's/^00000000  /"0"=hex:/g' \
-e 's/^00000080  /"1"=hex:/g' \
-e 's/^........  /  /g' \
-e 's/(.{4})  /\1,/g' \
-e 's/$/,\\/g'

Fix the trailing commas, add your own header:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\DEL4064\YOUR_UID_HEREEEEE\Device Parameters\EDID_Override]
"0"=hex:...
"1"=hex:...