问题标签 [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 回答
654 浏览

c - C/C++ 在启动时查询 EDID

我正在寻找一种在我的 Android 系统启动时查询 EDID 数据的方法。

我想我可以使用ioctl调用,我看到帧缓冲区位于/sys/class/graphics/fb*. 但目前我只是得到垃圾输出。

这是我目前正在使用的命令,它在以下位置与帧缓冲区一起工作得很好/dev/graphics/fb*

但我希望能够改用 EDID 数据。希望有人能指出我正确的方向。

0 投票
1 回答
656 浏览

c - EDID 信息和 HDMI 配置

我正在使用 TDA19988 HDMI 成帧器,并且无法理解如何转换 EDID 信息以配置成帧器输出。

例如,从 EDID 我可以看到以下解析信息:
1280x720 0x41 74.2MHZ
H : 1280 start 1390 end 1430 total 1650 clock 45.0KHZ
V : 720 start 725 end 730 total 750 clock 60.0HZ

现在,HDMI 成帧器允许配置以下内容:
refpix (preset pixel) = ?
refline (预设线) = ?
npix(输入像素数)= ?
nline (输入行数) = ?
vs_line_start_1 (垂直同步线开始) = ?
vs_pix_start_1(垂直同步像素开始)=?
vs_line_end_1 (垂直同步线端) = ?
vs_pix_end_1(垂直同步像素结束)=?
hs_pix_start (水平同步像素数) = ?
vwin_start_1(垂直窗口开始)=?
vwin_end_1 (垂直窗口结束) = ?
de_start (数据启用开始) = ?
de_end (数据启用结束) = ?

我无法理解如何转换 EDID 信息以配置 HDMI 成帧器输出。有人可以给我一些帮助吗?

提前致谢!

0 投票
1 回答
2701 浏览

windows - 宏碁显示器序列号

我正在尝试获取查看 Windows 注册表的 Acer 显示器的序列号。我在 Python 3 中使用以下代码解析注册表:

结果,我在 cmd 窗口中得到如下输出:

问题是“Serie”不是真正的序列号(Acer 显示器序列号有 22 个字符,看起来像“ETL480201781700F4B396L”)
有一种方法可以使用“Serie”和 SNID 构建真正的序列号也识别显示器。
以下是两个 Acer 显示器的示例:

有人知道如何获取此信息吗?

谢谢!

0 投票
3 回答
544 浏览

c# - 从 EDID 块中提取信息:5 位到字母?

我正在从 SetupAPI 调用中收集 EDID 块(作为字节),以获取一些详细的监视器信息。

正如EDID 文档所说,某些字节在其中存储“5 位字母”。

只是为了让您免于头痛,我附上了一个易于理解的方案:

2 个字节代表 3 个字母

如您所见,我需要从字节中提取 5 位字母。

我可以设法将字节拆分为 BitArray,但是我不知道如何将这些位转换为字母。

维基还说:

那么,转换这些位的最快和最轻松的方法是什么?

我想我可以预定义一个 Dictionary 对象,例如:

然后在其中搜索,但首先我不知道如何从“00010=B”到“11010=Z”,其次我确定必须有更合适的方法。

谢谢你的帮助。

0 投票
1 回答
833 浏览

c# - 识别显示设备的可靠方法?

我一直在研究一种用于识别显示设备(在我的例子中是电视)的解决方案,以保持专为使用多显示器而设计的主要布局。

假设我连接了 6 台电视。(通常其中 3 个通过 HDMI 端口,另外 3 个通过 DVI 端口(使用 DVI-to-HDMI 适配器)),它们的物理位置是 3x2,如下所示:

电视 1 ... 电视 2 ... 电视 3

电视4 ... 电视5 ... 电视6

目标

我想在每台特定的电视上显示一些全屏内容。Content1 必须转到 TV1,Content2 必须转到 TV2 等等......换句话说:我需要将我的内容推送到 DisplayDevice(电视) - 而不是任何位置或屏幕,因为它们可能会因 Windows 行为而改变。(见下文)

您可能知道,Windows 不会按照您连接它们的顺序枚举显示设备(或者实际上根本不基于任何规则?)。它使用完全不同的方式来枚举显示,例如:

\.\DISPLAY3 ... \.\DISPLAY6 ... \.\DISPLAY1

\.\DISPLAY4 ... \.\DISPLAY2 ... \.\DISPLAY5

为了克服这个问题,当我完成所有电视的连接以匹配它们的真实位置时,我会在显示设置中手动订购电视。

问题

但是这里有一个问题:一些电视型号只是在关机(或设置为待机模式)时假装它们已被拔掉,这会导致 Windows将显示设备从系统中删除并重新枚举重新显示设备。

由于这种行为(一些电视型号和 Windows 本身),我不能指望Screen.DisplayName属性甚至Screen.Location因为它们是变量。它们都在重新枚举过程后立即更改。

到目前为止我尝试过的解决方案

我试图获取所有显示设备的序列号,认为我可以找到一种方法将这些数字与 Screen.DisplayName 相关联。好吧,我实际上是通过使用 SetupAPI、EnumDisplayDevices 来管理到达那里的,但是在我意识到大多数电视没有有效的序列号之后,这一切都变成了垃圾。甚至三星电视也没有序列号(但三星显示器肯定有 - 所以我想这是关于“显示器”和“电视”之间的区别)

毕竟..

我仍在寻找解决这个问题的方法。我想到的另一个想法是,也许我应该停止尝试将内容推送到显示设备(因为它们无法识别)也许我应该尝试将内容推送到显卡的端口,这意味着我必须确定哪些端口显卡的数量与哪个显示设备(屏幕)相关,但我都在谈论它,但对此一无所知 - 甚至不知道这样的事情是否可能。

我正在寻找您的建议,现在谢谢。

0 投票
1 回答
555 浏览

audio - 如果在 xorg.conf (Nvidia304) 中使用 UseEDID “false”,如何取回音频

我的 Ubuntu 机器以前运行良好,然后我升级了。

问题在于它没有启动 xorg.conf,一切正常......但是

显示器(松下 PDP)有一个损坏的模式线(你在 LHS 上得到 1 厘米的 RHS 屏幕),所以需要一个定制的。激活模式行的唯一方法是使用 xorg.conf,除非 UseEDID “false”,否则它总是显示给定 EDID。

但是 UseEDID 为假,因为更新,机器没有音频。UseEDID = true,我们有音频。我已经来回启动了......它只是从坏显示/音频到无音频/好显示的一条线

试过 Nvidia 304 340 352 官方。

因此,任何人都可以提供最佳的前进方式。

0 投票
0 回答
1655 浏览

android - Android 上的 EDID 信息

我需要通过 hdmi 获取连接到我的 android 设备的显示信息。我使用 DisplayManager 来获取显示信息,但我无法从中获取供应商信息。我的理解是,这种信息可以从扩展显示识别数据(EDID)中检索到。是否有任何 api 或方法来获取这些数据并在 android 中解析它?

我正在使用的 Android 版本是 4.0+

0 投票
0 回答
226 浏览

android - 从纵向切换到横向模式后android屏幕模糊

我正在开发带有 android 4.4 系统的 nvidia jetson tk1 开发板。我已经通过hdmi接口将板子连接到屏幕上。问题是每当我将屏幕切换到横向模式时,屏幕都会变得模糊,我的意思是屏幕刷新时会有一些不规则的线条。我使用内置应用程序旋转屏幕。由于我不熟悉 dsi 架构,任何人都可以帮助指出我应该检查哪个模块,edid,hdmi 或 android?谢谢。

0 投票
1 回答
571 浏览

drivers - 用于 5k 显示器的 Edid

EDID 1.4/1.3 结构中的horizontal Addressable Video in pixelsandVertical Addressable Video in lines字段限制为 0-4095 范围内的值。对于 5k 显示器和更高分辨率,如何才能超出此限制?

我无法在规格或其他文件中找到任何信息。任何帮助表示赞赏。

0 投票
4 回答
10280 浏览

xamarin - 如何在 OSX 中获取监视器 EDID?

我想在 OSX 中提取 EDID 信息?

它看起来像它存储在IORegistry. 有没有办法使用当前的monomac库来访问它?我可以使用标准interop还是需要编写自定义shim

看起来ioreg命令行也可以获取IODisplayEDID 属性,但似乎没有一种简单的方法来获取设备的缩写列表。