How to get EDID for a single monitor?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
17
down vote

favorite
7












Pending an answer to xrandr detects amplifier as monitor a possible workaround is to blacklist devices with specific EDIDs. Unfortunately xrandr --verbose prints everything in a format which is cumbersome to parse and doesn't support querying single devices, and get-edid's output doesn't seem to be easy to map to xrandr's monitor IDs (for example DVI-1).



Is there some way to get an easily parseable EDID for a single monitor?










share|improve this question























  • I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
    – Gilles
    Feb 10 '14 at 1:01














up vote
17
down vote

favorite
7












Pending an answer to xrandr detects amplifier as monitor a possible workaround is to blacklist devices with specific EDIDs. Unfortunately xrandr --verbose prints everything in a format which is cumbersome to parse and doesn't support querying single devices, and get-edid's output doesn't seem to be easy to map to xrandr's monitor IDs (for example DVI-1).



Is there some way to get an easily parseable EDID for a single monitor?










share|improve this question























  • I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
    – Gilles
    Feb 10 '14 at 1:01












up vote
17
down vote

favorite
7









up vote
17
down vote

favorite
7






7





Pending an answer to xrandr detects amplifier as monitor a possible workaround is to blacklist devices with specific EDIDs. Unfortunately xrandr --verbose prints everything in a format which is cumbersome to parse and doesn't support querying single devices, and get-edid's output doesn't seem to be easy to map to xrandr's monitor IDs (for example DVI-1).



Is there some way to get an easily parseable EDID for a single monitor?










share|improve this question















Pending an answer to xrandr detects amplifier as monitor a possible workaround is to blacklist devices with specific EDIDs. Unfortunately xrandr --verbose prints everything in a format which is cumbersome to parse and doesn't support querying single devices, and get-edid's output doesn't seem to be easy to map to xrandr's monitor IDs (for example DVI-1).



Is there some way to get an easily parseable EDID for a single monitor?







xrandr edid






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:36









Community♦

1




1










asked Feb 9 '14 at 12:01









l0b0

26.6k17106232




26.6k17106232











  • I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
    – Gilles
    Feb 10 '14 at 1:01
















  • I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
    – Gilles
    Feb 10 '14 at 1:01















I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
– Gilles
Feb 10 '14 at 1:01




I'd go for xrandr parsing. It's cumbersome, but you just write your script once and for all, and then it'll work everywhere.
– Gilles
Feb 10 '14 at 1:01










4 Answers
4






active

oldest

votes

















up vote
17
down vote



accepted










Lead #1: monitor-edid



I'm not that up on EDID and monitors but I did find this tool, monitor-edid which might be of use to you here as well.



Forgive me if it's off base, I'm trying to also learn more about this space, given the variety of questions you ask on the topic.



$ monitor-edid 
EISA ID: LEN4036
EDID version: 1.3
EDID extension blocks: 0
Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
Gamma: 2.2
Digital signal

# Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

# Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync


Lead #2: ddcontrol



There was another tool that I came across called ddccontrol, which might be helpful in getting the information you're after.



Lead #3: /sys



Finally in poking through /sys I noticed that there were leaf nodes hanging off of the various video interfaces.



$ sudo find . |grep -i edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
./module/drm/parameters/edid_fixup
./module/drm_kms_helper/parameters/edid_firmware


However on my Lenovo laptop these "files" were empty, perhaps they're different on your system. I found this forum thread that showed sample output from the VGA EDID.



$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
$ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..


Source: Extract Monitor Serial Number / Manufacture Date Using EDID?.



References



  • Monitor-edid

  • The new homepage of read-edid

  • Extended display identification data





share|improve this answer






















  • @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
    – slm♦
    Feb 10 '14 at 12:54










  • #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
    – user.dz
    Sep 25 '15 at 18:39










  • #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
    – noobninja
    Jun 4 '16 at 12:18










  • The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
    – Peter W.
    Jul 3 '16 at 22:50











  • @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
    – slm♦
    Jul 4 '16 at 2:35


















up vote
10
down vote













The output of xrandr --props contains hex EDID strings for each connected display in a less verbose way. Here's a simple Python script exploiting this to grab an EDID for a specific connected monitor.



I haven't found any other distro-packaged CLI tools that work for EDID extraction on my NVidia-based system, but most tools for parsing a binary EDID seem to work fine.






share|improve this answer



























    up vote
    5
    down vote













    If you happen to be using a x86 or powerpc arch, you could use read-edid. On debian this is available here.



    Usage is simply (you need to be root):



    $ sudo get-edid > /tmp/edid


    and then parse the structure:



    $ parse-edid < /tmp/edid
    Checksum Correct

    Section "Monitor"
    Identifier "HP v220"
    ModelName "HP v220"
    VendorName "HWP"
    # Monitor Manufactured week 13 of 2008
    # EDID version 1.3
    # Analog Display
    DisplaySize 470 300
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-81
    VertRefresh 56-76
    # Maximum pixel clock is 160MHz
    #Not giving standard mode: 1152x720, 60Hz
    #Not giving standard mode: 1280x960, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1600x1000, 60Hz
    #Not giving standard mode: 1680x1050, 60Hz
    Modeline "Mode 0" -hsync +vsync
    EndSection


    Often this is combined into:



    $ sudo get-edid | parse-edid



    See also here on how to pass this custom edid file to your graphic card using either:



    • CustomEDID or,

    • drm_kms_helper.edid_firmare





    share|improve this answer


















    • 3




      Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
      – Delian Krustev
      Apr 19 '17 at 9:18


















    up vote
    0
    down vote













    A recent version of a tool called edid-decode can parse EDID information, and it can read and write text and binary EDID files. It works well on the output of xrandr --verbose. For example, It can be used to save the EDID in a binary file:



    xrandr --verbose | edid-decode - /file/to/save


    The version of edid-decode that comes with Fedora 27 (package: xorg-x11-utils) is too old and it doesn't work perfectly. I used the most recent version.






    share|improve this answer






















      Your Answer







      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













       

      draft saved


      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f114359%2fhow-to-get-edid-for-a-single-monitor%23new-answer', 'question_page');

      );

      Post as a guest






























      4 Answers
      4






      active

      oldest

      votes








      4 Answers
      4






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      17
      down vote



      accepted










      Lead #1: monitor-edid



      I'm not that up on EDID and monitors but I did find this tool, monitor-edid which might be of use to you here as well.



      Forgive me if it's off base, I'm trying to also learn more about this space, given the variety of questions you ask on the topic.



      $ monitor-edid 
      EISA ID: LEN4036
      EDID version: 1.3
      EDID extension blocks: 0
      Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
      Gamma: 2.2
      Digital signal

      # Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

      # Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync


      Lead #2: ddcontrol



      There was another tool that I came across called ddccontrol, which might be helpful in getting the information you're after.



      Lead #3: /sys



      Finally in poking through /sys I noticed that there were leaf nodes hanging off of the various video interfaces.



      $ sudo find . |grep -i edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
      ./module/drm/parameters/edid_fixup
      ./module/drm_kms_helper/parameters/edid_firmware


      However on my Lenovo laptop these "files" were empty, perhaps they're different on your system. I found this forum thread that showed sample output from the VGA EDID.



      $ lspci | grep VGA
      01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
      $ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
      0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
      0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
      0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
      0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
      0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
      0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
      0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
      0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..


      Source: Extract Monitor Serial Number / Manufacture Date Using EDID?.



      References



      • Monitor-edid

      • The new homepage of read-edid

      • Extended display identification data





      share|improve this answer






















      • @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
        – slm♦
        Feb 10 '14 at 12:54










      • #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
        – user.dz
        Sep 25 '15 at 18:39










      • #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
        – noobninja
        Jun 4 '16 at 12:18










      • The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
        – Peter W.
        Jul 3 '16 at 22:50











      • @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
        – slm♦
        Jul 4 '16 at 2:35















      up vote
      17
      down vote



      accepted










      Lead #1: monitor-edid



      I'm not that up on EDID and monitors but I did find this tool, monitor-edid which might be of use to you here as well.



      Forgive me if it's off base, I'm trying to also learn more about this space, given the variety of questions you ask on the topic.



      $ monitor-edid 
      EISA ID: LEN4036
      EDID version: 1.3
      EDID extension blocks: 0
      Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
      Gamma: 2.2
      Digital signal

      # Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

      # Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync


      Lead #2: ddcontrol



      There was another tool that I came across called ddccontrol, which might be helpful in getting the information you're after.



      Lead #3: /sys



      Finally in poking through /sys I noticed that there were leaf nodes hanging off of the various video interfaces.



      $ sudo find . |grep -i edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
      ./module/drm/parameters/edid_fixup
      ./module/drm_kms_helper/parameters/edid_firmware


      However on my Lenovo laptop these "files" were empty, perhaps they're different on your system. I found this forum thread that showed sample output from the VGA EDID.



      $ lspci | grep VGA
      01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
      $ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
      0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
      0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
      0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
      0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
      0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
      0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
      0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
      0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..


      Source: Extract Monitor Serial Number / Manufacture Date Using EDID?.



      References



      • Monitor-edid

      • The new homepage of read-edid

      • Extended display identification data





      share|improve this answer






















      • @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
        – slm♦
        Feb 10 '14 at 12:54










      • #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
        – user.dz
        Sep 25 '15 at 18:39










      • #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
        – noobninja
        Jun 4 '16 at 12:18










      • The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
        – Peter W.
        Jul 3 '16 at 22:50











      • @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
        – slm♦
        Jul 4 '16 at 2:35













      up vote
      17
      down vote



      accepted







      up vote
      17
      down vote



      accepted






      Lead #1: monitor-edid



      I'm not that up on EDID and monitors but I did find this tool, monitor-edid which might be of use to you here as well.



      Forgive me if it's off base, I'm trying to also learn more about this space, given the variety of questions you ask on the topic.



      $ monitor-edid 
      EISA ID: LEN4036
      EDID version: 1.3
      EDID extension blocks: 0
      Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
      Gamma: 2.2
      Digital signal

      # Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

      # Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync


      Lead #2: ddcontrol



      There was another tool that I came across called ddccontrol, which might be helpful in getting the information you're after.



      Lead #3: /sys



      Finally in poking through /sys I noticed that there were leaf nodes hanging off of the various video interfaces.



      $ sudo find . |grep -i edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
      ./module/drm/parameters/edid_fixup
      ./module/drm_kms_helper/parameters/edid_firmware


      However on my Lenovo laptop these "files" were empty, perhaps they're different on your system. I found this forum thread that showed sample output from the VGA EDID.



      $ lspci | grep VGA
      01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
      $ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
      0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
      0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
      0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
      0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
      0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
      0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
      0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
      0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..


      Source: Extract Monitor Serial Number / Manufacture Date Using EDID?.



      References



      • Monitor-edid

      • The new homepage of read-edid

      • Extended display identification data





      share|improve this answer














      Lead #1: monitor-edid



      I'm not that up on EDID and monitors but I did find this tool, monitor-edid which might be of use to you here as well.



      Forgive me if it's off base, I'm trying to also learn more about this space, given the variety of questions you ask on the topic.



      $ monitor-edid 
      EISA ID: LEN4036
      EDID version: 1.3
      EDID extension blocks: 0
      Screen size: 30.3 cm x 19.0 cm (14.08 inches, aspect ratio 16/10 = 1.59)
      Gamma: 2.2
      Digital signal

      # Monitor preferred modeline (60.0 Hz vsync, 55.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2044 900 903 909 930 -hsync -vsync

      # Monitor supported modeline (50.0 Hz vsync, 51.8 kHz hsync, ratio 16/10, 120 dpi)
      ModeLine "1440x900" 114.06 1440 1488 1520 2204 900 903 909 1035 -hsync -vsync


      Lead #2: ddcontrol



      There was another tool that I came across called ddccontrol, which might be helpful in getting the information you're after.



      Lead #3: /sys



      Finally in poking through /sys I noticed that there were leaf nodes hanging off of the various video interfaces.



      $ sudo find . |grep -i edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/edid
      ./devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/edid
      ./module/drm/parameters/edid_fixup
      ./module/drm_kms_helper/parameters/edid_firmware


      However on my Lenovo laptop these "files" were empty, perhaps they're different on your system. I found this forum thread that showed sample output from the VGA EDID.



      $ lspci | grep VGA
      01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 440 Go 64M] (rev a3)
      $ xxd /sys/devices/pci0000:00/0000:00:0b.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
      0000000: 00ff ffff ffff ff00 5a63 0213 0101 0101 ........Zc......
      0000010: 2b0a 0103 1c25 1bb0 eb00 b8a0 5749 9b26 +....%......WI.&
      0000020: 1048 4cff ff80 8199 8159 714f 6159 4559 .HL......YqOaYEY
      0000030: 3159 a94f 0101 863d 00c0 5100 3040 40a0 1Y.O...=..Q.0@@.
      0000040: 1300 680e 1100 001e 0000 00ff 0033 3139 ..h..........319
      0000050: 3030 3433 3030 3737 330a 0000 00fd 0032 004300773......2
      0000060: a01e 6114 000a 2020 2020 2020 0000 00fc ..a... ....
      0000070: 0047 3930 6d62 0a20 2020 2020 2020 00ba .G90mb. ..


      Source: Extract Monitor Serial Number / Manufacture Date Using EDID?.



      References



      • Monitor-edid

      • The new homepage of read-edid

      • Extended display identification data






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Jul 4 '16 at 2:35

























      answered Feb 9 '14 at 16:45









      slm♦

      239k65495665




      239k65495665











      • @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
        – slm♦
        Feb 10 '14 at 12:54










      • #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
        – user.dz
        Sep 25 '15 at 18:39










      • #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
        – noobninja
        Jun 4 '16 at 12:18










      • The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
        – Peter W.
        Jul 3 '16 at 22:50











      • @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
        – slm♦
        Jul 4 '16 at 2:35

















      • @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
        – slm♦
        Feb 10 '14 at 12:54










      • #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
        – user.dz
        Sep 25 '15 at 18:39










      • #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
        – noobninja
        Jun 4 '16 at 12:18










      • The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
        – Peter W.
        Jul 3 '16 at 22:50











      • @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
        – slm♦
        Jul 4 '16 at 2:35
















      @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
      – slm♦
      Feb 10 '14 at 12:54




      @l0b0 - has it only been 2? Seemed like more. I may be confusing the category of this Q w/ just you asking them. I will remove the offending bit 8-)
      – slm♦
      Feb 10 '14 at 12:54












      #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
      – user.dz
      Sep 25 '15 at 18:39




      #3 /sys/... works for me, I have Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) with i915 driver, Kubuntu 15.04
      – user.dz
      Sep 25 '15 at 18:39












      #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
      – noobninja
      Jun 4 '16 at 12:18




      #3 /sys/... and xrandr --verbose both return EDID data for my HDMI monitor, but neither return EDID data for my DVI monitor.
      – noobninja
      Jun 4 '16 at 12:18












      The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
      – Peter W.
      Jul 3 '16 at 22:50





      The monitor-edid link is dead and archive.org doesn't have any backups. Anyone know where I can get that tool?
      – Peter W.
      Jul 3 '16 at 22:50













      @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
      – slm♦
      Jul 4 '16 at 2:35





      @PeterW. - there's the alternative, thanks for bringing this to my attention. Also the tool is in most of the major repos. I found it in Fedora 24, for example and also CentOS. So you can install the tool as a binary which is probably a much easier option.
      – slm♦
      Jul 4 '16 at 2:35













      up vote
      10
      down vote













      The output of xrandr --props contains hex EDID strings for each connected display in a less verbose way. Here's a simple Python script exploiting this to grab an EDID for a specific connected monitor.



      I haven't found any other distro-packaged CLI tools that work for EDID extraction on my NVidia-based system, but most tools for parsing a binary EDID seem to work fine.






      share|improve this answer
























        up vote
        10
        down vote













        The output of xrandr --props contains hex EDID strings for each connected display in a less verbose way. Here's a simple Python script exploiting this to grab an EDID for a specific connected monitor.



        I haven't found any other distro-packaged CLI tools that work for EDID extraction on my NVidia-based system, but most tools for parsing a binary EDID seem to work fine.






        share|improve this answer






















          up vote
          10
          down vote










          up vote
          10
          down vote









          The output of xrandr --props contains hex EDID strings for each connected display in a less verbose way. Here's a simple Python script exploiting this to grab an EDID for a specific connected monitor.



          I haven't found any other distro-packaged CLI tools that work for EDID extraction on my NVidia-based system, but most tools for parsing a binary EDID seem to work fine.






          share|improve this answer












          The output of xrandr --props contains hex EDID strings for each connected display in a less verbose way. Here's a simple Python script exploiting this to grab an EDID for a specific connected monitor.



          I haven't found any other distro-packaged CLI tools that work for EDID extraction on my NVidia-based system, but most tools for parsing a binary EDID seem to work fine.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 27 '16 at 1:41









          Matt Vollrath

          1,104615




          1,104615




















              up vote
              5
              down vote













              If you happen to be using a x86 or powerpc arch, you could use read-edid. On debian this is available here.



              Usage is simply (you need to be root):



              $ sudo get-edid > /tmp/edid


              and then parse the structure:



              $ parse-edid < /tmp/edid
              Checksum Correct

              Section "Monitor"
              Identifier "HP v220"
              ModelName "HP v220"
              VendorName "HWP"
              # Monitor Manufactured week 13 of 2008
              # EDID version 1.3
              # Analog Display
              DisplaySize 470 300
              Gamma 2.20
              Option "DPMS" "true"
              Horizsync 30-81
              VertRefresh 56-76
              # Maximum pixel clock is 160MHz
              #Not giving standard mode: 1152x720, 60Hz
              #Not giving standard mode: 1280x960, 60Hz
              #Not giving standard mode: 1280x1024, 60Hz
              #Not giving standard mode: 1440x900, 60Hz
              #Not giving standard mode: 1600x1000, 60Hz
              #Not giving standard mode: 1680x1050, 60Hz
              Modeline "Mode 0" -hsync +vsync
              EndSection


              Often this is combined into:



              $ sudo get-edid | parse-edid



              See also here on how to pass this custom edid file to your graphic card using either:



              • CustomEDID or,

              • drm_kms_helper.edid_firmare





              share|improve this answer


















              • 3




                Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
                – Delian Krustev
                Apr 19 '17 at 9:18















              up vote
              5
              down vote













              If you happen to be using a x86 or powerpc arch, you could use read-edid. On debian this is available here.



              Usage is simply (you need to be root):



              $ sudo get-edid > /tmp/edid


              and then parse the structure:



              $ parse-edid < /tmp/edid
              Checksum Correct

              Section "Monitor"
              Identifier "HP v220"
              ModelName "HP v220"
              VendorName "HWP"
              # Monitor Manufactured week 13 of 2008
              # EDID version 1.3
              # Analog Display
              DisplaySize 470 300
              Gamma 2.20
              Option "DPMS" "true"
              Horizsync 30-81
              VertRefresh 56-76
              # Maximum pixel clock is 160MHz
              #Not giving standard mode: 1152x720, 60Hz
              #Not giving standard mode: 1280x960, 60Hz
              #Not giving standard mode: 1280x1024, 60Hz
              #Not giving standard mode: 1440x900, 60Hz
              #Not giving standard mode: 1600x1000, 60Hz
              #Not giving standard mode: 1680x1050, 60Hz
              Modeline "Mode 0" -hsync +vsync
              EndSection


              Often this is combined into:



              $ sudo get-edid | parse-edid



              See also here on how to pass this custom edid file to your graphic card using either:



              • CustomEDID or,

              • drm_kms_helper.edid_firmare





              share|improve this answer


















              • 3




                Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
                – Delian Krustev
                Apr 19 '17 at 9:18













              up vote
              5
              down vote










              up vote
              5
              down vote









              If you happen to be using a x86 or powerpc arch, you could use read-edid. On debian this is available here.



              Usage is simply (you need to be root):



              $ sudo get-edid > /tmp/edid


              and then parse the structure:



              $ parse-edid < /tmp/edid
              Checksum Correct

              Section "Monitor"
              Identifier "HP v220"
              ModelName "HP v220"
              VendorName "HWP"
              # Monitor Manufactured week 13 of 2008
              # EDID version 1.3
              # Analog Display
              DisplaySize 470 300
              Gamma 2.20
              Option "DPMS" "true"
              Horizsync 30-81
              VertRefresh 56-76
              # Maximum pixel clock is 160MHz
              #Not giving standard mode: 1152x720, 60Hz
              #Not giving standard mode: 1280x960, 60Hz
              #Not giving standard mode: 1280x1024, 60Hz
              #Not giving standard mode: 1440x900, 60Hz
              #Not giving standard mode: 1600x1000, 60Hz
              #Not giving standard mode: 1680x1050, 60Hz
              Modeline "Mode 0" -hsync +vsync
              EndSection


              Often this is combined into:



              $ sudo get-edid | parse-edid



              See also here on how to pass this custom edid file to your graphic card using either:



              • CustomEDID or,

              • drm_kms_helper.edid_firmare





              share|improve this answer














              If you happen to be using a x86 or powerpc arch, you could use read-edid. On debian this is available here.



              Usage is simply (you need to be root):



              $ sudo get-edid > /tmp/edid


              and then parse the structure:



              $ parse-edid < /tmp/edid
              Checksum Correct

              Section "Monitor"
              Identifier "HP v220"
              ModelName "HP v220"
              VendorName "HWP"
              # Monitor Manufactured week 13 of 2008
              # EDID version 1.3
              # Analog Display
              DisplaySize 470 300
              Gamma 2.20
              Option "DPMS" "true"
              Horizsync 30-81
              VertRefresh 56-76
              # Maximum pixel clock is 160MHz
              #Not giving standard mode: 1152x720, 60Hz
              #Not giving standard mode: 1280x960, 60Hz
              #Not giving standard mode: 1280x1024, 60Hz
              #Not giving standard mode: 1440x900, 60Hz
              #Not giving standard mode: 1600x1000, 60Hz
              #Not giving standard mode: 1680x1050, 60Hz
              Modeline "Mode 0" -hsync +vsync
              EndSection


              Often this is combined into:



              $ sudo get-edid | parse-edid



              See also here on how to pass this custom edid file to your graphic card using either:



              • CustomEDID or,

              • drm_kms_helper.edid_firmare






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Apr 19 '17 at 18:26

























              answered Nov 14 '16 at 11:26









              malat

              452622




              452622







              • 3




                Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
                – Delian Krustev
                Apr 19 '17 at 9:18













              • 3




                Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
                – Delian Krustev
                Apr 19 '17 at 9:18








              3




              3




              Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
              – Delian Krustev
              Apr 19 '17 at 9:18





              Just to clarify that get-edid did not work for me until I did "modprobe i2c-dev" . And the "parse-edid" produced Modeline was not accepted by Xorg. So I've used this in the device section: Option "CustomEDID" "CRT-0:/etc/X11/edid-StarLight-170418_gb-nv-gf-650-GTX-VGA.bin" I need to manually provide the EDID since it can not be correctly read over 10m long VGA cable. Setting the "DisplaySize" was also useful for me.
              – Delian Krustev
              Apr 19 '17 at 9:18











              up vote
              0
              down vote













              A recent version of a tool called edid-decode can parse EDID information, and it can read and write text and binary EDID files. It works well on the output of xrandr --verbose. For example, It can be used to save the EDID in a binary file:



              xrandr --verbose | edid-decode - /file/to/save


              The version of edid-decode that comes with Fedora 27 (package: xorg-x11-utils) is too old and it doesn't work perfectly. I used the most recent version.






              share|improve this answer


























                up vote
                0
                down vote













                A recent version of a tool called edid-decode can parse EDID information, and it can read and write text and binary EDID files. It works well on the output of xrandr --verbose. For example, It can be used to save the EDID in a binary file:



                xrandr --verbose | edid-decode - /file/to/save


                The version of edid-decode that comes with Fedora 27 (package: xorg-x11-utils) is too old and it doesn't work perfectly. I used the most recent version.






                share|improve this answer
























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  A recent version of a tool called edid-decode can parse EDID information, and it can read and write text and binary EDID files. It works well on the output of xrandr --verbose. For example, It can be used to save the EDID in a binary file:



                  xrandr --verbose | edid-decode - /file/to/save


                  The version of edid-decode that comes with Fedora 27 (package: xorg-x11-utils) is too old and it doesn't work perfectly. I used the most recent version.






                  share|improve this answer














                  A recent version of a tool called edid-decode can parse EDID information, and it can read and write text and binary EDID files. It works well on the output of xrandr --verbose. For example, It can be used to save the EDID in a binary file:



                  xrandr --verbose | edid-decode - /file/to/save


                  The version of edid-decode that comes with Fedora 27 (package: xorg-x11-utils) is too old and it doesn't work perfectly. I used the most recent version.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Sep 21 at 15:42

























                  answered Sep 19 at 20:29









                  Eric Sokolowsky

                  387




                  387



























                       

                      draft saved


                      draft discarded















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f114359%2fhow-to-get-edid-for-a-single-monitor%23new-answer', 'question_page');

                      );

                      Post as a guest













































































                      Popular posts from this blog

                      How to check contact read email or not when send email to Individual?

                      Displaying single band from multi-band raster using QGIS

                      How many registers does an x86_64 CPU actually have?