• [gentoo-user] edid problems

    From Jack@21:1/5 to All on Mon Aug 26 01:40:01 2024
    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?
    I'm sorry nothing was successful. Maybe try some other arguments
    if you played with them, or send an email to Matthew Kern <[email protected]>.
    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

    Performing real mode VBE call
    Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
    Function unsupported
    Call failed

    VBE version 0
    VBE string at 0x0 "O�"

    VBE/DDC service about to be called
    Report DDC capabilities

    Performing real mode VBE call
    Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
    Function unsupported
    Call failed

    Reading next EDID block

    VBE/DDC service about to be called
    Read EDID

    Performing real mode VBE call
    Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
    Function unsupported
    Call failed

    The EDID data should not be trusted as the VBE call failed
    Error: output block unchanged
    I'm sorry nothing was successful. Maybe try some other arguments
    if you played with them, or send an email to Matthew Kern <[email protected]>.
    Partial Read... Try again

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Mon Aug 26 11:43:40 2024
    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 <[email protected]>.
    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/

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmbMXFwACgkQseqq9sKV ZxmznxAAntTBtUQ+WPSTyHp2bbTzyZMquE7pzO4Q/nTkuAYE+pWVJK1wo2iA+J3d D7cysjnzQFNA5lPXpGr/psoE76M6fQ8CyjD88dmCws6t2D9+jJkBUU6sImH6PShU iI+GW+Z8KA8PmWUNoSRhBZ9DPk35nQK7G6e09VOOLBDMML/zaHrPULosMjJoLNjt WSiMcqbFg3xcitv3JbY4kVNmmpmcJ3PuCjFDjxwzqvPRPh6KRdqw1isCAHAVKD43 x+xcbLqMuQRzbLbS4DbFezuRGOdmFl8KMRBGfEtUaEB+KM2mCS5tMBLKiRU966/u m6BMSdbe/4lwguqkpxME/wayYYvI4N0cUD4FIoOTTEAMK11eqfbxi+Fj4p/IVpIz PeC89UPi7HwHjmJdA3LEKNlnmsNpmQcbjYD+CO5nKcipCX+fBDiR88cqE/qCO3jX tNujIEytj3wtoIS1Tpv+fONosZkS3ApI+7QhHacmrlew8IDJBbyooPV0UlqPo0za zKEWIXyKR2Mgz0CCXzqLBSxzxCG3kwl+VJaKa+WN87t16e48ytC7/PCk0W/QaW+E wGACEh//XUp3G2fG4CB4xDqnqsBs8BRn89Ddq4JkPTaIedjuCQEj1kpuwdOK47Wp MXj2/wEyFLvTxzgUsAQvdhhpAzaMAUTEgy8HE8duVwK+R07T+rk=
    =7mgt
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)