问题标签 [edid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1738 浏览

windows - 在 Windows 上读取 EDID Extension Blocks 或其他方式获取 CEC 物理地址

我正在尝试以编程方式读取我的 HDMI 端口的 CEC(消费电子控制)地址。此信息存储在视频卡通过 DDC 通道从监视器轮询出来的 EDID 信息中。 https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

无论出于何种原因,Windows 只将前半部分保存到注册表中并转储其余部分 - 这是我感兴趣的数据所在的位置。

我花了大约一天的时间阅读这个主题,但我遇到了障碍。以前的问题只涉及存储在注册表中的第一个 EDID 块: Win32 code to get EDID in Windows XP/7

我知道可以读取其他块,因为 MonInfo 工具能够: http://www.entechtaiwan.com/util/moninfo.shtm

我认为可以通过一些图形驱动程序来查询它,但我希望有一个更通用的解决方案。

0 投票
0 回答
1092 浏览

android - 获取 HDMI EDID 数据

我正在开发一个应用程序,它使用 MHL 适配器将自身镜像到任何连接的 HDMI 显示器。问题是我需要获取显示器数据,如制造商、序列号、分辨率、屏幕尺寸等,如果它真的在显示我的内容或者它只是在另一个 HDMI 输入上。

0 投票
0 回答
112 浏览

hardware - 带 DVI 分配器的 EDID 信号

我有一台电脑和两台显示器(尺寸和分辨率不同),我想通过 DVI 分配器将它们连接到 PC。

我的问题是:您如何在此设置中定义“信号”EDID?

分离器有一个主输出(发送 EDID)和辅助(适合)?或者 EDID 信号被性能较低的显示器获取?

0 投票
1 回答
1006 浏览

windows - 来自 EnumDisplayDevices 的信息与来自 SetupDiOpenDevRegKey (EDID) 的信息链接

Windows 7,多显示器配置。

使用 gcc-mingw-5.1.0 在 linux(opensuse 13.1)上交叉编译(这实际上可能是我没有得到预期值的原因)。

我使用EnumDisplayDevices获得所有显示设备的列表:代码:

输出(强调我的):

0 -> \.\DISPLAY1
str=Intel(R) HD Graphics 4600
id=PCI\VEN_8086&DEV_0416&SUBSYS_397817AA&REV_06
key=\Registry\Machine\System\CurrentControlSet\Control\Video{BBECD187-6CE4-47FD-915A-A4952B2AC000}\0000
主要= y
-> bpp=32 w=1920 h=1080 fps=60

1 -> \.\DISPLAY2
str=Intel(R) HD Graphics 4600
id=PCI\VEN_8086&DEV_0416&SUBSYS_397817AA&REV_06
key=\Registry\Machine\System\CurrentControlSet\Control\Video {BBECD187-6CE4-47FD-915A-A4952B2AC000}\0001
主要=n
-> bpp=32 w=1920 h=1080 fps=60

现在,通过这篇文章,我可以获得每台显示器的 EDID:

输出(部分):

...
为 'PnP-Monitor (Standard)' 找到值 EDID
密钥路径是 '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Enum\DISPLAY\LGD044F\4&1BDB7018&0&UID68092928\Device Parameters'

00 ff ff ff ff ff ff 00 26 07 01 00 e7 03 00 00
00 1a 01 03 80 00 00 00 02 00 00 00 00 00 00 00
....

我现在的问题是,如何链接这两个信息?如何将 EDID 归因于显示器?

预期的:

\.\DISPLAY1 -> EDID1

\.\DISPLAY2 -> EDID2

笔记

  1. 显示器 #1 是 LG 显示器,显示器 #2 是戴尔显示器(这样设置,当我更改显示器 #2 的分辨率时可以验证这一点),但戴尔显示器的 EDID 首先出现,然后是显示器的 EDID LG。因此我不能在两个枚举中使用出现的顺序,它们没有直接联系(否则没有问题要问)。

  2. 我也不能依赖分辨率信息或同步率,因为它可能对所有显示器都是相同的

  3. 我知道这个问题及其答案,但接受的答案对我没有帮助,因为它希望DISPLAY_DEVICE.DeviceID位于注册键\HKLM\System\CurrentControlSet\Enum\DISPLAY中,而我从EnumDisplayDevices得到的位于\HKLM\ System\CurrentControlSet\Enum\PCI(参见输出中的“id”行)。

  4. 我尝试按照此问题中的建议使用标志 EDD_GET_DEVICE_INTERFACE_NAME,但我没有得到已接受答案中所示的 deviceID。

  5. 如何获取关键路径

我检查了SetupAPI 函数列表,但找不到如何连接显示信息和 SetupDiOpenDevRegKey 的结果。

我错过了什么?我设置错了哪个标志?我可以以某种方式使用 SetupDiOpenDevRegKey 返回的密钥路径吗?

非常感谢。

0 投票
1 回答
1189 浏览

display - 如何从 EDID 块获取 HDMI 端口信息?

我正在尝试从 EDID 数据中获取 HDMI 端口。到目前为止,我已经通过连接到不同的 HDMI 端口(比如 1、2、3、4)来获取 EDID 数据。当我比较数据时,我可以发现 EDID 数据的 0xAA 字节对于每个端口都是不同的,值为 0x10,分别为 0x20,0x30,0x40。当我搜索 EDID 的 CEA-861-E 详细信息时,地址 oxAA 是保留字段。下面是我提到的 CEA-861 规范的链接。[ http://electronix.ru/forum/index.php?act=Attach&type=post&id=77872][1]

所以我的问题是,如何从 EDID 数据中知道 HDMI 的端口 ID?根据我的实验,我的理解是否正确?

你的建议非常合适。

干杯,戈皮纳斯

0 投票
1 回答
1151 浏览

display - 将 HDMI 时序 modline 转换为 fbset

我有以下自定义时间,我想将其转换为 fbset。有两个参数我找不到水平同步长度(以像素为单位)和垂直同步长度(以像素线为单位):

我从解析 edid 文件中计算出这个值:

谢谢

0 投票
0 回答
236 浏览

hdmi - e-EDID 标头与标准不同?

我正在读取 EDID 信息并从我的两台显示器接收到奇怪的标题。它们都可以播放声音,因此它们必须运行 e-EDID。但是,根据我的阅读,标头信息不会从 EDID 更改为 e-EDID。

它应该是什么

我得到了什么

e-EDID 的标头是否与 EDID 不同,我可以阅读哪些规范以了解更多信息?

我的阅读:

https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

http://read.pudn.com/downloads110/ebook/456020/E-EDID%20Standard.pdf

0 投票
2 回答
950 浏览

python - Python:将整个列表转储到变量中

我有这个代码:

我想在新数组中写入完整的数组,extension但我不知道如何。有没有简单的方法来做到这一点?稍后(当extension不为空时)我只想将数组添加到数组的末尾extension

说清楚。现在我有这个:

  • 名称 1 = [1, 2, 3]
  • 名称2 = [4, 5, 6]
  • 名称 3 = [7, 8, 9]

在我将所有数组添加到之后,我想拥有这个extension

扩展 = [123, 456, 789]

0 投票
1 回答
368 浏览

python - 如何在python中将字符串转换为二进制数据(EDID)

我目前正在编写一个 EDID 脚本,以便能够在我的 Fedora25 中选择自定义分辨率

我发现这个汇编脚本可以生成不同的解决方案。我能够将其用作“模板”,并且我的 python 脚本可以很好地生成 CEA 扩展 Blob。现在我想在 Wikipedia EDID Byte Order Site的帮助下合并“Head”和我的 CEA Blob 。

但在 GitHub Skript 中,这 (end1-start1) 让我感到困惑:

我该怎么办"Linux #0" - 10?(0x0a = 10) 当我转换“Linux #0”时,我得到76 105 110 117 120 32 35 48描述符的 18 字节没有什么意义?

0 投票
1 回答
89 浏览

lcd - 更换 LCD EDID

笔记本电脑的 B154EW08-V0 显示屏坏了,更换为 LTN154P1-L02。现在图像被白色或黑色垂直像素宽的交替条纹淹没。新旧 LCD EDID 被丢弃。将旧的 EDID 写入新的 LCD 会导致屏幕分成 2/3(条形停留)。将 PIXEL CLOCK、VBLANK、HBLANK 更改为默认值不会产生任何结果。

下一步去哪里挖?

这是我所拥有的:

老液晶

新型液晶