Contribute
Register

Ideas and try to get overclocked Nvidia card natively work

Status
Not open for further replies.
Joined
Jan 24, 2016
Messages
12
Motherboard
AsRock Z77 Extreme 4
CPU
I7 3770k @ 4.4Ghz
Graphics
PNY XLR8 GTX 980 (with modded bios)
Mac
  1. MacBook Pro
Classic Mac
  1. 0
Mobile Phone
  1. iOS
  2. Windows Phone
GTX 9xx overclock on OSX - Tests, Effects, Issues, Benchs

Hi guys !

First of all, i would like to thanks you all for your work/tutorial/posts/stuffs !
My hackintosh is working (still not perfect but i'm still on it :p) thanks to you all !
It's important to note that it's quite new to me, that my motherboard isn't the easiest to setup and that i'm still refining everything.
Because of that, it may not work actually for me because of configuration/optimizations issues but may on your side so i'm pushing the idea if some wanna try !

Here is where i am and did:
- I'm on Yosemite 10.10.5 (14f27) with Nvidia Webdrivers 346.02.03f01
- Used clover, minimum settings, legacy boot method (UEFI don't work with ASrock Z77 Extreme 4).
- config.plist edited to minimum from clover generated: only -v at boot, no nvidia injection, no fakeid etc
- Patched my dsdt with Z77 Extreme 6 settings from PJAML repo (hardware really close to mine and works well for now), no other edit, graphic card declared as GFX0 in it.
- Actually my SMBIOS is set to Mac Mini 6.2 ("board-id" = <"Mac-F65AE981FFA204ED">) cuz of easy I7 3770k C/P states management with overclock @4400. It may change later because AppleGraphicsPowerManagement.kext in S/L/E asks for IGPU.
Changed IGPU to GFX0, made me get: [AGPM Controller] unknownPlatform x2
Then changed it to Vendor10deDevice13c0 which seems to be the right one for 980 (found on a russian website, not sure at all about that ---> Confirmed: http://envytools.readthedocs.org/en/latest/hw/pciid.html#gm204).
Btw, it got detected:

Code:
02/02/2016 11:20:12,000 kernel[0]: [AGPM Controller] unknownPlatform [I](I think it's my Intel 4000)[/I]
02/02/2016 11:20:12,000 kernel[0]: [AGPM Controller] build GPUDict by Vendor10deDevice13c0

Thing is: Even if AGPM controller dected it right or not it don't seems to have effect on frequencies/performances for me (in good or bad).

So, i've a PNY XLR8 GTX 980 in my rig, overclocked under windows but there is no utility like MSI Afterburner on OSX, which was frustrating.
When i seen that OSX read bios infos of graphic card during boot i said to myself: "Well, let's hard code frequencies in GPU bios !"
FYI, you have to do it on windows, flash procedure itself is super-easy: http://www.overclock.net/t/1517316/...d-980-firmware-zosons-h2o-and-air-custom-bios

Protips: Put you original bios too (mine is named 1.rom) in NVFlash folder (C:/nvflash): if you get BSOD loop after overclock, you can revert to your original working bios in windows recovery mode using cmd line :)
If it happens:
- use Diskpart list volume command to know your regular system drive letter in this mode (mine become E:\ )
- Then cd E:\nvflash (keeping E: as example)
- After: nvflash -6 youroriginalbiosname.rom
You are back to your working original bios, reboot and change your settings to not get BSOD :)
It happend to me when i set 285000 for "Def" and "Max" in PowerTable "Power target".
No issue with 265000 as def and 285000 as max.

I put 1367 Mhz as minimum core frequency and 3950 Mhz as memory which are my stables frequencies wanever i do (could increase core but BF4 don't like it).
Power management still work (135/648 on desktop).

So, as I boot i get:
Code:
02/02/2016 11:20:12,000 kernel[0]: GeforceSensors: starting early shadow VBIOS...
02/02/2016 11:20:12,000 kernel[0]: GeForceSensors (pci1): trying to shadow VBIOS...
...
02/02/2016 11:20:12,000 kernel[0]: GeForceSensors (pci1): VBIOS successfully read from PROM
02/02/2016 11:20:12,000 kernel[0]: GeForceSensors (pci1): chipset: GM204 (NV124) bios: 84.04.31.00
02/02/2016 11:20:12,000 kernel[0]: GeForceSensors (pci1): started

Overclocked bios seen like normal one.

Using iStat pro to monitor my frequencies with overclocked bios i get:
In Cinebench R15: Core 1090 Mhz - Memory 7890 Mhz / Score: 85.04
In LuxMark 3.1: Core 1090 Mhz - Memory 6010 Mhz / Score (luxball): 11029
Fun thing, Luxmark detect my clock setting of 1367 Mhz
BruceX test on FCPX: 34 sec

With default bios:
In Cinebench R15: Core 1060 Mhz - Memory 7200 Mhz / Score: 81.23
In LuxMark 3.1: Core 1060 Mhz - Memory 6100 Mhz / Score (luxball): 11029 (identical !)
Luxmark see clock at 1320 Mhz

Some questions to myself:
- Maybe NVidia OSX drivers don't trigger right state in GPU Bios, leading to wrong frequencies ?
- Maybe there is some settings to adjust in GPU Bios (remove totally auto boost ? Not even sure it triggers in OSX)
- My config isn't perfectly right, which is totally possible, and it leads to wrong frequencies (audioclover detect it but don't work for me by example, just downloaded it and launched it, i maybe missed something).

That's why i share all of this with you: to try on your side, explore new leads, compare results and try to give a little back after taking so much infos from what have been already shared :)

Adding my original 980 bios, the OC'ed one (if you wanna compare), my EFI config.plist and DSDT if it can help for something.
Ps: Don't inject my bios on your card, just take it to compare values, always inject your own modified one.

Edit 02/02/2016:

After more testing on windows, I increased my GPU Overclock with MSI Afterburner then hardcoded the values into 980 Bios:
Core: 1447 Mhz (with boost)
Memory: 4001 Mhz

Istat output:
Core: 1140 (boost trigger and immediately give 1190)
Memory: 8000

Cinebech score: 82 (1190/8000 in iStat)
Luxmark: 11442 (1190/6001 in iStat)
BruceX test on FCPX: 32 sec (1040/6010)

Conclusion: Bios overclock is seen by system, memory give correct info in iStat and Boost on 9xx series works.
Cinebench score don't move at all despite frequencies increase
Luxmark seems to benefit core overclock and report right frequencies in the app


Did also some other modifications to bios:
- Fanless mode (not totaly working on mine but still reduced minimum fan speed to 25 instead of 30)
- Increased max voltage on all late power state mode to avoid any voltage limitation/increase stability earlier
- Increased max tdp to 300w and default to 285 to not be limited too as there is no soft to allow card to go past default value on mac (will not increase it more, TDP in burn at 90% so approx 260W)
- Set power from both supply lines to 160 instead of 78+160 by default. I prefer take max power from it than PCIE port.
 

Attachments

  • config.plist
    4.6 KB · Views: 251
  • DSDT.aml
    40.9 KB · Views: 203
  • GM204Original.rom.zip
    137.3 KB · Views: 89
  • GM204Overclocked.rom.zip
    137.3 KB · Views: 89
Reserved in case of working procedure found :p
 
Some news !
Continued to do stuffs during the night :D

Seems like I was at maximum with 10.10.5 (14f27) so I moved further to 14F1605 (after security update).
Update only broken Ethernet and Audio, put them back with Kext Utility and it worked fine.

If you wanna jump to conclusions : no major performance improvement.

Decided to switch to MacPro 5.1 with modified AppleGraphicsPowerManagement.kext
Found interesting infos on how Threshold High/Low works on a German forum and tweaked it to exclude wrong P State use: above 50% usage it's supposed to switch to P0 on below code

Code:
<key>MacPro5,1</key>
                <dict>
                    <key>Vendor10deDevice13c0</key>
                    <dict>
                        <key>Heuristic</key>
                        <dict>
                            <key>ID</key>
                            <integer>0</integer>
                            <key>IdleInterval</key>
                            <integer>250</integer>
                            <key>SensorOption</key>
                            <integer>1</integer>
                            <key>SensorSampleRate</key>
                            <integer>4</integer>
                            <key>TargetCount</key>
                            <integer>5</integer>
                            <key>Threshold_High</key>
                            <array>
                                <integer>50</integer>
                                <integer>45</integer>
                                <integer>75</integer>
                                <integer>100</integer>
                            </array>
                            <key>Threshold_Low</key>
                            <array>
                                <integer>0</integer>
                                <integer>35</integer>
                                <integer>87</integer>
                                <integer>95</integer>
                            </array>
                        </dict>
                        <key>LogControl</key>
                        <integer>0</integer>
                        <key>control-id</key>
                        <integer>18</integer>
                    </dict>

Also read something very interesting to explain why on Cinebech Memory is at 8000 Mhz and at 6000 on Luxmark:
Nvidia seems to willingly reduce memory frequency when OpenCL trigger.
Explanation is to avoid overheating because it's also used in complex calculus like Folding@home.
I can confirm that it's not linked to card usage (that's why i edited the power management in .kext).

Condensated infos:

Yosemite 10.10.5 (14F1605) (Security patch install)
NVIDIA Web Drivers 346.02.03f05
CUDA Driver Version: 7.5.25
GTX 980 Bios modded @ 1447 Mhz Core / 8000 Mhz Memory

Unigine Heaven (with firefox open and 20 tabs :lol:):
Quite happy with the result !
Detected by HW Monitor during test: 1190 Mhz Core (full power) / 6010 Mhz Memory (remember OpenCL ?)


Unigine.jpg

Luxmark: 12400 (+1400, not bad)
Cinebench: 84 FPS (nearly no improvement)
FCP BruceX: 30 sec (2 seconds better)

MacMini 6.2 or MacPro 5.1 give same bench results

Next move will maybe be to switch to El Capitan ?
A bit afraid to break more than 2 Kext and spend a lot of time to have working config to test again :problem:
Still frustrated to get this **** score on Cinebench with this card, there must be an issue somewhere.
 
Keeping updates for the record even if it don't seems to passionate :mrgreen:

I updated Clover from 3333 to 3346 then updated from Yosemite 10.10.5 (14F1605) to El Capitan 10.11.3 (15D21) thanks to Tonymacx86 how-to !
Was flawless, just had to set nv_disable=1 at every reboot until update done and new webdrivers installed.
Broken again ethernet + audio, just reinstalled them.

Conclusion: GOOD NEWS !! Massive performances improvement ! (FCPX and Unigine)
NVidia was supposed to improve their drivers to not reduce frequencies everytime when OpenCL or CUDA triggers ... And they did it !
It seems they add apps in a "whitelist": FCPX and Unigine got unlocked and use graphic card at full perf: nearly 2 times more perf !
Still not Luxmark (for frequencies at least).
It's easy to monitor: if you see right memory speed in HW Monitor and wasn't the case before, the drivers got optimized !

It looks we can't do much to improve graphic perfs by tweaking in OSX except wait for Nvidia new drivers and tweak GPU bios for overclock :|

No more wait, bench results and config:
El Capitan 10.11.3 (15D21)
NVIDIA Web Drivers 346.03.05f01
CUDA Driver Version: 7.5.25
GTX 980 Bios modded @ 1447 Mhz Core / 8000 Mhz Memory (still the same, works well !)

Unigine Heaven:
Epic win ! :mrgreen:
FPS: +71% (70 to 120)
Score: +71% (1777 to 3040)
Min FPS: +121% (9.2 to 20.4)
Max FPS: +34% (179 to 241)
Detected by HW Monitor during test: 1190 Mhz Core (full power) / 8000 Mhz Memory (Full power this time !)


Unigine 2.jpg

Luxmark: 12550 (+150, nothing important)
Cinebench: 85.5 FPS (1.5, nearly no improvement)
FCP BruceX: 19 sec (11 seconds better or 36% faster !) Memory @ 8000 Mhz this time, full speed ! :mrgreen:

Sad to not had El Capitan 10.11.2 and bench it before this version known to improve FCPX (but not only !), could have been interesting ;)
Still have "bad" perfs in Cinebench, could not figure why, if anyone have idea :?:

All this helped me a lot to understand graphic part and influence (or not) of tweaking, what works, what didn't works etc ...
Still very important to bench on multiple tools, as you see, Luxmark and Cinebench didn't moved but FCPX and Unigine did !
Will update this topic when there is new drivers ;)
Topic title seems irrelevant now :lol:
 
People have been reporting huge improvements in FCPX with the 10.11.3 drivers putting Nvidia on par with AMD performance or better. I'm not sure you are changing much.
 
It's still major improvement compared to older drivers for me ;) (and confirm that's it's totally driver related).
First real bump in performances since 10.10.5 and nothing we can do to benefit from it except update to El Capitan and install them.
Nearly totally convicted that it's Nvidia "whitelist" of apps that don't underclock GPU when using OpenCL which made the difference, more a setting they changed than a driver improvement itself (good to know the reason !).

I've seen someone with a 970 getting 20sec too, don't remember if it was with apple or Nvidia drivers.
They still have work to do on 980/980TI :lol:
 
I knew i seen it somewhere ... Cuz I replied to it :lol:
Thanks for the link !!
So 23 seconds with 970 and same drivers, 19 with my 980, quite proportional to their calculus power difference :thumbup:
 
I knew i seen it somewhere ... Cuz I replied to it :lol:
Thanks for the link !!
So 23 seconds with 970 and same drivers, 19 with my 980, quite proportional to their calculus power difference :thumbup:

I'm following this thread with interest.

For comparison (as I listed in that parity thread), my R9 290 (1040 clock, Windforce OC) does 16-17 seconds.
 
Hi Ainth,

In the mean time did you get any further on this ?
Just finished a build and finished a stable OC in windows of my GTX980ti at 1500Mhz / 8000Mhz .
Flashed it with enough power reserve but what ever i do in OSX it caps the speed at 1240Mhz / 8000Mhz
Tried everything but feels like you have experienced an artificial cap somewhere.
In the windows driver i found there is a parameter that when set active limits the PciE to 75w . Set it in windows adjusted the overclock to match, but in OSX still the same so its is another cap.
So frustrating leaving 250 comforable MHz un-used. Grrrrr


Hope you got somewhere . Let me know please
 
Status
Not open for further replies.
Back
Top