obtain the manufacturer and product ID and serial number of the display

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





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















The goal is to obtain the manufacturer and product ID and the serial number of the display under the Linux platform. I eventually need to get this information in the program in C++. But I also accept the command line acquisition method.










share|improve this question






















  • How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

    – Stephen Kitt
    Mar 15 at 9:58











  • A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

    – hxysayhi
    Mar 16 at 3:46

















1















The goal is to obtain the manufacturer and product ID and the serial number of the display under the Linux platform. I eventually need to get this information in the program in C++. But I also accept the command line acquisition method.










share|improve this question






















  • How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

    – Stephen Kitt
    Mar 15 at 9:58











  • A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

    – hxysayhi
    Mar 16 at 3:46













1












1








1


1






The goal is to obtain the manufacturer and product ID and the serial number of the display under the Linux platform. I eventually need to get this information in the program in C++. But I also accept the command line acquisition method.










share|improve this question














The goal is to obtain the manufacturer and product ID and the serial number of the display under the Linux platform. I eventually need to get this information in the program in C++. But I also accept the command line acquisition method.







linux hardware monitors






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 15 at 9:04









hxysayhihxysayhi

1113




1113












  • How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

    – Stephen Kitt
    Mar 15 at 9:58











  • A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

    – hxysayhi
    Mar 16 at 3:46

















  • How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

    – Stephen Kitt
    Mar 15 at 9:58











  • A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

    – hxysayhi
    Mar 16 at 3:46
















How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

– Stephen Kitt
Mar 15 at 9:58





How is the display connected? Is this for a generic platform where EDID can be expected to be available, or is it for an embedded platform with more specific requirements?

– Stephen Kitt
Mar 15 at 9:58













A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

– hxysayhi
Mar 16 at 3:46





A display connected via a video output connector or a built-in display. For a generic platform where EDID can be expected to be available

– hxysayhi
Mar 16 at 3:46










1 Answer
1






active

oldest

votes


















2














Such information is available via /sys/class/drm subsystem. Tools such as xrandr use it extensively. Now, specifically there is directory for each display in this subsystem, with a file edid, Extended Display Identification Data.



On Debian-based systems there are two packages available, edid-decode and read-edid. Both seem to work alright, but on old and dated models read-edid seems to work well enough, whereas edid-decode returns errors:



EDID block does NOT conform to EDID 1.3!
Detailed block string not properly terminated
EDID block does not conform at all!
Bad year of manufacture


So I would recommend installing read-edid package. After you have installed, use parse-edid command as shown below:



$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
Identifier "X20G-NagaIII"
ModelName "X20G-NagaIII"
VendorName "SPT"
# Monitor Manufactured week 42 of 2005
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-92
VertRefresh 40-86
# Maximum pixel clock is 170MHz


The other command get-edid appears to connect to i2c bus and figures out automatically which displays are connected and what data is available. Now, of course this is no C++ method, but these two tools are likely written in C. Consider looking at their source code and note which libraries they use.






share|improve this answer























  • These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

    – hxysayhi
    Mar 16 at 3:41











  • @hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

    – Sergiy Kolodyazhnyy
    Mar 16 at 4:05











  • What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

    – hxysayhi
    Mar 16 at 4:22












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',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
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%2f506449%2fobtain-the-manufacturer-and-product-id-and-serial-number-of-the-display%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














Such information is available via /sys/class/drm subsystem. Tools such as xrandr use it extensively. Now, specifically there is directory for each display in this subsystem, with a file edid, Extended Display Identification Data.



On Debian-based systems there are two packages available, edid-decode and read-edid. Both seem to work alright, but on old and dated models read-edid seems to work well enough, whereas edid-decode returns errors:



EDID block does NOT conform to EDID 1.3!
Detailed block string not properly terminated
EDID block does not conform at all!
Bad year of manufacture


So I would recommend installing read-edid package. After you have installed, use parse-edid command as shown below:



$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
Identifier "X20G-NagaIII"
ModelName "X20G-NagaIII"
VendorName "SPT"
# Monitor Manufactured week 42 of 2005
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-92
VertRefresh 40-86
# Maximum pixel clock is 170MHz


The other command get-edid appears to connect to i2c bus and figures out automatically which displays are connected and what data is available. Now, of course this is no C++ method, but these two tools are likely written in C. Consider looking at their source code and note which libraries they use.






share|improve this answer























  • These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

    – hxysayhi
    Mar 16 at 3:41











  • @hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

    – Sergiy Kolodyazhnyy
    Mar 16 at 4:05











  • What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

    – hxysayhi
    Mar 16 at 4:22
















2














Such information is available via /sys/class/drm subsystem. Tools such as xrandr use it extensively. Now, specifically there is directory for each display in this subsystem, with a file edid, Extended Display Identification Data.



On Debian-based systems there are two packages available, edid-decode and read-edid. Both seem to work alright, but on old and dated models read-edid seems to work well enough, whereas edid-decode returns errors:



EDID block does NOT conform to EDID 1.3!
Detailed block string not properly terminated
EDID block does not conform at all!
Bad year of manufacture


So I would recommend installing read-edid package. After you have installed, use parse-edid command as shown below:



$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
Identifier "X20G-NagaIII"
ModelName "X20G-NagaIII"
VendorName "SPT"
# Monitor Manufactured week 42 of 2005
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-92
VertRefresh 40-86
# Maximum pixel clock is 170MHz


The other command get-edid appears to connect to i2c bus and figures out automatically which displays are connected and what data is available. Now, of course this is no C++ method, but these two tools are likely written in C. Consider looking at their source code and note which libraries they use.






share|improve this answer























  • These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

    – hxysayhi
    Mar 16 at 3:41











  • @hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

    – Sergiy Kolodyazhnyy
    Mar 16 at 4:05











  • What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

    – hxysayhi
    Mar 16 at 4:22














2












2








2







Such information is available via /sys/class/drm subsystem. Tools such as xrandr use it extensively. Now, specifically there is directory for each display in this subsystem, with a file edid, Extended Display Identification Data.



On Debian-based systems there are two packages available, edid-decode and read-edid. Both seem to work alright, but on old and dated models read-edid seems to work well enough, whereas edid-decode returns errors:



EDID block does NOT conform to EDID 1.3!
Detailed block string not properly terminated
EDID block does not conform at all!
Bad year of manufacture


So I would recommend installing read-edid package. After you have installed, use parse-edid command as shown below:



$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
Identifier "X20G-NagaIII"
ModelName "X20G-NagaIII"
VendorName "SPT"
# Monitor Manufactured week 42 of 2005
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-92
VertRefresh 40-86
# Maximum pixel clock is 170MHz


The other command get-edid appears to connect to i2c bus and figures out automatically which displays are connected and what data is available. Now, of course this is no C++ method, but these two tools are likely written in C. Consider looking at their source code and note which libraries they use.






share|improve this answer













Such information is available via /sys/class/drm subsystem. Tools such as xrandr use it extensively. Now, specifically there is directory for each display in this subsystem, with a file edid, Extended Display Identification Data.



On Debian-based systems there are two packages available, edid-decode and read-edid. Both seem to work alright, but on old and dated models read-edid seems to work well enough, whereas edid-decode returns errors:



EDID block does NOT conform to EDID 1.3!
Detailed block string not properly terminated
EDID block does not conform at all!
Bad year of manufacture


So I would recommend installing read-edid package. After you have installed, use parse-edid command as shown below:



$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid 
Checksum Correct

Section "Monitor"
Identifier "X20G-NagaIII"
ModelName "X20G-NagaIII"
VendorName "SPT"
# Monitor Manufactured week 42 of 2005
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-92
VertRefresh 40-86
# Maximum pixel clock is 170MHz


The other command get-edid appears to connect to i2c bus and figures out automatically which displays are connected and what data is available. Now, of course this is no C++ method, but these two tools are likely written in C. Consider looking at their source code and note which libraries they use.







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 15 at 9:26









Sergiy KolodyazhnyySergiy Kolodyazhnyy

10.7k42764




10.7k42764












  • These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

    – hxysayhi
    Mar 16 at 3:41











  • @hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

    – Sergiy Kolodyazhnyy
    Mar 16 at 4:05











  • What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

    – hxysayhi
    Mar 16 at 4:22


















  • These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

    – hxysayhi
    Mar 16 at 3:41











  • @hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

    – Sergiy Kolodyazhnyy
    Mar 16 at 4:05











  • What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

    – hxysayhi
    Mar 16 at 4:22

















These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

– hxysayhi
Mar 16 at 3:41





These two commands really give me some useful information, thank you. But the output I get when I use these two commands has some garbled characters. And there is no product serial number.

– hxysayhi
Mar 16 at 3:41













@hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

– Sergiy Kolodyazhnyy
Mar 16 at 4:05





@hxysayhi Sadly, the problem is likely with displays themselves rather than the commands. Displays often expose EDID information either poorly or not compliantly. I do get serial number for either of my two external displays but not internal laptop display. And as Stephen noted, there might be cases where display simply doesn't expose EDID info at all, for example an I2C or SPI display on Raspberry Pi and other embedded systems. But I'm glad I could help you can find at least some useful information

– Sergiy Kolodyazhnyy
Mar 16 at 4:05













What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

– hxysayhi
Mar 16 at 4:22






What dose the serial number looks like when you parse the edid file? I parse the edid of a display connected via a video output connector correct, but I didn't get the serial number. The example you gave in the answer does not seem to have a serial number. Can you show me the approximate form of the result you obtained which with serial number? thanks for your help.

– hxysayhi
Mar 16 at 4:22


















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506449%2fobtain-the-manufacturer-and-product-id-and-serial-number-of-the-display%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

Peggy Mitchell

Palaiologos

The Forum (Inglewood, California)