我正在使用HDMI 1.4将2560x1600 Dual Link DVI监视器连接到计算机上来编写此代码。
停止搜索HDMI到DVI-DL适配器。您将找到的所有适配器都是被动单链接适配器,即使它们可能被宣传为双链接。
尽管可以使用Analog Devices ADV7619
297 MHz HDMI 1.4接收器来实现HDMI 1.4到Dual Link DVI适配器,该适配器会自动将高像素时钟链路拆分为奇数和偶数像素,并使用两个ADV7513
165 MHz HDMI 1.4发射器在两个单独的链路上传输像素,没有制造商在制造这种设备。
您需要一台从单链路输入生成双链路DVI输出的设备。唯一可以广泛使用的是DisplayPort to Dual Link DVI adapter
,它以几种不同的品牌出售。
这样,我们已将问题简化为将HDMI 1.4转换为DisplayPort 1.1。直到最近STMicroelectronics芯片STDP2600
问世时才有解决方案。一些品牌出售基于该芯片的适配器。如果您的显示器以全分辨率接收DP输入,仅使用此适配器就足够了-无需转换为DVI-DL。
将两者连接在一起应提供HDMI 1.4到Dual-Link-DVI解决方案。但是,Linux Radeon驱动程序(xf86-video-ati)仍然不满意它,并忽略了EDID中有效模式列表中的2560x1600视频模式。原因是只有在监视器在EDID消费者电子协会扩展模块中具有HDMI供应商专用数据模块的情况下,Linux Radeon驱动程序才会启用165 MHz以上的像素时钟。
显然,纯DVI监视器在EDID的CEA EB中将没有HDMI VSDB。通过添加用于HDMI的S / PDIF音频解嵌入器,我解决了这一问题,我将eBay停产到了添加CEA EB的链中,以将音频描述符添加到EDID。适当的解决方案是将修改后的EDID文件直接提供给驱动程序。
这适用于Linux,在Windows上,您可能不需要更改EDID,或者您可能需要更广泛的更改。我没有Windows机器要测试。
将所有三个连接在一起,确保通过USB连接器和voilà在我的Dual Link DVI显示器上以60 Hz的刷新率给美丽的全分辨率2560x1600图像上电。