Jump to content

Poor desktop performance w/ webdrivers 10.12.6 and 1050Ti


Funky frank
 Share

6 posts in this topic

Recommended Posts

Hi,

 

the graphical performance on my 10.12.6 using recent Nvidia web drivers is pretty low. I am using a 4K DP screen, and it boots into macOS without a problem, and Nvidia kext are loaded, OpenCL for Nvidia is available.

 

Still the recent firefox 57 is so painfully slow while windows resizing, it even sometimes stutters while fast scrolling.

 

Any idea how to improve this?  Could this be related with a very low idle frequency  (had a similar issue on a gt330m) ?   Would I benefit from upgrading to 10.13.1 (and having metal2 then)?

 

Thanks for ideas.

Link to comment
Share on other sites

If you switch to a lower res (e.g. 2560x1440) does it work faster or still the same?

BTW I have a GT 1030 similar to yours but less powerful (Pascal graphic family) on my HP Z400 and I'm running High Sierra 10.13.1 very fast and smooth, although I can't tell you about 4k, this monitor is 1080, but the card works fine with Nvidia Web Driver.

Link to comment
Share on other sites

I have an 1030GT (much slower than yours) working fast in your cases on Sierra.

So the problem must be somethings else. Idle Mode of GPU (not swithcing to normal / fast GPU clk) , even under load could be an reason if the drivers are really loaded and used for OpenGL/Metal/OpenCL but  alls is slooooow, like unaccellerated.

 

First i would remove the Fake SMC GPUSensors.kext if you use it ( its an Plugin within the FakeSMC.kext or extra FakeSMC_GPUSensors.kext). For Pascal these kext didnt work and maybe have negative side effects on for running pascal gpus.

 

Other  thing cab be that, depends on smbios mac  Modell (more exact _ Board-ID, like  my Mac-FC02E91DDD3FA6A4 (iMac, 13,2) or Mac_modell together with GFX0 named GPU (in DSDT/Clover), that AGPM for GPU has negative side effect (loaded but harms the gpu clk stepping).

AGPM "looks" for Mac-Board ID (also some keys are Mac_Modell) and then compares for GFX0 found (can be if you patched DSDT or let Clover patch that) ? or VendorDevice ID found (unproblematic for Pascal = they are different).

For my Mac-FC02E91DDD3FA6A4 , not having GFX0 in DSDT / not injected/patched by Clover the AppleAGPM is loaded (see in kextstat) but not used because no GFX0 in DSDT.

Because AGPM cant find GFX0 in my system &  also none of the VendorDevice keys found = AGPM let my Pascal do GPU stepping (idle to max) by itself ( by own GPU BIOS).

 

What can you do to test if AGPM makes problem for your System?

 

You could patch AGPM to not "see" your GFX0 (if you have that in DSDT) by Clover kext patching GFX0 to GFXX for example.

I think there are some examples around to do that (with that .kext shows below)

Or patch that GFX0 key in .plist by edior (copy kext so desktop first!) to GFXX in your Board-ID section and then use some kextueil (which does ownder/rigths fix & install to S/L/E & rebuild kernel cache / perlinked kernel).

 

 

If your Board-ID (or Mac Modell) is listed in that .plist but not has GFX0 key there (only iGPU key) AGPM kext is not the problem because no effect on GPU. 

 

 

Here an short cut out of the .plist of what i am talking about:

post-110586-0-83596000-1510813412_thumb.jpg

....
<key>Mac-FC02E91DDD3FA6A4</key>
				<dict>
					<key>GFX0</key>
					<dict>
						<key>Heuristic</key>
						<dict>
							<key>ID</key>
							<integer>4</integer>
						</dict>
						<key>control-id</key>
						<integer>17</integer>
					</dict>
					<key>IGPU</key>
					<dict>
						<key>Heuristic</key>
						<dict>
							<key>EnableOverride</key>
							<integer>0</integer>
							<key>ID</key>
							<integer>2</integer>
						</dict>
						<key>control-id</key>
						<integer>16</integer>
					</dict>
					<key>Vendor10deDevice0fe0</key>
					<dict>
						<key>BoostPState</key>
						<array>
							<integer>14</integer>
							<integer>14</integer>
							<integer>14</integer>
							<integer>14</integer>
					
....
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

And there is no way for overclocking? 
 
Because I can find this in /Library/Extensions/NVDAGP100HalWeb.kext/Contents/MacOS/NVDAGP100HalWeb:

_clkSetSppllForDpOverclock_STUB
_thermDisableIdleSlowdownWAR_STUB

And in /Library/Extensions/NVDAResmanWeb.kext/Contents/MacOS/NVDAResmanWeb:

PerfLevelSrc
PowerMizerEnable
PowerMizerDefaultAC
PowerMizerLevel
PowerMizerHardLevel
PowerMizerHardLevelAC
AllowMaxPerf

DisableOverclockedPstates
RMEnableOverclockingAllPstates
_clkSetSppllForDpOverclock_STUB
_clkForceClockSlowdown_STUB
_gcxDeepIdleOverrideStopClocks_STUB
_mcConfigureIdleClockSlowdownCounter_STUB
_thermConfigureIdleClockSlowdownForMc_STUB
RMForceLockedClocksMode
_thermDisableIdleSlowdownWAR_STUB
RmOverrideIdleSlowdownSettings

It seems to be possible in linux to add switches to the nvidia driver:

https://askubuntu.com/questions/903747/nvidia-375-33mhz-fixed-gpu-clock-and-hw-slowdown-active-issue

 

More about PowerMizer Settings:

http://z-issue.com/wp/nvidia-linux-drivers-powermizer-coolbits-performance-levels-and-gpu-fan-settings/

http://z-issue.com/blog_imgs/tech/linux/nvidia_drivers/nvidia_settings_performance_level_gpu_temp_after_xorg_options.jpg

http://us.download.nvidia.com/XFree86/Linux-x86_64/364.19/README/xconfigoptions.html (Coolbits needs to be 12 as it seems)

PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3;

I can find these switches/strings in the macos driver, too!

 

How can I pass switches/arguments to the macos nvidia driver, any idea?  Is that possible in the Info.plist of the NVDAResmanWeb.kext?

 

 

There seem to be the following kernel command line switches:

nvda_drv (enables the driver , 0 or 1)
nv_force_preset   (assumingly you should be able to setup power profile presets, and force one of these?)
nv_numNdrv   (N = number?)
nv_force_devinit
nv_mm_enabled
nv_kIOWSAA
nv_rm_iolog
nv_forceGen2CapsOnX58
nv_reglog
nv_displayless
nv_EDIDSelect
nv_no_auxless
nv_accelBacked
nv_hdmivsi
nv_disable_vps
nv_disable_vrr
nv_enablePresentmentOptions
nv_disableAsyncGammaUpdate
nv_10bpcFormat
nv_preserveEFIBootSurface
nv_spanmodepolicy

In NVDAResManWeb, I also found these DSDT switches:

NVDA,Enable-A2R10G10B10Format
NVDA,Level
NVDA,BMP
NVDA,accel-loaded
NVDA,NVPresentment-version
NVDA,noEFI
NVDA,cleanboot
AAPL,blackscreen-preferences
display-type  LCD/TV/CRT
AAPL0 override-no-edid / override-has-edid / override-has-edid-digital

Also found these hardcoded gamma profiles:

Mac Standard Gamma
NTSC/PAL Gamma
10b Hires Linear Ramp Gamma
12b Hires Linear Ramp Gamma
Edited by Funky frank
Link to comment
Share on other sites

 Share

×
×
  • Create New...