美文网首页程序员
让你的老Mac接上4K高分屏

让你的老Mac接上4K高分屏

作者: 卡卡洛斯 | 来源:发表于2018-10-15 00:00 被阅读2447次

    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效果展示,这个是网上另一个友人的,我的跟他一样,就用他的给大家看看效果好了。

    Mac mini 2011外接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

    关闭系统文件保护才可以打补丁

    1. 关机
    2. 开机按住 option 键,在弹出的启动磁盘选择界面选恢复 10.11,或者直接按下键盘 command + R 进入恢复模式,点击实用工具 - 终端
    3. 在弹出来的终端窗口中输入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会有更多分辨率可选。

    按option键有更多选项

    如果还不够的话,可以下载免费的RDM或者功能更为强大的SwitchResX4(要注册码),有更多选择和分辨率。

    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
    

    参考

    相关文章

      网友评论

        本文标题:让你的老Mac接上4K高分屏

        本文链接:https://www.haomeiwen.com/subject/zbxxzftx.html