mac-pixel-clock-patch
mac-pixel-clock-patch copied to clipboard
Needs Support for 10.11.2
Here are the checksums I have for OS X 10.11.2, which was released today:
$ md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
a7afb2dd9df1e4c48f12b4b52f7da212
$ md5 -q /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal
bb87a13eaabefcafa9e82fad03365aa4
$ md5 -q /System/Library/Extensions/AMDSupport.kext/Contents/MacOS/AMDSupport
018b02afbcaeca2883b316076bae2700
I tried the commands for the previous 10.11.1 and it executed perfectly fine. Just manually run the commands for 10.11.1 if this is important for you.
@legotheboss, thanks for the tip. I can confirm that it worked fine for me, too. Here's my checksum for the patched IOKit:
$ md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
a9435069e490b38e807a0d9b2eb6e76c
And I went ahead and created a pull request for the IOKit patch. Someone else will have to take care of the Nvidia and AMD patches -- I can't test them on my machine, but I suspect the changes are similarly minimal.
Hi this stopped working on 10.11.2 for me. When I run the commands nothing happens it doesn't provide any output. Tried it with disabling rootless too
Edit: Got it working with the three extra command lines
i tried your IOKit patch. It says: Detected unpatched IOKit on 10.11.2, patching.
Can't rename /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit to /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit.bak: Operation not permitted, skipping file. /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit: replacing existing signature /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit: Operation not permitted
Can you help me?
Nerokrox do you have SIP/Rootless disabled? Double check that it wasn't reenabled after the update. Boot into recovery (command+R on startup) then open terminal and run csrutil disable then reboot.
System integrity protection
Can confirm this is working on my hackintosh with a Titan X. 4k 60hz. Thanks!
FYI
iokit_md5_10_11_2=a7afb2dd9df1e4c48f12b4b52f7da212
iokit_md5_10_11_2_patched=5718d75dc7390e3209bb7f8092e7d05b
and confirm it working on my i5-4590.
@pos005 is this patch needed on a titan x?? I don't need it on my 670
@Floris497 yes it is. I use my Titan x to a 4K tv via hdmi 2.0. Without this patch it does not output any resolution at 60hz. With the patch everything works normally.
Oh good to know!
Worked for me on MacBook Early 2015
Detected unpatched IOKit on 10.11.2, patching.Password:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit: replacing existing signature
Great! @Floris497, should this issue be closed, or is there more work that needs to be done (specifically for the Nvidia patch)?
@rwkyy why is this patch needed on a 2015 machine? I tought it was only needed for older hardware..
@Floris497 because I got an external display with resolution up to 2560 x 1080 @60hz and OS X allows 1920 x 1080 on full HD (using a display port adapter to hdmi).
That is weird.. You should be able to add that resolution using switchresx without this patch, I think. Also I think 2015 models will output that resolution over HDMI no problem, although native 2560x1440 screens seem to work better than 2560x1080..
"Hi this stopped working on 10.11.2 for me. When I run the commands nothing happens it doesn't provide any output. Tried it with disabling rootless too
Edit: Got it working with the three extra command lines"
I'm in the same boat as Kazom was initially. No response with the 3 provided command lines. Tried with and without SIP enabled. Any help would be great.
@Floris497 Searched like 3 days for a solution to display the native resolution, with switchres I only managed to get a virtual resolution, but I still wanted native for the sharp text and stuff.
This patch was the only one that solved my problem.
@rwkyyy good to know @mutatioveritas does it work now?
Got it to run once and got an error about an xcrun folder being missing. Installed Xcode thinking that might help. Tried it a number of times thereafter and back to the no response.
Place the old file back using the mv command, then redo the patch. The exact command is somwhere in the other issues here or on the master repository.. I'll link it later if i have time
Where does it end up at? Tried looking in the downloads folder as well as the home drive with all files visible. I'll try the mv command when I get a sense of which directory it's in.
Got the following:
iMac:/ mutatio$ mv ./macPixelClockPatcher.command ~/Downloads mv: ./macPixelClockPatcher.command: No such file or directory
@mutatioveritas, the three commands are here, not the ones posted above:
sudo perl -i.bak -pe '$before = qr"\x0f\x85\x92\x03\x00\x00"s;s/$before/\xe9\x7a\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
the backup file is in the same directory that's being modified and should be called /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit.bak
, but try running the three commands above with SIP disabled.
@rasmi: Thanks, rasmi. Just to clarify, I'm running those commands after having run the initial three commands (e.g., cd ~/Downloads, etc.)? For instance, are the commands you've offered supposed to be run after getting the error that I got, where I'm now left without the initial commands getting any traction? Or, are the commands you've included intended to be run assuming the initial commands were successful?
They should work either way
Thanks a lot for your work. I had succsess in many cases with this patch. Now im stucked. OS X 10.11.2 with GTX970 Gaming F1 and latest Nvidia Web Drivers. Samsung UHD TV connected to HDMI2. Works without Patch at 3840x2160@30hz. So I tried your patch to enable 60hz. Some Useres were able to get 60hz then. Not me. Do I need to patch the Nvidia Web Driver or is it just the IOKit?
I have similar issue as skubic with GTX680MX. In windows I'm able to get 52Hz but in OS X 10.11.2 only 30Hz. Since I don't have thunderbolt 2 I know the max frequency will be 52Hz but it is not supported in latest driver. Any suggestion how to patch nvidia driver to overclock the pixel clock?
@skubic and @mirarty, you can try the following:
sudo perl -i.bak -pe '$oldLimit1 = qr"\xC7\x82\xD0\x00\x00\x00\x88\x84\x02\x00"s;$newLimit1 = "\xC7\x82\xD0\x00\x00\x00\x80\x1A\x06\x00";$oldLimit2 = qr"\xC7\x82\x20\x01\x00\x00\x88\x84\x02\x00"s;$newLimit2 = "\xC7\x82\x20\x01\x00\x00\x80\x1A\x06\x00";s/$oldLimit1/$newLimit1/g;s/$oldLimit2/$newLimit2/g' /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal
sudo touch /System/Library/Extensions
It would also be helpful if you could both share your md5 checksums so they can be included in the script (before and after patching).
md5 -q /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal
@rasmi Before patching: bb87a13eaabefcafa9e82fad03365aa4 After patching: 3b3244d597be457326d9c19309f00ff0
I don't see any difference after patching. My current limit is 358.20MHz Any other suggestion what I can try?
@mirarty, did you restart after patching?