前言

MacBook Pro系列最近几年的机型到2015款位置都是配备雷电2及HDMI接口,只有前者的接口带宽可以支持输出4K 60Hz的画面,后者最高4K 30Hz,效果不是很好。16款及以后配备雷电3接口,高达40Gbps的带宽,无论转DP或者HDMI都足够啃下4k 60Hz了,而且支持同时输出两台。

我的MacBook Pro是2015款的低配MF839,系统macOS High Sierra 10.13.3,显示器是一台小厂家的4K AH-IPS,连接线使用绿联的MiniDP转DP线。使用起来十分流畅,浏览网页或者写代码的负载都不高,只是一旦播放4K视频,温度就会飙升。

标题这么长也是无奈,搜来搜去找不到一个脚本或应用能一键配置好显示器。最后搜到一篇英文文档,作者提供了一个在线的配置文件生成器,也附有相关的操作顺序,链接在下面。

FORCE HIDPI RESOLUTIONS FOR DELL U2515H MONITOR

几乎可以认为适用于所有的机型,包括黑苹果,需要手动进行配置,不需要使用其他软件,主要操作如下:

(1)关闭SIP(System Integrity Protection),允许修改系统分区;

(2)生成配置文件,添加到系统分区;

(3)重启,选择HiDPI分辨率。

麻烦的一点是,需要针对每台显示器进行配置,当然只有在你有很多台显示器的情况下才会有这个问题。

关闭SIP

csrutil status命令,检查当前SIP状态,SIP只有Recovery模式中可以修改,关闭Mac,按住Commad+R开机,进入Recovery模式,开启terminal,使用csrutil disable命令关闭SIP,在后面配置完显示器后可以重新开启。

生成配置文件

先连接上显示器,盖上MacBook Pro,让画面只输出到外接显示器。

首先在终端上启用HiDPI

1
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

然后分别执行

1
2
3
ioreg -l | grep "DisplayProductID"

ioreg -l | grep "DisplayVendorID"

获取DisplayProductID与DisplayVendorID

也可以执行

1
ioreg -lw0 | grep IODisplayPrefsKey

获直接取上述两个数值的16进制

DisplayProductID,10进制1815对应16进制717

DisplayVendorID,10进制1970170734对应16进制756e6b6e

进入这个网站

SCALED RESOLUTIONS FOR YOUR MACBOOKS EXTERNAL MONITOR

将DisplayProductID与DisplayVendorID的16进制数值分别填写到相应位置,这里顺便自定义下显示器名称。

生成的文件是一个plist文件,下载到本地,按图中所示,新建文件夹

1
sudo mkdir -p /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-756e6b6e

然后将该文件复制到相应位置

1
sudo cp DisplayProductID-717.plist /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717

重启系统

设置分辨率

在System Preferences中的Display可以看到设置好的分辨率,按住option按键点击Scaled可以看到更多的分辨率设置

未开启HiDPI

开启HiDPI

两者在截图体积和显示效果上的差距已经很明显了

相关链接:

Using 4K displays, 5K displays, and Ultra HD TVs with your Mac

有关retina和HiDPI那点事