One of my fondest memories was working on "Pirates of Silicon Valley" and recreating the 1984 commercial.
At the time (1998) Apple was foundering and everything I did to make Apple look better made me feel good. I spent a bunch of time watching that commercial, Apple's little hottie freeing us all from "Big Brother".
One of my favorite pictures of myself is her taking that mallet to my head.
Anyhow, can't help but be reminded today when I discovered how to enable 60Hz 4K MST on Nvidia cards. Seems Apple didn't want the cMP rubbing elbows with nMP so took to some more deliberate knee-capping.
They became that which they used to parody. Unfortunate.
I wrote before about the phrase "4K" having several different meanings. Knowing whether your display is SST or MST is crucial. SST looks like it means "Super Speed Transport" but actually means Single Stream Transport. MST stands for Multi Stream Transport. This means that 2 distinct display signals get sent down the DP cable as if they are meant for 2 different displays, but instead they get sewn together for one display.
Apple has choosen to not allow the cMP to run 4K MST displays at 60Hz. But there is a way to enable it.
To start with you will need GTX6xx or newer and an MST 4K display. SST 4K displays work without help on the right GPUs.
First and foremost, I recomend "Display Menu" app. It gives you many more resolution options than Display Preferences and yet doesn't require an advanced degree in Calculus like the other app from France.
I am going to warn you that fiddling with this stuff is frustrating and frequently leads to multiple re-boots and plug yankings.
Most of us have a spare SATA drive or 3, I recomend creating another working install that you can boot from in case of trouble.
Because we need to modify one of Apple's kernel extensions you will need to run OS X in what is called "kext dev mode". This disables the requirement that every extension carry a digital signature approved by Apple to show that it hasn't been monkeyed with. This wasn't necessary in previous versions of OS X, but is now.
To do this, open Terminal and type:
sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"
You will be asked for your password but you won't see anything happen as you type it in. Hit return.
Next type in:
nvram -p
If you have done this correctly you will see:
boot-args kext-dev-mode=1 nvda_drv=1
Create 2 folders on your desktop, "AGC Virgin" and "AGC Modded". The virgin one is in case you bugger this up. That folder will be your easy fix.
Go here:
Your Hard Drive ▸ System ▸ Library ▸ Extensions ▸ AppleGraphicsControl.kext
Drag that item into both folders, this will create a copy in each leaving the original in the Extensions folder.
Go to the one labeled "AGC Modded" and right click your way down to:
AppleGraphicsControl.kext ▸ Contents ▸ PlugIns ▸ AppleGraphicsDevicePolicy.kext ▸ Contents
Inside the "Contents" folder you will find some files.
Open the info.plist in an editor that you know. I suggest either Plistinator or TextWrangler
Find the little section I have pictured. These are the "black listed" machines.
By running:
ioreg -p IODeviceTree -r -n / -d 1
in terminal I find that my 4,1/5,1is F221BEC8.
Change it, one digit will do. I change mine to F221BEC7. Save the plist and replace the original kext in the Extensions folder with the one you just modded.
Next open Disk Utility and run a "repair permissions". If you have done this correctly you should see the various parts getting repaired, as in one of the images below.
Now it gets exciting. Connect the MST display via an HDMI cable with display in the mode that allows you to choose form HDMI 1 or HDMI 2. If it is in "DUAL HDMI" mode it is looking for input from both. I believe it is the bottom button or next one up that lets you choose from "DisplayPort/HDMI 1/HDMI2". Once you have cable hooked to HDMI port, switch to that port. This should give you 4K at 30Hz, like you have been seeing on DP port.
The moment is here, reboot. Wait until the desktop is fully loaded on the HDMI port and all is settled. Now hit that button to cycle through the input ports again and choose "DisplayPort". If all has gone as planned you will see the desktop in full glorious 4K at 60Hz. Oddly, the only way to know via System Profiler or DisplayMenu is to NOT see "30Hz" after the 3840x2160 size. For some reason SST 4K will have "60Hz" after the size but MST leaves it blank.
The easy way to know for sure is to Google "UFO 60Hz", the top hit should be a site that validates display refresh rates. A little UFO will be zipping across the screen in both 30Hz and 60Hz if this is working. The 60Hz one will look smooth and fluid while 30Hz one will look like it is hopping it's way across. And you, appalled, will wonder how you ever looked at such a clunky refresh rate.
Remember if you do a PRAM reset that boot args line is going to lose both the Nvidia driver and the devmode and you will need to enable them again.
I only suggest this on the Asus/Sharp 321 twins with GTX600 or higher. (works on a GT640 with DP).
I have heard that the Dell 321 version is different.
This mod is easy to mess up, hence my encouragement to have a backup boot drive to do fixes from or to experiment on before your main drive gets messed up.
If you do get it working, please post about it here. Note that you have to do the HDMI trick on every boot. If not it will probably not get to desktop.
EDIT: This has been updated and posted on our blog as well. The images referred to are in a lower post.
At the time (1998) Apple was foundering and everything I did to make Apple look better made me feel good. I spent a bunch of time watching that commercial, Apple's little hottie freeing us all from "Big Brother".
One of my favorite pictures of myself is her taking that mallet to my head.
Anyhow, can't help but be reminded today when I discovered how to enable 60Hz 4K MST on Nvidia cards. Seems Apple didn't want the cMP rubbing elbows with nMP so took to some more deliberate knee-capping.
They became that which they used to parody. Unfortunate.
I wrote before about the phrase "4K" having several different meanings. Knowing whether your display is SST or MST is crucial. SST looks like it means "Super Speed Transport" but actually means Single Stream Transport. MST stands for Multi Stream Transport. This means that 2 distinct display signals get sent down the DP cable as if they are meant for 2 different displays, but instead they get sewn together for one display.
Apple has choosen to not allow the cMP to run 4K MST displays at 60Hz. But there is a way to enable it.
To start with you will need GTX6xx or newer and an MST 4K display. SST 4K displays work without help on the right GPUs.
First and foremost, I recomend "Display Menu" app. It gives you many more resolution options than Display Preferences and yet doesn't require an advanced degree in Calculus like the other app from France.
I am going to warn you that fiddling with this stuff is frustrating and frequently leads to multiple re-boots and plug yankings.
Most of us have a spare SATA drive or 3, I recomend creating another working install that you can boot from in case of trouble.
Because we need to modify one of Apple's kernel extensions you will need to run OS X in what is called "kext dev mode". This disables the requirement that every extension carry a digital signature approved by Apple to show that it hasn't been monkeyed with. This wasn't necessary in previous versions of OS X, but is now.
To do this, open Terminal and type:
sudo nvram boot-args="kext-dev-mode=1 nvda_drv=1"
You will be asked for your password but you won't see anything happen as you type it in. Hit return.
Next type in:
nvram -p
If you have done this correctly you will see:
boot-args kext-dev-mode=1 nvda_drv=1
Create 2 folders on your desktop, "AGC Virgin" and "AGC Modded". The virgin one is in case you bugger this up. That folder will be your easy fix.
Go here:
Your Hard Drive ▸ System ▸ Library ▸ Extensions ▸ AppleGraphicsControl.kext
Drag that item into both folders, this will create a copy in each leaving the original in the Extensions folder.
Go to the one labeled "AGC Modded" and right click your way down to:
AppleGraphicsControl.kext ▸ Contents ▸ PlugIns ▸ AppleGraphicsDevicePolicy.kext ▸ Contents
Inside the "Contents" folder you will find some files.
Open the info.plist in an editor that you know. I suggest either Plistinator or TextWrangler
Find the little section I have pictured. These are the "black listed" machines.
By running:
ioreg -p IODeviceTree -r -n / -d 1
in terminal I find that my 4,1/5,1is F221BEC8.
Change it, one digit will do. I change mine to F221BEC7. Save the plist and replace the original kext in the Extensions folder with the one you just modded.
Next open Disk Utility and run a "repair permissions". If you have done this correctly you should see the various parts getting repaired, as in one of the images below.
Now it gets exciting. Connect the MST display via an HDMI cable with display in the mode that allows you to choose form HDMI 1 or HDMI 2. If it is in "DUAL HDMI" mode it is looking for input from both. I believe it is the bottom button or next one up that lets you choose from "DisplayPort/HDMI 1/HDMI2". Once you have cable hooked to HDMI port, switch to that port. This should give you 4K at 30Hz, like you have been seeing on DP port.
The moment is here, reboot. Wait until the desktop is fully loaded on the HDMI port and all is settled. Now hit that button to cycle through the input ports again and choose "DisplayPort". If all has gone as planned you will see the desktop in full glorious 4K at 60Hz. Oddly, the only way to know via System Profiler or DisplayMenu is to NOT see "30Hz" after the 3840x2160 size. For some reason SST 4K will have "60Hz" after the size but MST leaves it blank.
The easy way to know for sure is to Google "UFO 60Hz", the top hit should be a site that validates display refresh rates. A little UFO will be zipping across the screen in both 30Hz and 60Hz if this is working. The 60Hz one will look smooth and fluid while 30Hz one will look like it is hopping it's way across. And you, appalled, will wonder how you ever looked at such a clunky refresh rate.
Remember if you do a PRAM reset that boot args line is going to lose both the Nvidia driver and the devmode and you will need to enable them again.
I only suggest this on the Asus/Sharp 321 twins with GTX600 or higher. (works on a GT640 with DP).
I have heard that the Dell 321 version is different.
This mod is easy to mess up, hence my encouragement to have a backup boot drive to do fixes from or to experiment on before your main drive gets messed up.
If you do get it working, please post about it here. Note that you have to do the HDMI trick on every boot. If not it will probably not get to desktop.
EDIT: This has been updated and posted on our blog as well. The images referred to are in a lower post.
Last edited: