如何让mac os x 支持 2560 1440 hdmi 分辨率

看有兄弟和我遇到同样问题 我就详细解说一下 希望能帮到 我电脑是NUC D54250WYKH 显卡是HD 5000 HDMI已成功达到2560 1440

HD 4000以上的能驱动的集显 HDMI 如果显示器支持都能开到2560 1440 甚至4K 只不过 有的需要用switchresX来看EDID 找出显示器最高支持的pixel clock 很容易 下载个switchresx捣鼓捣鼓就能看到

首先到这个地址下载这个脚本 /Floris497/mac-pixel-clock-patch

macPixelClockPatcher.command 是脚本文件 有用的

README.md 是英文的说明文档

说说原理 os x有一段代码 检测 如果使用HDMI 那pixel clock就限制在165 MHz

要解除限制 就要修改这个文件 跳过检测 即可

如何跳过 就在README.md里有说 都是英文 而且都是程序 指针 跳转的事 我怕大家看了闹心 我也不解释了

那么 问题来了 我这么jjyy的说了一堆 如何解除pixel clock呢? 直接运行下载的脚本行不行?

答案是 有人行 有人不行

这是为什么呢? 因为脚本里用了一个codesign的命令 如果你没安装xcode 那应该不会有这个命令 所以 如果你直接运行macPixelClockPatcher.command 什么都不会发生 也就不会解除限制

那到底该怎么办

第一步 确定你的系统版本 我是10.10.3 你们都会看的

第二步 用记事本打开macPixelClockPatcher.command 找到对应你的版本的一段命令

比如我是10.10.3 那我的命令就是

if [ "$iokit_md5_current" = "$iokit_md5_10_10_3" ]; then

echo "Detected unpatched IOKit on 10.10.3, patching."

sudo perl -i.bak -pe '$before = qr"\x0F\x85\x9E\x03\x00\x00"s;s/$before/\xE9\x83\x03\x00\x00\x90/g' /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

sudo touch /System/Library/Extensions

# Now appears to require re-signing, despite not being in CodeResources

sudo codesign -f -s - /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

fi

复制代码

第三步 分别在终端里执行 这些命令 我具体的说下怎么执行

如果你不知道什么是终端 请去自己百度

在终端里 先输入以下命令

sudo perl -i.bak -pe '$before = qr"\x0F\x85\x9E\x03\x00\x00"s;s/$before/\xE9\x83\x03\x00\x00\x90/g' /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

复制代码

这条命令输完以后 需要输入系统密码 输完密码回车即可 密码是不会在屏幕上显示的

命令的作用就是让程序强制跳过检测HDMI pixel clock的段落

然后在终端输入

sudo touch /System/Library/Extensions

复制代码

如果你是10.9.4以后的用户 你还需要输入以下这段 注意 你很可能没有codesign命令 所以需要安装 会自动提示 你点确定就行了

sudo codesign -f -s - /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

复制代码

然后 重启 就好了