Windows 显示器EDID笔记

显示器中的EDID:

EDID\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\NEC3396\4&13b58229&0&UID16433\Device Parameters 下的EDID,存储的硬件显示器中的EDID。

CRU 或用户覆盖 EDID,优先使用覆盖 EDID:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\NEC3396\4&13b58229&0&UID16433\Device Parameters\EDID_OVERRIDE

  • 写入 EDID_OVERRIDE 后,系统就只认覆盖的分辨率列表。
  • 如果没有覆盖,系统默认使用 EDID。

数据流(原生 vs 覆盖)

显示器 EEPROM → 驱动读取 → 注册表 EDID

↓

若存在 EDID_OVERRIDE → 使用覆盖 EDID

↓

驱动枚举分辨率 → Windows 显示设置

CRU 修改 EDID 时:

  • 生成新的 EDID buffer
  • 写入 EDID_OVERRIDE
  • 重启驱动后系统使用覆盖数据,而原始 EDID 保留不变。

EDID_OVERRIDE 下的属性详解

名称 类型 说明
(默认) REG_SZ 没有设置,通常不使用
0 REG_BINARY EDID 基础块(Block 0) ,128 字节。包含 EDID header、厂商 ID、产品代码、序列号、版本号、首选分辨率等。 一般由CRU 的Detailed resolutions 设置
1 REG_BINARY EDID 扩展块(Block 1) ,128 字节。通常是 CTA-861 扩展块或 VESA 扩展块,包含额外分辨率、音频、颜色信息等。 一般由Extensions resolutions 是用来配置 EDID 扩展块(Extension Block)。
CRU_Extensions REG_BINARY 表示 CRU 新增的扩展块类型和数量,CRU 用来标记哪些扩展块是用户添加的。
CRU_Name REG_BINARY 用户自定义显示器名称,CRU 保存的标识信息(通常是 ASCII 编码)。
CRU_Range_Limits REG_BINARY 用户自定义的分辨率范围限制(Range Limits Block),如最大像素时钟、水平/垂直频率范围。
CRU_Serial_Number REG_BINARY 用户自定义显示器序列号,覆盖原 EDID 序列号字段(ASCII 编码,例如 00 34 37 33 30 38 30 31 37 4e 43 → "47308017NC")。
  • Block 0 是基础块,后面才是扩展块
相关推荐
flyingonpine10 小时前
PowerShell脚本数字签名实战:自签名证书、代码签名与信任链验证
windows·信任链
David猪大卫11 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
星恒随风11 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
蒸蒸yyyyzwd15 小时前
从后端面经学到的 3 个知识
笔记·学习
17岁的勇气15 小时前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
goehou15 小时前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
坤坤子吖16 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
公子小六16 小时前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
路灯上の马陈18 小时前
Java 内部类 学习笔记
笔记·学习
希和202718 小时前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb