如何在老旧硬件上使用高清(4K)分辨率

无论是 Windows 10 还是 Mac,如果你想购买4K UHD显示器,但你目前的硬件不支持吗? 买了显示器,卡住了30Hz? 推迟升级。
TL; DR:3840×2160 @ 43Hz,3200×1800 @ 60Hz。 2560×1440 @ 86 Hz,采用Intel HD 3000(Sandy Bridge); 3840×2160 @ 52 Hz,使用Intel Iris 5100(Haswell)。

很久以前,当所有显示器都肥胖和重,计算机使用固定的分辨率和时间在屏幕上输出的东西。 它被标准化为显示监视器计时(DMT),没有任何通用的方法来计算自定义分辨率的计时。 监视器用于使用被称为扩展显示识别数据(EDID)的特殊协议从DMT发送支持的分辨率,该数据存储具有支持模式的DMT表。 随着时间的推移,显示器感觉到DMT的极限。 1999年,VESA宣布通用定时公式(GTF),通用定时计算(具有固定精度)。 只是在3年中,在2002年它被协调视频时间(CVT)标准,这是一个更精确的替代。

这两种标准都设计有阴极射线管特性的意识,有一个特殊的延迟磁场设置正确。 LCD显示器更快,并且没有任何需要这样的延迟,CVT减少消隐(CVT-R或CVT-RB)标准诞生,这是完全像CVT,但对于新型显示器。 这允许大大减少所需的接口带宽。 有一个较新的版本的这个标准,CVT-R2,但它不能公开访问,VESA卖350美元。

缘起

最后,经过这么多年,我们能够购买高密度显示器的PC。所有这些年,我们已经看到了荒谬的剧院,其中移动设备有1920×1080 5“显示器,商店都装满了4K电视(虽然我们看到它从2-4米远),但监视器与拳头大小的像素,绝大多数说Full HD是“足够好”为一个27“显示器,完全忘记最后”足够好“去与iPad Retina发布。在我看来,这主要是因为较旧的Windows版本不真正支持不同的像素密度,它变得很好只有在Windows 8.1。
好吧,让我们面对它。现在在2015年,我们有246电视机型和只有36显示器型号,其中之一 – 戴尔P2415Q – 我很幸运,以相对较低的价格(€377)买。这是一个23.8“IPS显示器,3840×2160分辨率和像素密度为185 PPI,DisplayPort 1.2和HDMI 1.4端口。早期的4K显示器被操作系统检测为两个不同的显示器,并通过视频卡驱动程序组合在一个因为早期的缩放器无法在全分辨率下操作,显示器制造商在每个显示器上放置两个缩放器(1920×2160)分辨率现代显示器摆脱了这样的黑客,但现在需要更强大的视频适配器。根据英特尔和联想网站上的信息,Thinkpad X220不支持任何高于2560×1440的分辨率,我们可以做什么吗?

标准和非标准

现代显示器和视频卡不会对DMT时间的固定分辨率和时间感到遗憾。 他们可以工作在广泛的分辨率和刷新率。 让我们来看看我的显示器的技术细节:

水平扫描范围:31 kHz至140 kHz(自动)
垂直扫描范围:29 Hz至76 Hz(自动)

和最大预设:

显示模式:VESA,3840 x 2160
水平频率(kHz):133.3
垂直频率(Hz):60.0
像素时钟(MHz):533.25
同步极性(水平/垂直):+/-

那么,为什么笔记本电脑不能处理最大分辨率?
答案是:像素时钟。
许多视频卡,特别是集成在CPU中的,具有像素时钟的硬件限制。 由于EDID没有最大分辨率,但较低的垂直频率预设因为大小限制,我的笔记本电脑不能使用最大分辨率。
不幸的是,PC和笔记本电脑制造商很少为他们的芯片发布最大像素时钟,但只支持最大支持的分辨率,但我设法找到它:

Intel HD 3000(Sandy Bridge):389 kHz
Haswell ULT(-U):450 kHz
Haswell ULX(-Y):337 kHz

应该怎么解决此问题呢?

答案很明显 – 我们应该降低像素时钟! 降低像素时钟使我们降低刷新率。 如何做到这一点? 我们需要生成所谓的modeline,一个时序信息线。 有一堆发电机在线,但大部分远远超出了它的日期,并不知道任何关于CVT-R,我们应该使用。 我建议您在Linux中使用umc,在Windows中使用PowerStrip,在Mac OS中使用SwitchResX。 顺便说一下,SwitchResX是唯一的软件可以使模型使用CVT-R2,但我的显示器不支持它。
Modeline具有以下结构:

Modeline "modeline_name" dot_clock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal flags

看看上面的表。 我的显示器的最小垂直频率为29 Hz。 让我们为3840×2160生成30Hz刷新率的模式:

% umc 3840 2160 30 --rbt
    # 3840x2160x29.98 @ 65.688kHz
    Modeline "3840x2160x29.98"  262.750000  3840 3888 3920 4000  2160 2163 2167 2191  +HSync -VSync

我们可以看到,这种模式的像素时钟是262.75 MHz,这远低于我的适配器限制。
让我们尝试设置并激活此模式:

% xrandr --newmode "3840x2160x29.98"  262.750000  3840 3888 3920 4000  2160 2163 2167 2191  +HSync -VSync
% xrandr --addmode DP1 "3840x2160x29.98"
% xrandr --output DP1 --mode "3840x2160x29.98"

如果一切顺利,你会看到一个图片在“不支持”通过您的显示器分辨率。 Hooray!
我们仍然有很多像素时钟,几乎没有人会乐意使用30 Hz刷新率的显示。 让我们提高刷新率,直到我的适配器的像素时钟的限制为389 MHz。 对于389 MHz像素时钟,我们得到44.1 Hz刷新率。

 # 3840x2160x44.10 @ 97.250kHz
 Modeline “3840x2160x44.10” 389.000000 3840 3888 3920 4000 2160 2163 2167 2205 +HSync -VSync

不是很大,但还是。
正如你所看到的,在支持的频率范围内产生水平频率 – 97.25KHz。 与垂直频率一样,显示器不关心固定的“模式”,因此我们可以使用3200×1800,60 Hz刷新率 – 不低于2560×1440和通常的刷新率。

% umc 3200 1800 60 --rbt
    # 3200x1800x59.98 @ 111.086kHz
    Modeline "3200x1800x59.98"  373.250000  3200 3248 3280 3360  1800 1803 1807 1852  +HSync -VSync

我们可以应用我们的修改启动几种方式:
编辑EDID信息并指向它的驱动程序
将模型栏添加到Xorg设置
最后是更方便,我使用它。 如果选择第一个,请使用Phoenix EDID Designer。
要使用第二种方法,我们应该添加Xorg“Monitor”节文件并将其放在/etc/X11/xorg.conf.d/:

% cat /etc/X11/xorg.conf.d/30-dp1.conf
Section "Monitor"
    Identifier "DP1"
    ModelName "DELL P2415Q"
    Modeline "3200x1800"  373.250000  3200 3248 3280 3360  1800 1803 1807 1852  +HSync -VSync
    Modeline "3840x2160"  370.000000  3840 3888 3920 4000  2160 2163 2167 2203  +HSync -VSync
    Option "PreferredMode" "3200x1800"
EndSection

其中标识符是xrandr监视器输出名称。 使用PreferredMode,您可以设置默认模式。

确保将显示器与DisplayPort 1.2连接。 HDMI 1.4限制为340 MHz像素时钟,而DisplayPort(HBR2)允许高达540 MHz。 还要确保您的显示器支持超过30 Hz的最高分辨率,因为最早的型号不能这样做。

总结

不要盲目相信你的显示器的技术文件。 在文档中似乎垂直频率限制为86 Hz,而不是76 Hz。 我可以享受平滑的图片,虽然不是在非常高的分辨率。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

验证码输入超时,请刷新验证码并重试。