Jump to content

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


Cyberdevs
 Share

134 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! :)

Link to comment
Share on other sites

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
  • Like 2
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 3 weeks later...
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
  • Like 1
Link to comment
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 ?

  • Like 1
Link to comment
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

  • Like 1
Link to comment
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

 

  • Like 1
Link to comment
Share on other sites

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
  • Like 1
Link to comment
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.

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...