Sunday, April 26, 2009

Get EDID information

To know what your monitor supports, it passes along information to the operating system known as EDID. With this information your computer can then present you with the properly supported display resolutions and frequencies that are supported by your monitor.
Sometimes you may have a problem where you are only able to select very low screen resolutions such as 640 X 480 and 800 X 600. This is usually caused by not having the correct drivers installed for your graphics cards, but it can also be a problem of your monitor not passing the EDID information properly.
Fortunately for us Linux folks there is a way to get this information from the monitor. The following commands worked on my Ubuntu 9.04 Jaunty desktop and Ubuntu 10.04 Lucid workstation.


$ sudo aptitude install read-edid
$ sudo get-edid | sudo parse-edid
parse-edid: parse-edid version 1.4.1
get-edid: get-edid version 1.4.1

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

VBE version 300
VBE string at 0x11110 "Intel(r)GM965/PM965/GL960 Graphics Chip Accelerated VGA BIOS"

VBE/DDC service about to be called
Report DDC capabilities

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

Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination supports DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer

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 supported
Call successful

parse-edid: EDID checksum passed.

# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:0
# Block type: 2:0 3:fe
# Block type: 2:0 3:fe
Identifier "AUO:4714"
VendorName "AUO"
ModelName "AUO:4714"
# Block type: 2:0 3:0
# Block type: 2:0 3:fe
# Block type: 2:0 3:fe
# DPMS capabilities: Active off:no Suspend:no Standby:no

Mode "1440x900" # vfreq 60.031Hz, hfreq 54.868kHz
DotClock 108.200000
HTimings 1440 1504 1536 1972
VTimings 900 903 906 914
Flags "-HSync" "-VSync"
EndMode
# Block type: 2:0 3:0
# Block type: 2:0 3:fe
# Block type: 2:0 3:fe
EndSection


Using this information you can safely rule-out, or not, a problem with your monitor's EDID.

Update 09/14/2010: Checked that these instructions are still valid as of Ubuntu 10.04 Lucid Lynx.

1 comment:

  1. First of all let me thank you for this info. I have been trying to get a Jaunty system configured for dual monitor use but have been unable to attain the maximum resolution for the external monitor (Samsung SyncMaster 940mw). It appears that the monitor is not capable of transmitting its EDID info, as this output would suggest:

    *************************
    sudo get-edid | sudo parse-edid
    parse-edid: parse-edid version 1.4.1
    get-edid: get-edid version 1.4.1

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

    VBE version 300
    VBE string at 0x11110 "Intel(r)852GM/852GME/855GM/855GME Graphics Chip Accelerated VGA BIOS"

    VBE/DDC service about to be called
    Report DDC capabilities

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

    Monitor and video card combination does not support DDC1 transfers
    Monitor and video card combination does not support DDC2 transfers
    0 seconds per 128 byte EDID block transfer
    Screen is not blanked during DDC transfer

    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 supported
    Call failed

    The EDID data should not be trusted as the VBE call failed
    Error: output block unchanged
    parse-edid: IO error reading EDID
    ************************
    Since the system cannot read this data, it appears that it uses some "generic" settings, ie max resolution of 1360x768, when the monitor is capable of 1440x900.
    Would anyone have suggestions as to how I can force the system to use the proper settings, ie would editing the xorg.conf with info from the monitor spec sheet allow me to use the resolution this monitor is capable of? Thanks for any input.

    Carl

    ReplyDelete