Giter Club home page Giter Club logo

mac-pixel-clock-patch's Introduction

There is a Version 2 of this patch availible that is made to replace this script in its intirety.. therefore this script is not being maintained anymore.

for 10.11.4 support and up use Version 2 of this script.

Mac Pixel Clock Patcher

Updated with El Capitan support!

This will remove the 165 pixel clock limiter on your display driver to support 4k @ 30Hz over HDMI. An Active DisplayPort to HDMI adapter is sometimes needed for this to work.

Original forum thread here.

Based on the original, and the mavericks update.

How to install this patch

#####MAKE SURE TO DISABLE SIP on 10.11 and newer.

First make sure SIP (System Integrity Protection) is turned off for this to work. You can disable/enable this only when you boot into the recovery partition. If you booted into the recovery partition and open the terminal you use csrutil disable to disable, csrutil enable to enable and csrutil status to check the status of SIP you can also check the status on your normal system. the changes to SIP are only visible in the terminal after a reboot, so it will still notify you that SIP is on when you disable it and run csrutil status right after it.

SIP can safely be enabled after the patch of the IOKit, if you also want to use an Nvidia/AMD driver that has been patched you need to keep SIP disabled. this is because SIP will not allow you to run drivers which have a broken or no codesignature. by patching the driver we obviously break the codesignature. kernal extensions are not signable by anyone but apple and trusted parties. so SIP needs to be off for them to load. IOKit is not a kernel extension and therefore must be codesigned to run, this is done with the wildcard certificat, unique to everyone. even with SIP disabled the IOKit will not run without this new codesignature. the script takes care of the codesigning of the IOKit.

Download the .command file

Download it into your Downloads folder. Open Terminal and run:

cd ~/Downloads

chmod +x macPixelClockPatcher.command

./macPixelClockPatcher.command

You will be asked to enter your password to approve changes in your system.

Pay attention to the output - it should say it detected unpatched IOKit and NVIDIA driver on (your OS X version) and patch it.

Reboot your system.

After reboot, you should be able to get custom resolutions with over 165 MHz pixel clock to work using SwitchResX.

Instructions for updating the command for newer versions of IOKit

Instructions for how to reproduce the IOKit patch on a newer version of the binary:

First, take the md5 hash of IOKit for storing in this file md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

For OS X 10.9.2, the result is 9804392bbe8ba4b589175be56889c6c7

copy IOKit local and disassemble it

cp /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit .
otool -vt IOKit > IOKit.asm

Open up that file and look for the function _CheckTimingWithRange. You can tell because the line begins with the function name and ends in a colon: _CheckTimingWithRange:

Find the very first jump instruction in the function. In this case it is labelled JNE, which means jump if not equal. The instruction before is a comparison, and a literal translation to C would be expressed as: if(value1 != value2) goto result;

Now we look at the address it's jumping to. In this case it's 0x17341

Go down to that instruction, and you’ll see that there’s a gap between the last jump instruction before it and this block. That block is the cleanup section that returns a good response. This function is structured such that error cases and success share the same return block, with a success block just before the return block.

We want to patch this function so that it always returns a good response, which means changing the first instruction to jump to the good block, which is the first instruction to follow the very last jump to 0x17341. The address of this block is 0x17327

Jump instructions in this code are relative, se we need to calculate the offset being used by the current instruction, and also the address that will be used by the replacement instruction.

Relative jump instructions are stored as an offset to the following instruction. So, in the case of the following code block: Address 1 JMP to 3 2 Do Nothing 3 Do Something

The jump instruction would be encoded as 'Jump +1', since 2 is the address of the next instruction. This is because the processor automatically adds the distance to the next instruction with each instruction run, so it will be included into the starting calculation.

For the existing code, we have the following information:

Instruction:                  JNE 0x17341
Address of instruction:       0x16f9e
Address of next instruction:  0x16fa4
Relative difference:          0x39d (925)

Given that we want to jump to 0x17327 instead, which is 26 bytes of address closer (0x17341 - 0x17327), you might think that we need to work with a relative difference of 0x383 (899) but there's a slight catch.

The instruction that is there, JNE, takes two bytes to express, and the new instruction, JMP, is a single byte instruction. That means that if we don't want to mess with the rest of the program, we have to pad with an instruction that does nothing, NOP, for No OPeration.

Since the next instruction is now the NOP, which is now one byte closer, we must recalculate the offset using a relative difference of 0x384 or 900.

The final two things you need to know to patch IOKit are the opcodes for the three instructions, and the endianness of the architecture.

JNE is 0x0F 0x85, JMP is 0xE9, and NOP is 0x90.

Intel x86 is little endian, which means the small byte of a multi-byte number comes first (the little end comes first). This means that the four byte offset 0x0000039D will be in the instruction stream as 0x9D 0x03 0x00 0x00

So, finally, the existing instruction is JNE +925, or JNE +0x39D, which is encoded as:

(0F 85) JNE (9D 03 00 00) +925
0F 85 9D 03 00 00

The instructions we want to replace it with are JMP +900, NOP, or JMP +0x384, NOP, which is encoded as:

(E9) JMP (84 03 00 00) +900 (90) NOP
E9 84 03 00 00 90

Converting this into a perl command like below, you'll notice that the before and after bytes are exactly the same as in the 10.9.1 version. We test this by patching the local copy of IOKit with thw following command

perl -i.bak -pe '$before = qr"\x0F\x85\x9D\x03\x00\x00"s;s/$before/\xE9\x84\x03\x00\x00\x90/g' IOKit

We'll disassemble the newly patched file to make sure it does what we expect: otool -vt IOKit > IOKit_new.asm

We compare the two versions: diff -u IOKit.asm IOKit_new.asm

Looking at the output shows that the only difference is replacing the JNE with the two instructions, JMP (or JMPQ) and NOP.

The final step is taking the md5 hash of the new version and updating the command file:

md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
45d8fc0e1210f0672297a7716478990e

mac-pixel-clock-patch's People

Contributors

floris497 avatar gdmayle avatar jelliot avatar masakistan avatar rasmi avatar sammcj avatar tomayoola avatar vinc3m1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mac-pixel-clock-patch's Issues

Supports el Capitan Nvidia Web driver? and Maxwell cards on hackintoshes?

Sorry if dumb question but don't know if this patch supports builtin Nvidia driver and/or also Nvidia web driver..
as it doesn't overwrite driver Kexts but has new kexts ending in Web like NVDAGK100HalWeb.kext,etc.. also I run hackintosh and have newer 970 (Maxwell GPU) so file to patch is NVDAGM100HalWeb or something like that..
can you support both i.e. Nvidia web driver and Maxwell patching?
thanks..

Can't update after upgrading to El Capitan

Hi all, I'm new to this and could really use the help. I've used this patch on yosemite and it worked fine, but now when i try to patch it on El Capitan I get this:

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
Detected unpatched NVIDIA driver on 10.11, patching.
Can't rename /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal to /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal.bak: Operation not permitted, skipping file.
Justins-MacBook-Pro:Downloads Justin$

Any help would be appreciated thanks.

I'm using a Macbook Pro (late 2011)

10.11.1

:(. Another Mac update.

md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

...nets the following hash:

7359b413a4dca7a189b80da750ce43dd

LG Ultrawide - 2560x1080@50Hz

Hello All,

My monitor cant hold 2560x1080@60Hz, it becomes all black... :/

Any way to change the default refresh rate on this res to 50Hz??

I'm using El Capitan and already have csr disabled.

Thank you!!

Works in 10.11.4?

There has been a new update of OSX and want to be sure before upgrading.

Greetings.

AMD driver support

My 2011 MBP has AMD graphic card, the mod doesn't work with it. Can you patch it?
My checksum:

$ md5 -q /System/Library/Extensions/AMDSupport.kext/Contents/MacOS/AMDSupport ac68dd9427ff690c4aac12f9abfcf708

Also if you don't have any way to test it i can help with test and some works.

Thank you

Agostino

10.11.3?

My apologies for being impatient :)

Installation not permitted on 10.11

How do I run this on 10.11 with the new rootless security stuff?

sudo ./macPixelClockPatcher.command
Detected unpatched IOKit on 10.11 (GM Candidate), 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

10.10.4 is not supporting 4k

After installing 10.10.4 (which I now seriously regret), I lost 4k support. I ran macPixelClockPatcher.command, the output suggested that the patch worked. I now have an MD5 of 347e00b72f41dd3378f658178cb4114c on IOKit. I'm not sure if that's correct or not. In any case, I still have no 4k support. Any thoughts on what might be the issue?

Version: 10.13.2 build:17C88

A patch for 10.13.2 ?

Unknown version of IOKit found..
---- BEGINNING MD5 HASH SUMS ---- version: 10.13.2 build:17C88

 otool IOKit: 4bddbd031598571ef738894d553eb620

otool IOKit.bak: NO FILE (this is okay)
IOKit: 80af65c6cff440d6df7c6b254a0897b8
IOKit.bak: NO FILE (this is okay)
---- ENDING MD5 HASH SUMS -------

Thanks,

Any Chance for Help with LG UltraWide?

I tried. I really did. Got the the asm things and got very lost.

Does this help? You're way smarter than me! Yikes!

md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

Returns

131978134faf623c7803458c2a204d60

...and...

_CheckTimingWithRange:
000000000001a298 pushq %rbp
000000000001a299 movq %rsp, %rbp
000000000001a29c pushq %r15
000000000001a29e pushq %r14
000000000001a2a0 pushq %r13
000000000001a2a2 pushq %r12
000000000001a2a4 pushq %rbx
000000000001a2a5 movl 0x20(%rsi), %ecx
000000000001a2a8 movl $0x1, %eax
000000000001a2ad testb $0x1, %cl
000000000001a2b0 jne 0x1a648
000000000001a2b6 testb $0x4, %cl
000000000001a2b9 je 0x1a2ca
000000000001a2bb movl $0x22, %eax
000000000001a2c0 testb $0xc, 0x3c(%rdi)
000000000001a2c4 je 0x1a648
000000000001a2ca movl 0x80(%rsi), %edx
000000000001a2d0 cmpl $0x2, %edx
000000000001a2d3 jb 0x1a2ec
000000000001a2d5 movl 0xd0(%rdi), %ebx
000000000001a2db testl %ebx, %ebx
000000000001a2dd je 0x1a2ec
000000000001a2df movl $0x23, %eax
000000000001a2e4 cmpl %ebx, %edx
000000000001a2e6 ja 0x1a648
000000000001a2ec movl 0x40(%rsi), %r15d
000000000001a2f0 movl 0x44(%rsi), %r14d
000000000001a2f4 movl 0x50(%rsi), %r10d
000000000001a2f8 movl 0x54(%rsi), %r9d
000000000001a2fc movq %r14, %r11
000000000001a2ff addq %r15, %r11
000000000001a302 movl $0x24, %eax
000000000001a307 je 0x1a648
000000000001a30d movq %r9, %r8
000000000001a310 addq %r10, %r8
000000000001a313 je 0x1a648
000000000001a319 movq 0x28(%rsi), %rbx
000000000001a31d movl $0x4, %eax
000000000001a322 cmpq 0x28(%rdi), %rbx
000000000001a326 ja 0x1a648
000000000001a32c cmpq 0x20(%rdi), %rbx
000000000001a330 jb 0x1a648
000000000001a336 xorl %edx, %edx
000000000001a338 movq %rbx, %rax
000000000001a33b divq %r11
000000000001a33e movq %rax, %r13
000000000001a341 movl 0x4c(%rdi), %r12d
000000000001a345 movl $0x5, %eax
000000000001a34a cmpq %r12, %r13
000000000001a34d ja 0x1a648
000000000001a353 movl 0x48(%rdi), %edx
000000000001a356 cmpq %rdx, %r13
000000000001a359 jb 0x1a648
000000000001a35f shrb $0x2, %cl
000000000001a362 andb $0x1, %cl
000000000001a365 shlq %cl, %rbx
000000000001a368 movq %r8, %rcx
000000000001a36b imulq %r11, %rcx
000000000001a36f xorl %edx, %edx
000000000001a371 movq %rbx, %rax
000000000001a374 divq %rcx
000000000001a377 movq %rax, %rcx
000000000001a37a movl 0x44(%rdi), %edx
000000000001a37d movl $0x6, %eax
000000000001a382 cmpq %rdx, %rcx
000000000001a385 ja 0x1a648
000000000001a38b movl 0x40(%rdi), %edx
000000000001a38e cmpq %rdx, %rcx
000000000001a391 jb 0x1a648
000000000001a397 movl 0x50(%rdi), %ecx
000000000001a39a movl $0x7, %eax
000000000001a39f cmpq %rcx, %r11
000000000001a3a2 ja 0x1a648
000000000001a3a8 movl 0x54(%rdi), %ecx
000000000001a3ab movl $0x8, %eax
000000000001a3b0 cmpq %rcx, %r8
000000000001a3b3 ja 0x1a648
000000000001a3b9 movl $0x9, %eax
000000000001a3be cmpl 0x74(%rdi), %r15d
000000000001a3c2 ja 0x1a648
000000000001a3c8 cmpl 0x70(%rdi), %r15d
000000000001a3cc jb 0x1a648
000000000001a3d2 movl $0xa, %eax
000000000001a3d7 cmpl 0x94(%rdi), %r10d
000000000001a3de ja 0x1a648
000000000001a3e4 cmpl 0x90(%rdi), %r10d
000000000001a3eb jb 0x1a648
000000000001a3f1 movl 0x48(%rsi), %r13d
000000000001a3f5 movl $0xd, %eax
000000000001a3fa cmpl 0x84(%rdi), %r13d
000000000001a401 ja 0x1a648
000000000001a407 cmpl 0x80(%rdi), %r13d
000000000001a40e jb 0x1a648
000000000001a414 movl 0x4c(%rsi), %r12d
000000000001a418 movl $0xe, %eax
000000000001a41d cmpl 0x8c(%rdi), %r12d
000000000001a424 ja 0x1a648
000000000001a42a cmpl 0x88(%rdi), %r12d
000000000001a431 jb 0x1a648
000000000001a437 movl 0x58(%rsi), %ebx
000000000001a43a movl $0xf, %eax
000000000001a43f cmpl 0xa4(%rdi), %ebx
000000000001a445 ja 0x1a648
000000000001a44b cmpl 0xa0(%rdi), %ebx
000000000001a451 jb 0x1a648
000000000001a457 movl 0x5c(%rsi), %ecx
000000000001a45a movl $0x10, %eax
000000000001a45f cmpl 0xac(%rdi), %ecx
000000000001a465 ja 0x1a648
000000000001a46b cmpl 0xa8(%rdi), %ecx
000000000001a471 jb 0x1a648
000000000001a477 movl 0x60(%rsi), %edx
000000000001a47a movl %edx, -0x2c(%rbp)
000000000001a47d movl $0x11, %eax
000000000001a482 cmpl 0xb4(%rdi), %edx
000000000001a488 ja 0x1a648
000000000001a48e movl -0x2c(%rbp), %edx
000000000001a491 cmpl 0xb0(%rdi), %edx
000000000001a497 jb 0x1a648
000000000001a49d movl 0x64(%rsi), %edx
000000000001a4a0 movl %edx, -0x30(%rbp)
000000000001a4a3 movl $0x12, %eax
000000000001a4a8 cmpl 0xbc(%rdi), %edx
000000000001a4ae ja 0x1a648
000000000001a4b4 movl -0x30(%rbp), %edx
000000000001a4b7 cmpl 0xb8(%rdi), %edx
000000000001a4bd jb 0x1a648
000000000001a4c3 movl 0x68(%rsi), %edx
000000000001a4c6 movl %edx, -0x34(%rbp)
000000000001a4c9 movl $0x13, %eax
000000000001a4ce cmpl 0xc4(%rdi), %edx
000000000001a4d4 ja 0x1a648
000000000001a4da movl -0x34(%rbp), %edx
000000000001a4dd cmpl 0xc0(%rdi), %edx
000000000001a4e3 jb 0x1a648
000000000001a4e9 movl 0x6c(%rsi), %edx
000000000001a4ec movl %edx, -0x38(%rbp)
000000000001a4ef movl $0x14, %eax
000000000001a4f4 cmpl 0xcc(%rdi), %edx
000000000001a4fa ja 0x1a648
000000000001a500 movl -0x38(%rbp), %edx
000000000001a503 cmpl 0xc8(%rdi), %edx
000000000001a509 jb 0x1a648
000000000001a50f movzbl 0x60(%rdi), %esi
000000000001a513 xorl %edx, %edx
000000000001a515 movl %r15d, %eax
000000000001a518 divl %esi
000000000001a51a movl $0x15, %eax
000000000001a51f testl %edx, %edx
000000000001a521 jne 0x1a648
000000000001a527 movzbl 0x61(%rdi), %esi
000000000001a52b xorl %edx, %edx
000000000001a52d movl %r14d, %eax
000000000001a530 divl %esi
000000000001a532 movl $0x16, %eax
000000000001a537 testl %edx, %edx
000000000001a539 jne 0x1a648
000000000001a53f movzbl 0x62(%rdi), %esi
000000000001a543 xorl %edx, %edx
000000000001a545 movl %r13d, %eax
000000000001a548 divl %esi
000000000001a54a movl $0x17, %eax
000000000001a54f testl %edx, %edx
000000000001a551 jne 0x1a648
000000000001a557 movzbl 0x63(%rdi), %esi
000000000001a55b xorl %edx, %edx
000000000001a55d movl %r12d, %eax
000000000001a560 divl %esi
000000000001a562 movl $0x18, %eax
000000000001a567 testl %edx, %edx
000000000001a569 jne 0x1a648
000000000001a56f movzbl 0x64(%rdi), %esi
000000000001a573 xorl %edx, %edx
000000000001a575 movl %r10d, %eax
000000000001a578 divl %esi
000000000001a57a movl $0x22, %eax
000000000001a57f testl %edx, %edx
000000000001a581 jne 0x1a648
000000000001a587 movzbl 0x65(%rdi), %esi
000000000001a58b xorl %edx, %edx
000000000001a58d movl %r9d, %eax
000000000001a590 divl %esi
000000000001a592 movl $0x19, %eax
000000000001a597 testl %edx, %edx
000000000001a599 jne 0x1a648
000000000001a59f movzbl 0x66(%rdi), %esi
000000000001a5a3 xorl %edx, %edx
000000000001a5a5 movl %ebx, %eax
000000000001a5a7 divl %esi
000000000001a5a9 movl $0x1a, %eax
000000000001a5ae testl %edx, %edx
000000000001a5b0 jne 0x1a648
000000000001a5b6 movzbl 0x67(%rdi), %esi
000000000001a5ba xorl %edx, %edx
000000000001a5bc movl %ecx, %eax
000000000001a5be divl %esi
000000000001a5c0 movl $0x1b, %eax
000000000001a5c5 testl %edx, %edx
000000000001a5c7 jne 0x1a648
000000000001a5c9 movzbl 0x68(%rdi), %ecx
000000000001a5cd xorl %edx, %edx
000000000001a5cf movl -0x2c(%rbp), %eax
000000000001a5d2 divl %ecx
000000000001a5d4 movl $0x1c, %eax
000000000001a5d9 testl %edx, %edx
000000000001a5db jne 0x1a648
000000000001a5dd movzbl 0x69(%rdi), %ecx
000000000001a5e1 xorl %edx, %edx
000000000001a5e3 movl -0x30(%rbp), %eax
000000000001a5e6 divl %ecx
000000000001a5e8 movl $0x1d, %eax
000000000001a5ed testl %edx, %edx
000000000001a5ef jne 0x1a648
000000000001a5f1 movzbl 0x6a(%rdi), %ecx
000000000001a5f5 xorl %edx, %edx
000000000001a5f7 movl -0x34(%rbp), %eax
000000000001a5fa divl %ecx
000000000001a5fc movl $0x1e, %eax
000000000001a601 testl %edx, %edx
000000000001a603 jne 0x1a648
000000000001a605 movzbl 0x6b(%rdi), %ecx
000000000001a609 xorl %edx, %edx
000000000001a60b movl -0x38(%rbp), %eax
000000000001a60e divl %ecx
000000000001a610 movl $0x1f, %eax
000000000001a615 testl %edx, %edx
000000000001a617 jne 0x1a648
000000000001a619 movzbl 0x6c(%rdi), %ecx
000000000001a61d xorl %edx, %edx
000000000001a61f movq %r11, %rax
000000000001a622 divq %rcx
000000000001a625 movl $0x20, %eax
000000000001a62a testq %rdx, %rdx
000000000001a62d jne 0x1a648
000000000001a62f movzbl 0x6d(%rdi), %ecx
000000000001a633 xorl %esi, %esi
000000000001a635 xorl %edx, %edx
000000000001a637 movq %r8, %rax
000000000001a63a divq %rcx
000000000001a63d testq %rdx, %rdx
000000000001a640 movl $0x21, %eax
000000000001a645 cmovel %esi, %eax
000000000001a648 popq %rbx
000000000001a649 popq %r12
000000000001a64b popq %r13
000000000001a64d popq %r14
000000000001a64f popq %r15
000000000001a651 popq %rbp
000000000001a652 retq

Fail on late 2013 iMac El Capitan 10.11.2?

Hi Floris... tried to send you email before I figured out how to start a ticket here, sorry about that. I am struggling with a LG 29 inch ultrawide monitor, 29UM57, HDMI in only. I used a Thunderbolt (mini DVI?) to HDMI cable and got a "squashed" image at 1080p, and had the usual trouble with OSX refusing to drive the display at any higher resolution. I then DL'd SwitchResX and tried to use this to set the monitor to 2560x1080 (which appeared to be what the monitor itself was expecting, per its popup message box).

No luck. I got the dreaded black screen. Then I googled a lot more and found your patch, which sounded hopeful. I tried applying v1. The patch appeared to succeed, but it said nothing about the NVIDIA graphics card (some of the online doco seemed to suggest its output should mention the NVIDIA driver). It did create the IOKit.bak file, but it didn't change the behaviour. I still got the black screen when trying to run the LG monitor at 2560x1080.

I rolled back to the saved IOkit.bak and then tried patch v2. V2 seemed unhappy because Xcode was missing and also did not recognize the version of IOKit (see below). I am now installing Xcode (preparatory to another attempt) but am not sure what to do about "Unknown version of IOKit found."

Unknown version of IOKit found..
---- BEGINNING MD5 HASH SUMS ---- version: 10.11.2 build:15C50

xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
     otool IOKit: d41d8cd98f00b204e9800998ecf8427e
 otool IOKit.bak: NO FILE (this is okay)
           IOKit: a7afb2dd9df1e4c48f12b4b52f7da212
       IOKit.bak: NO FILE (this is okay)

---- ENDING MD5 HASH SUMS -------

I am not very knowledgeable about video drivers; I was expecting this display to "just work", like my Samsung widescreen display has worked for years with my MacBook Pro. I didn't realise that Apple had imposed this arbitrary limit on the rez of HDMI monitors. I am hoping I can work around it with your patch so I won't have wasted $380 (CAD) on this monitor! Others have succeeded using your patch so I am hoping you can help me. Many thanks. If you can give me a patch that works or help me to make one of the existing patches work, I will certainly send a paypal donation!

PS my NVIDIA card: GEForce GT 750M 1GB VRAM

10.12.5 lost support

Hello,

I had used your patch to get 4k@60hz support on my MST display in 10.12.4, but I recently upgraded to 10.12.5 and its drooped back to 30hz. I'm connected via DisplayPort and the fact that it was working on 10.12.4 indicates there is a software issues somewhere, just not sure what. I've tried various attempts but have not been able to get the display options to show 60hz.

Any help would greatly be appreciated

10.10.5 and other unsupported OS X versions

Hi!
Thanks for your work on this!

I'm using the CPU 5690x not compatible with El Campitan (yet). But I need XCode, which is only compatible with >= 10.10.5, so 10.10.5 is what I'm using.

I use Asus GTX 970 and I just bought 2 4k monitors for them. But I can't get them to work in 60hz.

Is there a workaround for this version of OS X? Would appreciate an answer so much.

Best,
Thyselius

error on command

hello, I got problem here. when I first time type ./macPixelClockPatcher.command it require a software to run, so it automatically run software update and installed it. after that, I re-run the command again on terminal but nothing happened.
am I misssing something?

10.10.5 Support

The patch needs to be updated for 10.10.5 if necessary and the strings updated.

how to use the patch working for 10.11.3 ?

Hi all,

I had tried to use the patch files(10.11.2 & 10.11.3), but it didn't work on my mac. When I perform the patch, I didn't see any echo message on my screen. I still can not see the resolution 2540 * 1080 for my LG ultraview.

macbook pro(13-inch,2012 mid)

Thanks.

4k support at MBA early 2014 HD5000

Hi Floris497,
I saw the number of reports of successful 4k enabling at MBA with HD4xxx graphics, but read that HD5000 has a driver issue on Yosemite preventing that. Can you please advise if that's the case and you successfully tried HD5000 for 4k at 30Hz?
I have applied the script at 10.10.4 and have Switchresx installed but can't install 4k mode there. Any advice is appreciated.

When added mac 10.11.5?

我现在用的是10.11.5的系统,显示器用hdmi没办法达到2560x1440分辩率,显示器和显卡都支持dp,我还没有用dp测试呢,但是hdmi是达不到的。

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

Installation step by step

Hi. I have already installed many versions of the patch with each new update of El Capitan. And I think that I don't always process the same way. The instructions are not completely clear to me. And I think it can be worse for less experienced users. I would like a guide to explain step by step process. Thank you very much for your work Floris.

Reinstalled OS - now patch won't work

My patch was working fine until last week when I decided to clean install my OS on my Mac Mini 2012. Now the patch will not work and I get the dreaded black screen every time. I've wrecked my brain, I've bought replacement cables and adapters and nothing works.

El Capitan GM Support

md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
cd40217cd8d2ed8f16fa4ca513253109

Happy to test it.

10.11 GT650M patch

Hi Floris, I thought I'd create a new topic on the subject that we started in the 10.10.5 thread. Any help would be much appreciated. I intend to upgrade to 10.11 at the end of the month at which time, I will be running this updated script; however, you mentioned that I may need a "patch" for my dedicated graphics card in my mid 2012 macbook pro retina? I have no idea what this entails but it would be great if you could help. My full specs are below:

Mac: Macbook pro retina mid-2012
Integrated graphics: Intel HD4000
Dedicated graphics: Nvidia GT650M
Current OS: 10.10.5, but I will be upgrading to 10.11in about 7 days
External display: 3440x1440 @ 60hz

On a side note, I've managed to get to 3440x1440@50Hz using the patch for 10.10.5 and switchresx. I'm trying to get to 60hz and also trying to enable retina resolutions (scaled 3440x1440 res such as 1720x720@60Hz). I can't get to this resolution let alone refresh rate.. The hunt continues!

Thanks again..

OSX 10.11.3

Hi, I have a LG 25” Class 21:9 UltraWide® IPS Monitor (25UM65-P)... I had the patch working great on my previous osx (10.11.1) but it was lost with the upgrade. I have downloaded the patch but when I input the command lines in to Terminal, nothing happens. Can you Assist @Floris497?

Needs Support for 10.11.3

The checksums from the 10.11.3:

md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
3cec8ae287ee52a3622082bfc049bb86
md5 -q /System/Library/Extensions/NVDAGK100Hal.kext/Contents/MacOS/NVDAGK100Hal
4c5aa903f28e3dbcfb2e15d8efdbfcbe
md5 -q /System/Library/Extensions/AMDSupport.kext/Contents/MacOS/AMDSupport
ac68dd9427ff690c4aac12f9abfcf708

10.11 Beta 7

samm-mb ~/git/mac-pixel-clock-patch % md5 -q /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
c8b8830d495a2ba76e99f50e17b9f9ef

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.