Solved query monitor EDID


shoober420

Active member
Member
Local time
2:19 AM
Posts
152
OS
Windows 11 27783
im tweaking a Radeon graphics option "Color Depth" (color_depth) from Adrenalin in registry and it adds a key with the monitors EDID in the string

Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12

is there a way to query any monitors EDID so the tweak can be universal for all monitors?
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
Download Aida64 and go to the Monitor section to see all monitor data. You can copy any value you want or extract to plain text or HTML file.
 

My Computers

System One System Two

  • OS
    Windows 11 Pro 23H2 (build 22631.4249) test laptop, Windows 11 Pro v24H2 (build 26100.2894) main PC
    Computer type
    Laptop
    Manufacturer/Model
    Acer Extensa 5630EZ
    CPU
    Mobile DualCore Intel Core 2 Duo T7250, 2000 MHz
    Motherboard
    Acer Extensa 5630
    Memory
    4GB
    Graphics Card(s)
    Mobile Intel(R) GMA 4500M (Mobile 4 series)
    Sound Card
    Realtek ALC268 @ Intel 82801IB ICH9 - High Definition Audio Controller
    Monitor(s) Displays
    1
    Screen Resolution
    1280x800
    Hard Drives
    Samsung SSD 850 EVO 250GB SATA Device (250 GB, SATA-III)
    Internet Speed
    VDSL 50 Mbps
    Browser
    MICROSOFT EDGE
    Antivirus
    WINDOWS DEFENDER
    Other Info
    Legacy MBR installation, no TPM, no Secure Boot, no WDDM 2.0 graphics drivers, no SSE4.2, cannot get more unsupported ;) This is only my test laptop. I had installed Windows 11 here before upgrading my main PC. For my main PC I use everyday see my 2nd system specs.
  • Operating System
    Windows 11 Pro v24H2 (build 26100.2894)
    Computer type
    PC/Desktop
    Manufacturer/Model
    Custom-built PC
    CPU
    Intel Core-i7 3770 3.40GHz s1155 (3rd generation)
    Motherboard
    Asus P8H61 s1155 ATX
    Memory
    2x Kingston Hyper-X Blu 8GB DDR3-1600
    Graphics card(s)
    Gainward NE5105T018G1-1070F (nVidia GeForce GTX 1050Ti 4GB GDDR5)
    Sound Card
    Realtek HD audio (ALC887)
    Monitor(s) Displays
    Sony Bravia KDL-19L4000 19" LCD TV via VGA
    Screen Resolution
    1440x900 32-bit 60Hz
    Hard Drives
    WD Blue SA510 2.5 1000GB SSD as system disk, Western Digital Caviar Purple 4TB SATA III (WD40PURZ) as second
    PSU
    Thermaltake Litepower RGB 550W Full Wired
    Case
    SUPERCASE MIDI-TOWER
    Cooling
    Deepcool Gamma Archer CPU cooler, 1x 8cm fan at the back
    Mouse
    Sunnyline OptiEye PS/2
    Keyboard
    Mitsumi 101-key PS/2
    Internet Speed
    100Mbps
    Browser
    Microsoft Edge, Mozilla Firefox
    Antivirus
    Microsoft Windows Defender
    Other Info
    Legacy BIOS (MBR) installation, no TPM, no Secure Boot, WDDM 3.0 graphics drivers, WEI score 7.4
when running "get-wmiobject -class win32_desktopmonitor | select-object SerialNumber", it reads blank. theres no info present. how could this be? amd is able to find it. the PNPDeviceID is not what the reg key uses.
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
using the MonitorInfoView program, the numbers are the ManufacturerID and the ProductID in that order. i guess certain monitors, especially TV ones might not have a serial number. fortunately the reg key doesnt use it.

trying to query the ManufacturerID and ProductID with get-wmiobject still shows blank. im not sure why i cant query the info
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
What's the last number (12)? Is that part of the model name?
 

My Computer

System One

  • OS
    Windows 7
Here's my best guess...
Code:
function Convert-BigEndianToLittleEndian {
    param(
        [int]$BigEndianValue
    )

    $bytes = [System.BitConverter]::GetBytes($BigEndianValue)
    [Array]::Reverse($bytes)
    return [System.BitConverter]::ToUInt32($bytes,0)
}

foreach ($Monitor in @(Get-WmiObject -Namespace root\wmi -Class WmiMonitorID)) {
    $bigEndianInt32 = [Convert]::ToInt32(-join $Monitor.ManufacturerName[0..2].ForEach({[Convert]::ToString($_ - 64,2).PadLeft(5,'0')}),2)
    $Manufacturer = (Convert-BigEndianToLittleEndian $bigEndianInt32) -shr 16

    $ProductID = [int]::Parse(-join $Monitor.ProductCodeID[0..3].ForEach{[char]$_}, [System.Globalization.NumberStyles]::HexNumber)

    $Model = ([System.Text.Encoding]::ASCII.GetString($Monitor.UserFriendlyName[0..($Monitor.UserFriendlyNameLength -3)]) -split ' ')[1]

    'EDID_{0}_{1}_{2}_?' -f $Manufacturer, $ProductID, $Model
}
 

My Computer

System One

  • OS
    Windows 7
my fault i just got home from work. it appears to corrolate with the "DisplayPath" reg keys that are chosen for the monitor. there is DisplayPath 0-13, and DisplayPath_12 is the only one populated with settings for the monitor (ironically being related to Display Color Enhancement: Vivid Gaming). it looks like it randomly picks a DisplayPath tree, as i dont see the logic behind it choosing 12.

that puts a whole new twist on things. now we would have to query which DisplayPath is populated with an EDID directory for the tweak to apply in the correct DisplayPath tree.
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
when i run the script, it doesnt print the $Model (D32h-j09). the ManufacturerID and ProductID do successfully print.

i just noticed that in the DisplayPath_X trees, the EDID number is the hex version of 14937 and 4166 (3A59 and 1046)
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
on the $Model string, i changed the [1] at the very end to a [0] and now it prints the $Model (D32h-J09)
 
Last edited:

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
I have a "DELL P2715Q". Wasn't sure if it's supposed to return the whole string with a space, or just the trailing model name. Can you find another monitor, or a friend with the same Radeon software setup to see how the model name is handled?
 

My Computer

System One

  • OS
    Windows 7
i had a typo. i meant i changed the [1] at the end of the string of $Model to [0] and now it prints correctly. what does [X] at the end of a string do?

my monitor broke when i was moving so now im stuck with this Vizio TV for a monitor. i unfortunately dont know anyone i can borrow another monitor from.

i could just add the reg key for each DisplayPath_X instance 13 times, but thats kind of dirty. it may have to suffice
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
"apple banana" -split ' ' -> @('apple', 'banana')
[0] or [1] is the index into array @('apple', 'banana')

Your UserFriendlyName is one word, mine is two. As I don't have a Radeon, we're at an impasse unless someone else volunteers what their reg path looks like.
 

My Computer

System One

  • OS
    Windows 7
i made a post on the guru3d radeon driver board and asked if anyone could launch the script and see if it correctly finds the monitor EDID. two people have responded as of this post and one user says its empty, and the other says it prints the model.


i also wanted to thank you for all the help. the way you query the monitor EDID with that code is genius.

there is another weird thing , 8 more additional keys are created in the "Control\Video" directory tree when modifying the Color Depth option that have a different ID than whats in "Control\Class"

you made a script that detects the correct tree by querying the "Driver" reg key in "ControlSet001\Enum\%%i"
Code:
for /f %%i in ('wmic path Win32_VideoController get PNPDeviceID^| findstr /L "PCI\VEN_"') do (
        for /f "tokens=3" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Enum\%%i" /v "Driver"') do (
                for /f %%i in ('echo %%a ^| findstr "{"') do (

how could we get the correct HWID for the "Control\Video" color_depth reg key tree as well? have it find a unique AMD reg key in one of the folders and apply it into those trees?
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
Like I said, don't have a Radeon to see what you're seeing. If there's a reg path example, and you can recognize some parts and explain what I'm supposed to return...
 

My Computer

System One

  • OS
    Windows 7
i got this output from regscanner. its all the color_depth keys that are changed when selecting a new BPC option.

the other "8BC7BB77-EA54-11EF-BC4A-F15C8525B16B" HWID is the new one. it appears to be variable as i googled for keys in "Control\Video" and different values were used depending on the radeon card

Code:
==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0000\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0001\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0002\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0003\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0004\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\ControlSet001\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0005\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0000\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0001\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0002\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0003\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0004\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================

==================================================
Registry Key      : HKLM\SYSTEM\CurrentControlSet\Control\Video\{8BC7BB77-EA54-11EF-BC4A-F15C8525B16B}\0005\DAL3_DATA\common\EDID_14937_4166_D32h-J09_12
Name              : color_depth
Type              : REG_BINARY
Data              : 03 00 00 00
Key Modified Time : 2/15/2025 12:09:52 PM
Data Length       : 4
Key Owner         : BUILTIN\Administrators
==================================================
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
Ghosty and The Creator on guru3d said they both have radeon cards. since The Creator had a blank result and Ghostys result was the query being successful, we can fortunately rule out its not NVIDIA specific
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420
@garlin
ive been trying all day to convert the batch script strings into powershell equivilent to identify the correct GPU with no success. one time i was close, but it copied the whole "PCI\VEN_" string instead of taking it from the "Driver" reg key. Could you show me where my code is wrong?

im trying to convert this:
Code:
for /f %%i in ('wmic path Win32_VideoController get PNPDeviceID^| findstr /L "PCI\VEN_"') do (   
for /f "tokens=3" %%a in ('reg query "HKLM\SYSTEM\ControlSet001\Enum\%%i" /v "Driver"') do ( 
for /f %%i in ('echo %%a ^| findstr "{"') do (

into this:
Code:
foreach-object $HWID in (Get-CimInstance win32_VideoController | Where-Object {$_.AdapterDACType -notlike "Internal"} | Select-Object -ExpandProperty PNPDeviceID | Select-String -SimpleMatch "PCI\VEN_") do {
foreach-object $HWID2 in (reg query "HKLM:SYSTEM\ControlSet001\Enum\$HWID" /v "Driver") do {
foreach-object $HWID in (echo $HWID2 | Select-String -SimpleMatch "{") do {

New-Item -Path HKLM:SYSTEM\ControlSet001\Control\Class\$HWID\DAL3_DATA\common\$Display -Force
New-ItemProperty -Path HKLM:SYSTEM\ControlSet001\Control\Class\$HWID\DAL3_DATA\common\$Display -Name "color_depth" -Value ([byte[]]@(0x04,0x00,0x00,0x00)) -PropertyType Binary -Force

New-Item -Path HKLM:SYSTEM\CurrentControlSet\Control\Class\$HWID\DAL3_DATA\common\$Display -Force
New-ItemProperty -Path HKLM:SYSTEM\CurrentControlSet\Control\Class\$HWID\DAL3_DATA\common\$Display -Name "color_depth" -Value ([byte[]]@(0x04,0x00,0x00,0x00)) -PropertyType Binary -Force

}
}
}

cmd /k 'pause'
 

My Computer

System One

  • OS
    Windows 11 27783
    Computer type
    PC/Desktop
    CPU
    Intel i7 7700 @4.0ghz
    Memory
    64gb DDR4
    Graphics Card(s)
    Radeon RX 5500 XT
    Other Info
    https://www.github.com/shoober420

Latest Support Threads

Back
Top Bottom