Jump to content
Cyberdevs

nVidia GPUs and the infamous lag issue, Why is that happening?

131 posts in this topic

Recommended Posts

9 minutes ago, TheBloke said:

OK fair enough.  I'll give it a go when I have some time to get the case open, probably tomorrow.

My 7970 is detected natively by macOS so I don't need anything to boot - although I do use WEG because without it, sleep/resume was broken in 10.13.3 and in 10.13.4 beta I occasionally fail to reach the login screen ('white screen on boot') which WEG seems to fix.

Unfortunately I can no longer test it easily on 10.13.3, it will have to be 10.13.4 as I upgraded my backup SSD to .4 last night and my main SSD today.  So I won't be able to confirm if there's any difference between those versions.

Cool. Thank you. And that's fine. I plan to update to 10.13.4 once it is released anyway, so if it's better than I expect, that's great! :)

Share this post


Link to post
Share on other sites
Advertisement
Posted (edited)
On 14/03/2018 at 12:26 AM, ReddestDream said:

Cool. Thank you. And that's fine. I plan to update to 10.13.4 once it is released anyway, so if it's better than I expect, that's great! :)

OK, initial tests complete.  Result: success! :)  At least for the goal of having the NV installed idle in parallel to the AMD.

PkaEKcp.png

fvsgd2rm.png

As you can see I am using the NVidiaWeb drivers and the NVidia card is fully recognised.  This is a requirement, at least in my setup.  I have not tried any tricks related to hiding the NV GPU, as I did not need to do so to get things working.

Here's the full details:

Setup:
OS: 10.13.4 Beta 5
System: X58 mobo, MacPro 5.1, Legacy Boot.
AMD GPU:  Asus Matrix Platinum Radeon 7970 3GB, 2xDVI + 4xDP  (Tahiti XT) - identical to a R9 280X, I believe
NV GPU: MSI 980 Ti 6GB (Maxwell)
AMD graphical config:  The following tests use no Clover AMD GPU config - which is how I get the best results with my Asus 7970.  All tests were performed both with and without WEG with no immediately noticeable difference.  Since upgrading to 10.13.4 I haven't seemed to need WEG any more (in 10.13.3 I couldn't wake without it.)

Test 1:
BIOS first GPU:  AMD
NVidia drivers: No
AMD monitors: At boot all monitors get signal, only two get picture (my usual situation).  Should be resolved by sleep/wake.
NV monitors: One connected works in VESA mode.
Result:    Boots OK.  Sleeps OK.  Does not wake from sleep.  Not usable for me; might be for someone who doesn't need to sleep/wake and doesn't care about sleep.

Test 2:
BIOS first GPU:  NVidia
NVidia drivers: No
AMD monitors: At boot all monitors get signal and picture (an improvement on my normal situation)
NV monitors: One connected works in VESA mode.  Even if one is not connected, there is a permanent extra 800x600 display in Displays Arrangement.  This can be disabled using SwitchResX, to avoid the mouse pointer straying onto it.
Result:    Boots OK.  Won't sleep - monitors go off, but computer does not.  A single mouse click then brings monitors back online.  Usable if you don't care about sleep.

Test 3:
BIOS first GPU:  NVidia
NVidia drivers: Yes, NVidiaWeb 161
AMD monitors: All monitors get signal and picture from boot (an improvement on my normal situation)
NV monitors: Connected monitors work only at Login screen.  Connecting one after login causes WindowServer to crash every time.
Result:    Boots OK.  Sleeps and wakes OK.  Mostly usable - except you can only see BIOS/boot process if you temporarily connect a monitor to NV, which must be removed before attempting Login else it's impossible to stay logged in.

Test 4:
BIOS first GPU:  AMD
NVidia drivers: Yes, NVidiaWeb 161
AMD monitors: All monitors get signal, only two get picture (my usual situation).  Resolved by sleep/wake.
NV monitors: Connected monitors work only at Login screen.  Try to login with one connected, or connecting one after login, causes WindowServer to crash immediately, booting you back to the login screen.
Result:    Boots OK.  Sleeps and wakes OK.  Completely usable.

Tests 5 & 6:
As per Tests 3 & 4, except using an NVidia 760 with macOS Native drivers instead of Web.
Results are identical to Tests 3 & 4 - it works, but is still not possible to use monitors connected to the NV GPU.
There was also a noticeable performance slowdown when booting with AMD with secondary NVidia 760 installed, including a long delay before Login screen appeared.   However this is likely not a concern even if it persists, because one could just use NVidiaWeb drivers instead.

Performance:
I did GeekBench 4 benchmarks in each of the above four tests, and confirmed that the AMD GPU and NVidia GPU (when it had drivers) performed at expected levels.  So there doesn't seem to be any performance hit to the AMD resulting from the NVidia being installed.  Now I'm fully using the UI, I again can't notice any difference to before the NV was installed.  UI animations seem to be the same - which is to say they're not great since I upgraded to 10.13.4, despite using AMD.  But they're no worse than without the NV installed, so far as I can tell anyway.  Videos are being properly accelerated etc.

Conclusion:
For @ReddestDream's purpose of having an idle NVidia GPU in the system for easy use of Windows, while only using AMD in macOS, this is a success.  It is not a success for anyone who hoped to use a dual AMD+NVidia setup for adding extra monitors. 

My final thought is that I can't say for certain this works with other AMD GPUs - mine is natively detected and works without any kind of Clover config or WEG, except I have to do a sleep&wake to get a picture from all six connectors.  I guess there's a chance things could differ with other cards that do need special Clover config to even function.  But hopefully not.

Edited by TheBloke

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, TheBloke said:

OK, initial tests complete.  Result: success! :)  At least for the goal of having the NV installed idle in parallel to the AMD.

PkaEKcp.png

fvsgd2rm.png

As you can see I am using the NVidiaWeb drivers and the NVidia card is fully recognised.  This is a requirement, at least in my setup.  I have not tried any tricks related to hiding the NV GPU, as I did not need to do so to get things working.

Here's the full details:

Setup:

OS: 10.13.4 Beta 5

System: X58 mobo, MacPro 5.1, Legacy Boot.

AMD GPU:  Asus Matrix Platinum Radeon 7970 3GB, 2xDVI + 4xDP  (Tahiti)

NV GPU: MSI 980 Ti 6GB (Maxwell)

AMD graphical config:  The following tests use no Clover AMD GPU config - which is how I get the best results with my Asus 7970.  All tests were performed both with and without WEG with no immediately noticeable difference.  Since upgrading to 10.13.4 I haven't seemed to need WEG any more (in 10.13.3 I couldn't wake without it.)

Test 1:

BIOS first GPU:  AMD

NVidia drivers: No

AMD monitors: At boot all monitors get signal, only two get picture (my usual situation).  Should be resolved by sleep/wake.

NV monitors: One connected works in VESA mode.

Result:    Boots OK.  Sleeps OK.  Does not wake from sleep.  Not usable for me; might be for someone who doesn't need to sleep/wake and doesn't care about sleep.

Test 2:

BIOS first GPU:  NVidia

NVidia drivers: No

AMD monitors: At boot all monitors get signal and picture (an improvement on my normal situation)

NV monitors: One connected works in VESA mode.  Even if one is not connected, there is a permanent extra 800x600 display in Displays Arrangement.  This can be disabled using SwitchResX, to avoid the mouse pointer straying onto it.

Result:    Boots OK.  Won't sleep - monitors go off, but computer does not.  A single mouse click then brings monitors back online.  Usable if you don't care about sleep.

Test 3:

BIOS first GPU:  NVidia

NVidia drivers: Yes, NVidiaWeb 161

AMD monitors: All monitors get signal and picture from boot (an improvement on my normal situation)

NV monitors: Connected monitors work only at Login screen.  Connecting one after login causes WindowServer to crash every time.

Result:    Boots OK.  Sleeps and wakes OK.  Mostly usable - except you can only see BIOS/boot process if you temporarily connect a monitor to NV, which must be removed before attempting Login else it's impossible to stay logged in.

Test 4:

BIOS first GPU:  AMD

NVidia drivers: Yes, NVidiaWeb 161

AMD monitors: All monitors get signal, only two get picture (my usual situation).  Resolved by sleep/wake.

NV monitors: Connected monitors work only at Login screen.  Try to login with one connected, or connecting one after login, causes WindowServer to crash immediately, booting you back to the login screen.

Result:    Boots OK.  Sleeps and wakes OK.  Completely usable - except I have lost OOB HDMI audio on the AMD cardI never had this working in 10.13.3, but 10.13.4 added it for me OOB.  I assume having the NV installed is causing some conflict that prevents it from loading.  Personally I don't use it as I have a USB soundcard.

Performance:

I did GeekBench 4 benchmarks in each of the above four tests, and confirmed that the AMD GPU and NVidia GPU (when it had drivers) performed at expected levels.  So there doesn't seem to be any performance hit to the AMD resulting from the NVidia being installed.  Now I'm fully using the UI, I again can't notice any difference to before the NV was installed.  UI animations seem to be the same - which is to say they're not great since I upgraded to 10.13.4, despite using AMD.  But they're no worse than without the NV installed, so far as I can tell anyway.  Videos are being properly accelerated etc.

Conclusion:

For @ReddestDream's purpose of having an idle NVidia GPU in the system for easy use of Windows, while only using AMD in macOS, this is a success.  It is not a success for anyone who hoped to use a dual AMD+NVidia setup for adding extra monitors.  Also, the loss of HDMI audio might be a problem for some - though this probably varies with AMD GPU type, and I have tried no methods to get it back.  As mentioned, I never had it at all before I upgraded to the 10.13.4 beta at which point it just started working.  But it's gone while the NV GPU is installed.  Maybe HDMIAudio.kext or similar method would bring it back. Untested.

My final thought is that I can't say for certain this works with other AMD GPUs - mine is natively detected and works without any kind of Clover config or WEG, except I have to do a sleep&wake to get a picture from all six connectors.  I guess there's a chance things could differ with other cards that do need special Clover config to even function.  But hopefully not.

Awesome! Thanks for the info! Looks like 10.13.4 has improved things! :)

Would be cool tho if someone could confirm this on UEFI and with an iMac SMBIOS (maybe 18,3 like mine) tho . . .

The cards I'd hope to pair are my 1080ti in the top slot and RX 480 in the bottom in my Z270, 7700K build. But I'd rather that Nvidia just fix the drivers because it's unnecessary heat generated and power drawn. But it would be nice to at least have the option if the Nvidia drivers don't get fixed . . .

Edited by ReddestDream

Share this post


Link to post
Share on other sites
Posted (edited)

One final update:
After removing the 980Ti I did a brief test using my NVidia 760 instead, so that I could test with the Native drivers.

Everything was functionally identical to Test 3 and Test 4 above - ie it works both with NV and AMD as first GPU, but it's not possible to use both GPUs for extra connections as any monitor connected to the NV causes an instant WindowsServer crash.  There was also a seeming performance issue when the AMD was first GPU: it took an age to reach the login screen, and the UI seemed particularly slow once I did login.  This problem did not repeat when NV was first GPU.  I did not test it for more than one reboot so cannot say if it's a permanent problem. 

In any case this shouldn't be a problem, both because one could simply use NVidiaWeb drivers instead, and because it's unlikely someone will be keeping an idle secondary GPU that can use Native drivers, as it'd have to be pretty old and thus not really worth keeping for Windows.

Also, a correction regarding HDMI/DP Audio:  I've just booted with only my AMD and I still don't have working HDMI/DP audio.  I definitely had it working when I first upgraded to the 10.13.4 beta, so I'm not sure what's changed, but it's seemingly not related to the addition of an NV GPU.

Edited by TheBloke

Share this post


Link to post
Share on other sites
Posted (edited)
New [mention=1135927]vit9696[/mention] and [mention=631247]lvs1974[/mention] , since I switched to AMD can you guys confirm that please? And thanks to [mention=1928682]nikitenich[/mention] for reporting it.

See [mention=1135927]vit9696[/mention] & [mention=631247]lvs1974[/mention]

 

Nvidia lag fixed with new NvidiaGraphicsFixUp.kext great work[mention=1135927]vit9696[/mention] & @lvs1974

 

On 10.13.4

GTX960

Official Nvidia drivers for 10.13.4

NvidiaGraphicsFixup.kext.zip

 

Edited by SavageAUS
Added .zip

Share this post


Link to post
Share on other sites
Did you used any particular boot argument?
Nope just replaced old kext with new (EFI) and rebooted.

Sent from my SM-G930F using Tapatalk Pro

Share this post


Link to post
Share on other sites

Ok then. I've tested now 1.2.5 and even for me with Pascal and Haswell system interface seems more snappy. May be placebo but it works!

Share this post


Link to post
Share on other sites

I just replaced old kext with this new one and even WebGL Water works quite better. Still using 104 drivers.

Responsiveness is better in general.

Cinebench benchmark did get better results too vs old version.

Has someone tested with the latest drivers from Nvidia for 10.13.4 ?

Share this post


Link to post
Share on other sites
I just replaced old kext with this new one and even WebGL Water works quite better. Still using 104 drivers.
Responsiveness is better in general.
Cinebench benchmark did get better results too vs old version.
Has someone tested with the latest drivers from Nvidia for 10.13.4 ?
I am using the latest drivers without issues with latest NvidiaGraphicsFixUp.

Sent from my SM-G930F using Tapatalk Pro

Share this post


Link to post
Share on other sites

This is an important boot argument to avoid kernel panics or other incompatibility issues.

ngfxcompat=1 boot argument (and force-compat property) to ignore compatibility check in NVDAStartupWeb

 

Share this post


Link to post
Share on other sites
Posted (edited)

So what was wrong with those later nvidia drivers? I know it lagged, but why did it lag, what was changed in its functionality compared with older drivers?  I'm on gtx 960 and skylake, so I too experienced that lag and was using older drivers to avoid it.

Edited by pcpaul

Share this post


Link to post
Share on other sites
7 hours ago, SavageAUS said:

I am using the latest drivers without issues with latest NvidiaGraphicsFixUp.

Sent from my SM-G930F using Tapatalk Pro
 

Updated to latest version NVIDIA Web Driver .30.103 with latest Lilu 1.2.2 and the very minimal lag I experienced with .104 drivers (with latest NvidiaGraphicsFixUp) disappeared. 0 LAG.

 

Share this post


Link to post
Share on other sites
Posted (edited)

Could someone compile latest nvidiagraphicsfixup with new commits? I dont have xcode installed and im on a slow connection now.

Thanks.

021e0d26d9.png

Edited by Kynyo

Share this post


Link to post
Share on other sites
Posted (edited)
2 minutes ago, SavageAUS said:

Thats IntelGraphicsFixUp......

Woops! my bad thanks for the correction! I removed the post :blush:

Edited by Cyberdevs

Share this post


Link to post
Share on other sites

Many people are reporting that the latest driver for 10.13.4 (i.e. 387.10.10.10.30.106) solves the lag problems, so it'll probably be worth testing with all other hacks (e.g. NvidiaGraphicsFixup) removed.

Share this post


Link to post
Share on other sites

I built NvidiaGraphicsFixUp.kext 1.2.7 (doesn't have lag fix in it) from source and can confirm no more lag with 387.10.10.10.30.106 on 10.13.5 beta 2.

 

Sent from my SM-G930F using Tapatalk

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By verymilan
      Hi, i recently set up High Sierra on my AMD computer with the help of the amdosx community (i actually used an installer just to confirm that something would work in the first place before i spend hours for nothing, i can and could have downloaded High Sierra the "legal" way).
      However the graphicscard is recognized properly, the 6gig are recognized and i have no artifacts and no screen tearing with the official nvidia webdriver,
      but unfortunally, dark colors have horizontal dark stripes in them and specific bright colors like on left bar of system windows such as settings do flicker like low fps.

      I only used the clover on the flash drive for now and i'd like if it's worth digging deeper of if i should just forget about it as it is a common nvidia problem on macOS.
      Would be amazing to know.
       
      Closer machine infos:
      * High Sierra (misses a recent minor patch as my network is veeeery slow and i got this nvidia issue anyway so i mainly jumped back to linux)
      * AMD fx8350
      * Asus Sabertooth 990fx Ref. 2.0
      * NVIDIA GeForce GTX 1060 6GB
       
    • By coscos
      I recently set up my hackintosh. Everything else works fine, the only issue is my monitor cannot come back from sleep.
      Symptom: 
      If I click the "sleep" menu manually, the system goes to sleep fine. After the system sleeps for a while (more than a few mins, I guess it's called "deep sleep"), when I try to wake it up, the monitor wakes up but stays black screen. The machine is on. If I leave the system to time out and sleep by itself, only the monitor goes off; when I try to wake it up, same symptom as above.
      What I have tried (but none worked):
      additional boot flag: ngfxpatch=pikera additional boot flag: darkwake = 0 Customize EDID
      Specs:
      Motherboard: Gigabyte Z77x-UD5H BIOS: F16j CPU: Ivy Bridge i5-3570K CPU @ 3.40GHz (quad core) Graphics: Nvidia GTX 1050 Monitor: Dell P2715Q @ 4k / 60Hz, Display Port Wifi / Bluetooth: BCM94360CS with PCIE Onboard GPU: disabled OS: High Sierra 10.13.3
      Please see attached for following files:
      EFI zip file: https://www.dropbox.com/s/8nun37msu9b1bva/EFI.zip?dl=0 I generated my own SSDT.aml using ssdtPRGen.sh; Other SSDT patches are copied from this repository: https://github.com/VoiletDragon/Z77X-UD5H-Clover-Hotpatch-Patches ioreg dump: https://www.dropbox.com/s/5a10k82guczaaws/macchiato.ioreg.zip?dl=0 result from following command: https://www.dropbox.com/s/0b22qcw79ovnjdg/kext-touch.txt.zip?dl=0 kextstat|grep -y acpiplat kextstat|grep -y appleintelcpu kextstat|grep -y applelpc kextstat|grep -y applehda sudo touch /System/Library/Extensions && sudo kextcache -u /
      I am looking forward to your suggestions. Thanks.
    • By Oschly
      When I installed 10.13.4 I tried to boot macOS with iGPU enabled only in BIOS (without injecting and kexts, HD 4600) and my daily use dGPU (GTX 750 Ti, injected in config and web drivers enabled) and everything works fine, but it boots slower. There is a chance to make fully working dGPU and iGPU at one time? With kexts, injects, et cetera? Something like dGPU as eGPU and iGPU as main GPU? I don't want to break my build, so I am asking you before trying it.
      My computer:
      MOBO: Gigabyte P85-D3
      GPU: Gigabyte GTX 750 Ti Windforce (2GB VRAM)
      CPU: i5-4670
      RAM: 8GB DDR3 1600MHz
      Audio: ALC887
      Ethernet: Realtek RTL 8111
      Drives: SSD Goodram 240GB and HDD 1TB.
    • By zeg66
      Could you please help me enable the VGA port on the GT710 in 10.9.5 13F34 ? 
      It is currently booting fine through its HDMI port, web driver 334.0103f01 and config.plist arguments checked: Verbose (-v), npci=0x2000, dart=0, nvda_drv=1
      The nvidia GT710 works fine through its VGA port and web drivers on a friend's Mac Pro 3,1
      I must soon return this borrowed HDMI monitor, mine only has a VGA port so I'd appreciate your input.
    • By ITzTravelInTime
      Hi, not so much ago i got a geforce 9800 gx2 and i was wondering how do i get it to work on sierra/high sierra? i have tryied a lot of things but nothing worked, i always got a black screen, the only way to get it to boot is by using -nv_disable=1 which will boot the system of course without video acceleration but with one of the 2 gpus detected and the other not. since i am going to use this card for my 2008 dream hackintosh build, with sierra, how do i make it to work?
       
      Thanks for your answers
×