On Monday, 26 August 2024 00:37:24 BST Jack wrote:
> While following the "New machine: Contents of display are offset around
> 2 inches from the left hand side." thread, I thought I would try
> get-edid myself.  Unfortunately, I get
> 
> This is read-edid version 3.0.2. Prepare for some fun.
> Attempting to use i2c interface
> Looks like no busses have an EDID. Sorry!
> Attempting to use the classical VBE interface
> mmap /dev/zero: Operation not permitted
> error initialising realmode interface
> do you have full superuser (root) permissions?

^^^^^
You need direct hardware access of the I2C buses, which only root should be 
able to do.


> I'm sorry nothing was successful. Maybe try some other arguments
> if you played with them, or send an email to Matthew Kern
> <pyrophobic...@gmail.com>.
> Partial Read... Try again
> 
> Lots of searching led me to try
> 
> $sudo mount -o remount,exec /dev
> 
> which seemed to work, maybe.  Now I get
> 
> This is read-edid version 3.0.2. Prepare for some fun.
> Attempting to use i2c interface
> Looks like no busses have an EDID. Sorry!
> Attempting to use the classical VBE interface

Unless you're using a VESA monitor from the 90s the VBE method would not 
deliver anything meaningful.


[Snip ...]
> The EDID data should not be trusted as the VBE call failed
> Error: output block unchanged

And as you can see the VBE method was not able to access anything.


> However, xrandr works fine, showing me
> 
> DisplayPort-0 connected primary 2560x1440+0+0 (normal left inverted
> right x axis y axis) 597mm x 336mm
>     2560x1440     74.60*+  59.95
> ....
> HDMI-A-0 connected 2560x1440+2560+0 (normal left inverted right x axis
> y axis) 597mm x 336mm
>     2560x1440     74.60*+  59.95
> ....
> DVI-I-0 disconnected (normal left inverted right x axis y axis)
> DVI-I-1 disconnected (normal left inverted right x axis y axis)
> 
> (where the .... are 18 other modelines.)
> 
> My monitors work fine, but I'm curious why get-edid is failing.
> 
> My mobo is
>    MSI B50 Tomahawk
> and my GPU is
>    VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
> Cape Verde XT [Radeon HD 7770/8760 / R7 250X].
> 
> Any thoughyts or suggestions?
> 
> Thanks.
> 
> Jack

Some ideas to look into if you're curious:

1. Do you have I2C enabled in your kernel, for your hardware:

https://wiki.gentoo.org/wiki/I2C

2. Does Xorg.0.log provide an EDID table output?

3. Are you using KVM/adaptors in your cabling?

4. Have you tried a different port on the card?

5. Have you tried a different card/graphics driver (amdgpu Vs radeon)?

What I've come to realise:

- Some EDID tables provide buggy/corrupt data.
- Many EDID outputs are not DDC standard compliant.
- Some Cables/ports/adapters can introduce data corruption.
- Some interfaces (DP, HDMI, DVI, VGA) provide more data than others, with the 
same monitor and graphics card/driver.
- Modern graphics cards and drivers can cope with corrupt/missing EDID data.
- VGA does not hot plug.
- Switching sources on the fly may not work, when rebooting does.
- Correcting/editing an EDID table is something I hope I won't have to do.  
Best attempted by someone more competent than me.

On a PC I have here with two 1920x1080 monitors, the HDMI port reports:

~ # get-edid -b 0 | parse-edid 
0
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 0 as per your request.
256-byte EDID successfully retrieved from i2c bus 0
Looks like i2c was successful. Have a good day.
Checksum Correct

Section "Monitor"
        Identifier "ASUS VS239"
        ModelName "ASUS VS239"
        VendorName "ACI"
        # Monitor Manufactured week 43 of 2014
        # EDID version 1.3
        # Digital Display
        DisplaySize 510 290
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 24-83
        VertRefresh 50-75
        # Maximum pixel clock is 170MHz
        #Not giving standard mode: 1920x1080, 60Hz
        #Not giving standard mode: 1280x960, 60Hz
        #Not giving standard mode: 1280x1024, 60Hz
        #Not giving standard mode: 1440x900, 60Hz
        #Not giving standard mode: 1680x1050, 60Hz
        #Not giving standard mode: 1152x864, 75Hz
        #Not giving standard mode: 1280x720, 60Hz
        #Not giving standard mode: 1280x800, 60Hz

        #Extension block found. Parsing...
        Modeline        "Mode 16" -hsync -vsync 
        Modeline        "Mode 0" +hsync +vsync 
        Modeline        "Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync 
-vsync
        Modeline        "Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync 
-vsync
        Modeline        "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync 
-vsync
        Modeline        "Mode 4" 27.000 720 732 796 864 576 581 586 625 -hsync 
-vsync
        Modeline        "Mode 5" 27.000 720 732 796 864 576 581 586 625 -hsync 
-vsync
        Modeline        "Mode 6" 74.250 1280 1720 1760 1980 720 725 730 750 
+hsync +vsync
        Modeline        "Mode 7" 74.250 1280 1390 1420 1650 720 725 730 750 
+hsync +vsync
        Modeline        "Mode 8" 74.250 1920 2448 2492 2640 1080 1082 1089 
1125 +hsync +vsync interlace
        Modeline        "Mode 9" 74.250 1920 2008 2052 2200 1080 1082 1087 
1125 +hsync +vsync interlace
        Modeline        "Mode 10" 54.054 1440 1472 1596 1716 480 489 495 525 -
hsync -vsync
        Modeline        "Mode 11" 54.054 1440 1472 1596 1716 480 489 495 525 -
hsync -vsync
        Modeline        "Mode 12" 54.000 1440 1464 1592 1728 576 581 586 625 -
hsync -vsync
        Modeline        "Mode 13" 54.000 1440 1464 1592 1728 576 581 586 625 -
hsync -vsync
        Modeline        "Mode 14" 148.500 1920 2448 2492 2640 1080 1084 1089 
1125 +hsync +vsync
        Modeline        "Mode 15" 148.500 1920 2008 2052 2200 1080 1084 1089 
1125 +hsync +vsync
        Modeline        "Mode 17" +hsync +vsync 
        Modeline        "Mode 18" +hsync +vsync 
        Modeline        "Mode 19" -hsync -vsync 
        Option "PreferredMode" "Mode 16"
EndSection

While the DVI port only reports:

~ # get-edid -b 2 | parse-edid 
2
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 2 as per your request.
128-byte EDID successfully retrieved from i2c bus 2
Looks like i2c was successful. Have a good day.
Checksum Correct

Section "Monitor"
        Identifier "DELL ST2320L"
        ModelName "DELL ST2320L"
        VendorName "DEL"
        # Monitor Manufactured week 27 of 2010
        # EDID version 1.3
        # Digital Display
        DisplaySize 510 290
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 30-83
        VertRefresh 56-76
        # Maximum pixel clock is 170MHz
        #Not giving standard mode: 1152x864, 75Hz
        #Not giving standard mode: 1280x1024, 60Hz
        #Not giving standard mode: 1920x1080, 60Hz
        Modeline        "Mode 0" +hsync +vsync 
EndSection

Both monitors work fine, although the second monitor above occasionally 
displays artefacts/distortion until the desktop is fully loaded.  It is 
difficult to access the monitors and swap the cables/ports to prove if the 
EDID obtained via HDMI Vs DVI is different.

Surprisingly, the second monitor's hexadecimal EDID copied from Xorg.0.log 
passes the EDID conformity checks, while the first monitor fails, when pasted 
in this page:

https://people.freedesktop.org/~imirkin/edid-decode/

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to