从链接:http://en.wikipedia.org/wiki/Extended_display_identification_data
EDID 通常存储在监视器中称为串行 PROM(可编程只读存储器)或 EEPROM(电可擦除 PROM)的存储设备中,并且可通过地址 0x50 处的 I²C 总线进行访问。[1]即使显示器本身关闭,主机 PC 通常也可以读取 EDID PROM。
我怎样才能阅读该信息?
答案1
回答我自己的问题:[:)]
- i2cdetect -l : 征用现有的 i2c 适配器
- 回声 Y | i2cdump $i 0x50 :其中 i 是每个 /dev/i2c-* 的设备 ID
- 上述命令将打印给定 I2C 适配器的 Raw-EDID。
- 现在可以使用自定义 C(或任何)编程语言来解析信息,以给出底层设备的简洁描述。
[虽然我使用了i2c-tools,但是使用低级汇编编程来读取EEPROM值会好得多。 ]
答案2
答案3
前几天我也想知道。我找到了Xorg的实现,但是没有看细节。另外,显然,内核模块 i2c-dev 可以用来读取 EDID。
http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/ddc