Query Monitor Information

Miscellaneous Forums/General Discussion/Query Monitor Information

I've been playing around trying to query the system for the monitor specifications. On my computer it has been working prett well, but I haven't been able to do any testing on other computers.

If anyone is interested to give this a whirl, please download the test program here: http://www.xlsior.org/temp/edid.exe and run it from a command prompt.

I am especially interested in whether or not the display size (in inches) and native resolution are read correctly. I should be able to get some additional info like the other supported standard resolutions, refresh rates, etc, but would first like to see if this is worth pursueing further... Listing the actual manufacturer itself is unfortunately not quite as easy to determine since it uses assigned ID's instead of full names, and I haven't found a list of known ID's yet.

Here's the output on my computer, which appears to be all in order: (the ACRAD63 is my old Acer 19" Monitor, which is no longer connected to the system. The SAM043F is my Samsung SyncMaster 24" screen which is indeed active)


Multiple Monitors Found
Monitors found: 2
Monitor: ACRAD63
Monitor: SAM043F
ACRAD63 : Not Active
SAM043F : Active
Total Number of Active Displays: 1

Display Information:
--------------------
EDID Version : 1.3
Manufactured : 2008 week 26
Input Type : Digital

Screen Size:
------------
Screen Width in cm : 52
Screen Height in cm : 32
Screen Size in inches : 24.0

Color Information
-----------------
Display Gamma : 2.20

Predefined Resolutions:
-----------------------
1600x1200 (4:3)
1280x1024 (5:4)
1280x960 (4:3)

Native Resolutions:
-------------------
Horizontal Native Resolution : 1920
Vertical Native Resolution : 1200
Pixel Clock at Native Res : 154MHz

Operating Frequencies:
----------------------
Minimum Vertical Frequency : 56Hz
Maximum Vertical Frequency : 60Hz
Minimum Horizontal Frequency : 30KHz
Maximum Horizontal Frequency : 81KHz
Max Pixel Clock (Video Bandwidth) : 170MHz
Start Horizontal Frequency : 64KHz

Monitor Information:
--------------------
Serial Number : HVZQ<snip>
Monitor Name : SyncMaster



Note: Still making some small tweaks regarding the detection of multiple adapter interfaces, on some computers it may not find the active interface in all circumstances.

All seems present and correct here (apart from the funkiness after the last monitor)...
Multiple Monitors Found
Monitors found: 4
Monitor: Default_Monitor
Monitor: MAX178E
Monitor: SAM027D
Monitor: VSC1C1C
5&38705d45&0&11223344&01&00|5&38705d45&1&11223344&01&00|5&38705d45&2&113377a1&01
&00|5&38705d45&2&113377a9&01&00<<<<
5&38705d45&0&22446688&01&00|5&38705d45&1&22446688&01&00|5&38705d45&2&11335577&01
&00<<<<
5&38705d45&2&11335587&01&00<<<<
5&38705d45&2&11335578&01&00<<<<
Default_Monitor : Not Active
MAX178E : Not Active
SAM027D : Active
VSC1C1C : Not Active
Total Number of Active Displays: 1

Display Information:
--------------------
EDID Version : 1.3
Manufactured : 2007 week 44
Input Type   : Digital

Screen Size:
------------
Screen Width in cm    : 43
Screen Height in cm   : 27
Screen Size in inches : 19.9

Color Information
-----------------
Display Gamma         : 2.20

Predefined Resolutions:
-----------------------
1680x1050 (16:10)
1280x1024 (5:4)
1280x960 (4:3)
1152x864 (4:3)

Native Resolutions:
-------------------
Horizontal Native Resolution : 1680
Vertical Native Resolution   : 1050
Pixel Clock at Native Res    : 119MHz

Operating Frequencies:
----------------------
Minimum Vertical Frequency        : 56Hz
Maximum Vertical Frequency        : 75Hz
Minimum Horizontal Frequency      : 30KHz
Maximum Horizontal Frequency      : 81KHz
Max Pixel Clock (Video Bandwidth) : 140MHz
Start Horizontal Frequency        : 64KHz

Monitor Information:
--------------------
Serial Number : <snip>
Monitor Name  : SyncMaster


Multiple Monitors Found
Monitors found: 2
Monitor: CMO7801
Monitor: GNR51E0
5&1948c5f3&0&53330001&01&00<<<<
5&1948c5f3&0&53330001&01&00<<<<
CMO7801 : Not Active
GNR51E0 : Active
Total Number of Active Displays: 1

Display Information:
--------------------
EDID Version : 1.3
Manufactured : 2005 week 19
Input Type   : Analog

Screen Size:
------------
Screen Width in cm    : 30
Screen Height in cm   : 23
Screen Size in inches : 14.8

Color Information
-----------------
Display Gamma         : 2.20

Predefined Resolutions:
-----------------------
1024x768 (4:3)
1024x768 (4:3)
1024x768 (4:3)
800x600 (4:3)
800x600 (4:3)
800x600 (4:3)
640x480 (4:3)
640x480 (4:3)

Native Resolutions:
-------------------
Horizontal Native Resolution : 1024
Vertical Native Resolution   : 768
Pixel Clock at Native Res    : 65MHz

Operating Frequencies:
----------------------
Minimum Vertical Frequency        : 55Hz
Maximum Vertical Frequency        : 75Hz
Minimum Horizontal Frequency      : 30KHz
Maximum Horizontal Frequency      : 60KHz
Max Pixel Clock (Video Bandwidth) : 80MHz
Start Horizontal Frequency        : 64KHz

Monitor Information:
--------------------
Serial Number : 1507

Monitor Name  : TS501

Seems ok on my work PC, apart from the same thing Ian mentioned.

Doesn't find anything:
Multiple Monitors Found

Monitors found: 6

Monitor: ASK0601

Monitor: Default_Monitor

Monitor: IFS3F0E

Monitor: LEN4055

Monitor: SAM00ED

Monitor: SANBE29

5&2b11f2be&0&00000100&01&00<<<<

5&2b11f2be&0&00000100&01&00|5&2b11f2be&0&00000120&01&00<<<<

5&2b11f2be&0&00000100&01&00<<<<

5&2b11f2be&0&00000110&01&00<<<<

5&2b11f2be&0&00000120&01&00<<<<

5&2b11f2be&0&00000100&01&00<<<<

ASK0601 : Not Active

Default_Monitor : Active

IFS3F0E : Not Active

LEN4055 : Active

SAM00ED : Active

SANBE29 : Not Active

Total Number of Active Displays: 3



Display Information:

--------------------

EDID Version : 0.0

Manufactured : 1990 week 0

Input Type   : Analog



Screen Size:

------------

Screen Width in cm    : 0

Screen Height in cm   : 0

Screen Size in inches : .0



Color Information

-----------------

Display Gamma         : 1.00



Predefined Resolutions:

-----------------------



Native Resolutions:

-------------------

Horizontal Native Resolution : 0

Vertical Native Resolution   : 0

Pixel Clock at Native Res    : 0MHz



Native Resolutions:

-------------------

Horizontal Native Resolution : 0

Vertical Native Resolution   : 0

Pixel Clock at Native Res    : 0MHz



Native Resolutions:

-------------------

Horizontal Native Resolution : 0

Vertical Native Resolution   : 0

Pixel Clock at Native Res    : 0MHz



Native Resolutions:

-------------------

Horizontal Native Resolution : 0

Vertical Native Resolution   : 0

Pixel Clock at Native Res    : 0MHz



Monitor Information:

--------------------

Serial Number : 

Monitor Name  : 


Also the output is bugged: it appends an extra CR after each line when stdout is redirected to a text file.

Extra CR: No idea, I'm just doing a normal 'print' from within BlitzMax.

Anyway: There are two possible reasons that your results are currently coming up blank. First of all, I'm only showing the results for the first screen listed as active by Windows, which on some dual-head capable cards may be blank.

I also notice that one of your keys was pipe-seperated (the first couple of values listed in the output). I'm currently only looking at the first chunk, so it's possible that some of the relevant info is associated with the second portion of that string.

As a sidenote: I think I might be able to make an educated guess whether or not someone is using a CRT or an LCD -- there is some encoded information regarding the overscan dimensions that I'm not looking at yet. since an LCD typically doens't have overscan while a CRT does, that may be a way to tell them apart.

Tried it on my laptop. Seems to work, except there's nothing under Predefined Resolutions and I don't know if that's right?

Total Number of Active Displays: 1

Display Information:
--------------------
EDID Version : 1.3
Manufactured : 2006 week 1
Input Type : Digital

Screen Size:
------------
Screen Width in cm : 33
Screen Height in cm : 21
Screen Size in inches : 15.3

Color Information
-----------------
Display Gamma : 2.20

Predefined Resolutions:
-----------------------

Native Resolutions:
-------------------
Horizontal Native Resolution : 1280
Vertical Native Resolution : 800
Pixel Clock at Native Res : 71MHz

Monitor Information:
--------------------
Serial Number :
Monitor Name :


Those 'predefined resolutions' are a couple of 'special' resolutions that the monitor can specify it supports, including preferred refresh rates.
(I'm not showing the refresh rates yet)

It's an entirely optional section, and not all monitors put information there. There is also a section where it lists a bunch of the standard resolutions (640x480, 800x600, 1024x768) and their preferred refreshrates, but I'm not parsing those out yet either. It'll be trivial to read that, though.

I have 2 BenQFP93GX in use here.
What does :
Monitor: BNQ76BE
Monitor: BNQ7705
mean?

Multiple Monitors Found
Monitors found: 5
Monitor: BNQ76BE
Monitor: BNQ7705
Monitor: Default_Monitor
Monitor: MED09B9
Monitor: SNY2270
5&20fba505&0&11335587&01&00<<<<
5&20fba505&0&11335587&01&00|5&20
5&20fba505&0&11337799&01&00|5&20
&00|5&20fba505&0&113377a9&01&00|
5&20fba505&0&11335587&01&00|5&2f
5&20fba505&0&11335577&01&00<<<<
BNQ76BE : Not Active
BNQ7705 : Active
Default_Monitor : Active
MED09B9 : Not Active
SNY2270 : Not Active
Total Number of Active Displays:

Display Information:
--------------------
EDID Version : 1.3
Manufactured : 2007 week 37
Input Type : Digital

Screen Size:
------------
Screen Width in cm : 38
Screen Height in cm : 30
Screen Size in inches : 19.0

Color Information
-----------------
Display Gamma : 2.20

Predefined Resolutions:
-----------------------
1152x0 ()
1280x1024 (5:4)
1280x1024 (5:4)

Native Resolutions:
-------------------
Horizontal Native Resolution : 1
Vertical Native Resolution : 1
Pixel Clock at Native Res : 1

Native Resolutions:
-------------------
Horizontal Native Resolution : 1
Vertical Native Resolution : 1
Pixel Clock at Native Res : 1

Operating Frequencies:
----------------------
Minimum Vertical Frequency
Maximum Vertical Frequency
Minimum Horizontal Frequency
Maximum Horizontal Frequency
Max Pixel Clock (Video Bandwidth
Start Horizontal Frequency

Monitor Information:
--------------------
Serial Number :
Monitor Name : BenQ FP93G



Those are unique ID's associated to each monitor -- the EDID info in the monitor has a 3-digit manufacturer ID (BNQ in your case) and also a 4-digit ID field. I'm not sure what exactly those are based on, since there is a longer holder for the actual serialnumber itself further down in the EDID info.

(Although on my DELL monitor the 'serial number' field appears to contain a model number, not the actual serial number which would be too long to fit in the assigned space anyway)

Multiple Monitors Found
Monitors found: 2
Monitor: Default_Monitor
Monitor: SAM0070
5&254801bb&3&1133779a&01&00<<<<
5&254801bb&0&11335578&01&00|5&254801bb&1&11335578&01&00|5&254801bb&2&11335578&01
&00|5&254801bb&3&11335578&01&00|5&254801bb&4&11335578&01&00<<<<
Default_Monitor : Not Active
SAM0070 : Not Active
Total Number of Active Displays: 0

Display Information:
--------------------
EDID Version : 0.0
Manufactured : 1990 week 0
Input Type   : Analog

Screen Size:
------------
Screen Width in cm    : 0
Screen Height in cm   : 0
Screen Size in inches : .0

Color Information
-----------------
Display Gamma         : 1.00

Predefined Resolutions:
-----------------------

Native Resolutions:
-------------------
Horizontal Native Resolution : 0
Vertical Native Resolution   : 0
Pixel Clock at Native Res    : 0MHz

Native Resolutions:
-------------------
Horizontal Native Resolution : 0
Vertical Native Resolution   : 0
Pixel Clock at Native Res    : 0MHz

Native Resolutions:
-------------------
Horizontal Native Resolution : 0
Vertical Native Resolution   : 0
Pixel Clock at Native Res    : 0MHz

Native Resolutions:
-------------------
Horizontal Native Resolution : 0
Vertical Native Resolution   : 0
Pixel Clock at Native Res    : 0MHz

Monitor Information:
--------------------
Serial Number :
Monitor Name  :


It doesn't seem to work here.

As for the ID's look here http://listing.driveragent.com/

Andy: Thanks for the driver ID link, it appears that has what I need.

For those with missing/blank results: I'll need to make some changes in the code, that ought to resolve them. Thanks for posting your results everyone!