Mac外接显示器,还是选DP接口的好,同样是1080P,DP和HDMI显示效果更好,毕竟DP是苹果自家亲儿子。近几年新出的Mac,基本上用DP接4K都没问题。这里说的类似我手上Mac mini 2011,Intel HD Graphics 4000这种级别的,要接4K的大屏就要花点工夫了。我另一台Mac mini 2011用miniDP->DP接Dell U2515的2K屏直接就能用了。这里用的的是
实际上硬件是支持的,不过苹果在软件上对这些老机器支持的分辨率做了限制,有点像CPU那样限制了频率,但可以通过打补丁来解除这个限制。
折腾了两天,以下是4K效果展示,这个是网上另一个友人的,我的跟他一样,就用他的给大家看看效果好了。
准备
如果是Intel HD Graphics 3000,只有288MB共享显存的,会显得力不从心,可以看这个哥们的方式增加到1GB。How I got 4k (UHD) on my Mac Mini Mid 2011
确保你的线支持4K,我这里用的是CE Link的miniDP->HDMI 4K线。
关闭SIP
关闭系统文件保护才可以打补丁
- 关机
- 开机按住 option 键,在弹出的启动磁盘选择界面选恢复 10.11,或者直接按下键盘 command + R 进入恢复模式,点击实用工具 - 终端
- 在弹出来的终端窗口中输入
csrutil disable
,然后重启即可生效。
要开启的话,就是用同样的流程,输入
csrutil enable
来开启
打补丁
从https://github.com/Floris497/mac-pixel-clock-patch-V2下载补丁,有针对不同显卡的,比如NVidia,AMD等,Mac mini 2011是Intel HD 4000的,并且系统是10.13.6,用的是以下命令。
# 让脚本可运行
Mac-mini-6:tmp daniel$ chmod +x ./CoreDisplay-patcher.command
# 执行脚本打补丁,需要按提示输入用户密码
Mac-mini-6:tmp daniel$ ./CoreDisplay-patcher.command patch v4
SIP looks to be disabled, all good!
Patching CoreDisplay with patch version 4
Password:
Re-signing /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
/System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay: replacing existing signature
Running 'sudo update_dyld_shared_cache' (Might need re-run after reboot) - CAN TAKE A WHILE (Maybe even 10/30 minutes)update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/Versions/A/XPCServices/AssetCacheTetheratorService.xpc/Contents/Frameworks/MobileDeviceKitLite.framework/Versions/A/MobileDeviceKitLite
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/BiometricKitUI.framework/Versions/A/BiometricKitUI
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/Frameworks/BookKitFoundation.framework/Versions/A/BookKitFoundation
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/BroadcomWLAN.framework/Versions/A/BroadcomWLAN
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/SetupAssistantSupport.framework/Versions/A/SetupAssistantSupport
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/Swift/libswiftDemangle.dylib
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/Swift/libswiftRemoteMirror.dylib
update_dyld_shared_cache: warning @rpath install name for system framework: /System/Library/PrivateFrameworks/WirelessDiagnosticsSupport.framework/Versions/A/WirelessDiagnosticsSupport
update_dyld_shared_cache: x86_64 incorporating 1264 OS dylibs, tracking 1781 others, building closures for 2118 executables
update_dyld_shared_cache: i386 incorporating 624 OS dylibs, tracking 1041 others, building closures for 254 executables
update_dyld_shared_cache: warning: i386 adding dependents to /System/Library/PrivateFrameworks/Assistant.framework/Versions/A/Resources/Assistant Plugin.ibplugin/Contents/MacOS/Assistant Plugin: required dylib '@rpath/InterfaceBuilderKit.framework/Versions/A/InterfaceBuilderKit' not found, needed by '/System/Library/PrivateFrameworks/Assistant.framework/Versions/A/Resources/Assistant Plugin.ibplugin/Contents/MacOS/Assistant Plugin'
update_dyld_shared_cache: warning: x86_64 adding dependents to /System/Library/BridgeSupport/ruby-2.3/bridgesupportparser.bundle: required dylib '@rpath/libclang.dylib' not found, needed by '/System/Library/BridgeSupport/ruby-2.3/bridgesupportparser.bundle'
update_dyld_shared_cache: warning: x86_64 adding dependents to /System/Library/PrivateFrameworks/Assistant.framework/Versions/A/Resources/Assistant Plugin.ibplugin/Contents/MacOS/Assistant Plugin: required dylib '@rpath/InterfaceBuilderKit.framework/Versions/A/InterfaceBuilderKit' not found, needed by '/System/Library/PrivateFrameworks/Assistant.framework/Versions/A/Resources/Assistant Plugin.ibplugin/Contents/MacOS/Assistant Plugin'
update_dyld_shared_cache: warning: x86_64 adding dependents to /System/Library/QuickLook/Audio.qlgenerator/Contents/MacOS/Audio: required dylib '/Library/Frameworks/iTunesLibrary.framework/Versions/A/iTunesLibrary' not found, needed by '/System/Library/QuickLook/Audio.qlgenerator/Contents/MacOS/Audio'
The code of CoreDisplay changed, the patch was probbably successful
享用
之后重启电脑就可以看到系统显示设置那里多了4K的选项。按着option
再点Scaled会有更多分辨率可选。
如果还不够的话,可以下载免费的RDM或者功能更为强大的SwitchResX4(要注册码),有更多选择和分辨率。
使用RGB模式
有些人会遇到明明是显示器,但却被认为是电视而采用YCbCr的方式渲染,会让图像和字体显得奇怪,可以用这个脚本来使Mac用传统RGB方式渲染。Force RGB Mode
其他
用SwitchResX自定义的时候,要小心,如果用了超范围的分辨率,比如在2K屏上应用5K分辨率,有可能会黑屏,甚至是死机,这个时候可以接入另一个正常的显示器,然后删除以下两个文件就可以。
# XXXX是你电脑Mac地址,每个不同
~/Library/Preferences/ByHost/com.apple.windowserver.XXXXX.plist
/Library/Preferences/com.apple.windowserver.plist
参考
- Force RGB mode in Mac OS X to fix the picture quality of an external monitor
- How I got 4k (UHD) on my Mac Mini Mid 2011
- mac-pixel-clock-patch-V2 works on 10.13.6