Jump to content

Nvidia Web Driver updates for macOS High Sierra (UPDATE Nov 13, 2020)


fantomas
2,046 posts in this topic

Recommended Posts

The new 121 driver and CUDA driver works fine with Skylake and Nvidia 1080 ti I can confirm - just a straight forward update.

Link to comment
Share on other sites

They've pushed out a few minor updates for 10.13, which is promising. 10.13.1 final release is probably next week, so no doubt there'll be a new version of the web drivers not long after that

 

Would be good if they had proper release notes though. I'm still getting weird cursor lag when windows are loading/quitting. Also Firefox doesn't seem to be using the GPU properly (Google Maps is black, etc.)

Link to comment
Share on other sites

macOS High Sierra Beta 10.13.1 5 (17B46a)

Works perfect again same method, Install Update , Reboot

Create Package with  Nividia Payload Packager;  install  MyWebDriver.pkg☞ (17B46a) Voila  B)

EDIT**

Test Nividia Payload Packager; with this new Driver here and Works good B)

Thanks @Asgorath

 

 

sans_t14.jpg

 

Benchmark not really bad for a s mall Geforce GT 1030 2 gig :)

⬇︎

 

 

115.png

212.png

 

 

 

 

can you upload the modified package?

Link to comment
Share on other sites

Hahaha lastest versión if it stable ;)

This is for  macOS High Sierra Beta 10.13.1 5 (17B46a)

 

Yes its Stable I used it, this the Drivers here ➤ Web Drivers

Mod in the Nvidia Payload Packager

Uninstall the old drivers first

why not create your own ?

Link to comment
Share on other sites

Guest ricoc90

For anyone interested:

 

I was bored so I made a little script to patch the webdrivers installer package.

 

This script does two things:

 

- Patch the installer package and gives you the option to install the package right away or

- Patch NVDAStartupWeb.kext in /L/E/ (For when you just want to update the OS)

 

How it works:

 

  1. It looks in ~/Downloads/ for any webdrivers installer packages. 
    If more than one package is found, it let's you choose which one you want to patch
  2. It grabs the current OS build version, which will be used to patch unless you specify otherwise
  3. It will patch the Distribution file by using a simple search and replace method
  4. It uses gzip to uncompress the Payload
  5. It uses PlistBuddy to set NVDARequiredOS to your current (or manually specified) build version in NVDAStartupWeb.kext
  6. It uses gzip to compress the Payload again
  7. it uses pkgutil to repack the installer package and puts it in ~/Desktop
  8. If you choose so, it installs that package using installer -pkg command
  9. Once the installation is done, it repairs kext permissions

Optionally it allows you to make a symlink to /usr/local/bin/nvda

 

post-1502423-0-67842700-1509259333_thumb.pngpost-1502423-0-29011800-1509260029_thumb.png

 

NVDAWebPatcher.zip

Link to comment
Share on other sites

Guest ricoc90

which command do you use to fix kext and permission?

 

sudo chmod -R 755 /Library/Extensions/*Web.kext
sudo chown -R root:wheel /Library/Extensions/*Web.kext
sudo touch /Library/Extensions/
sudo kextcache -i /
Link to comment
Share on other sites

For anyone interested:

 

I was bored so I made a little script to patch the webdrivers installer package.

 

 

Great job! :thumbsup_anim:

 

I have a request though : Wouldn't be even greater if you could make it works for previous macOS versions (aka those where *Web.kext are in S/L/E and not L/E)?

 

It looks like the installer patcher is unable to change the NVDARequiredOS in the .pkg :

 

 

What do you want to do? (1-3): 1
For what OS Buildversion do you want to patch? (17B46a): 16A
Locating NVDA Installer package...
2 packages found:
   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg
   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg
Which one Would you like to patch? (1-2): 1

Summary:
 - Selected OS Build Version:  16A
 - Selected installer package: WebDriver-378.05.05.25f01.pkg

Starting patching process...

[OK] Expanding WebDriver-378.05.05.25f01.pkg
[OK] Patching Distribution for 16A
[OK] Unpacking Payload
File Doesn't Exist, Will Create: Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist
Set: Entry, ":IOKitPersonalities:NVDAStartup:NVDARequiredOS", Does Not Exist
[ERROR] Unable to patch NVDAStartupWeb.kext
Link to comment
Share on other sites

Guest ricoc90

Great job! :thumbsup_anim:

 

I have a request though : Wouldn't be even greater if you could make it works for previous macOS versions (aka those where *Web.kext are in S/L/E and not L/E)?

 

It looks like the installer patcher is unable to change the NVDARequiredOS in the .pkg :

What do you want to do? (1-3): 1
For what OS Buildversion do you want to patch? (17B46a): 16A
Locating NVDA Installer package...
2 packages found:
   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg
   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg
Which one Would you like to patch? (1-2): 1

Summary:
 - Selected OS Build Version:  16A
 - Selected installer package: WebDriver-378.05.05.25f01.pkg

Starting patching process...

[OK] Expanding WebDriver-378.05.05.25f01.pkg
[OK] Patching Distribution for 16A
[OK] Unpacking Payload
File Doesn't Exist, Will Create: Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist
Set: Entry, ":IOKitPersonalities:NVDAStartup:NVDARequiredOS", Does Not Exist
[ERROR] Unable to patch NVDAStartupWeb.kext

 

 

Try this:

NVDAWebPatcher_test.zip

 

EDIT: new .zip.

 

post-1502423-0-71531800-1509292285_thumb.png

Link to comment
Share on other sites

@ricoc90

could post code script?

I would like to see gzip related part

Previously I have tried to do that part but I am not so good in script programming :-)

Nevermind I see how @Pavo do it

 

@Pavo

I don't understand why your script is not working completely for me.

It allows to unlock driver installation for any osx release (distribution part I mean)

But info.plist remains 17A405 in repackaged file

Thank you

Link to comment
Share on other sites

Guest ricoc90

@ricoc90

could post code script?

I would like to see gzip related part

Previously I have tried to do that part but I am not so good in script programming :-)

Nevermind I see how @Pavo do it

gzip is only used to uncompress and recompress Payload:

Uncompress:
cat Payload | gzip -d | cpio -id

Recompress:
Find * | cpio -o --format odc | gzip -q -c > Payload
Link to comment
Share on other sites

gzip is only used to uncompress and recompress Payload:

Uncompress:
cat Payload | gzip -d | cpio -id

Recompress:
Find * | cpio -o --format odc | gzip -q -c > Payload

I prefer the pkgbuild and producbuild to recreate the exacte Packages because the initial script Nvidia is there and also all composantes

This is my opinion  :D

Link to comment
Share on other sites

gzip is only used to uncompress and recompress Payload:

Uncompress:
cat Payload | gzip -d | cpio -id

Recompress:
Find * | cpio -o --format odc | gzip -q -c > Payload

uncompress seems not work here

fabios-Mac-Pro-2:desktop fab$ cat Payload | gzip -d | cpio -id

1 block

fabios-Mac-Pro-2:desktop fab$

Link to comment
Share on other sites

 

This works perfect :D!

 

 

 

What do you want to do? (1-3): 1

For what OS Buildversion do you want to patch? (17B46a): 16A

Locating NVDA Installer package...

2 packages found:

   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg

   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg

Which one Would you like to patch? (1-2): 1



Summary:

 - Selected OS Build Version:  16A

 - Selected installer package: WebDriver-378.05.05.25f01.pkg



Starting patching process...



[OK] Expanding WebDriver-378.05.05.25f01.pkg

[OK] Patching Distribution for 16A

[OK] Unpacking Payload

[OK] Patching NVDAStartupWeb.kext for 16A

409799 blocks

[OK] Recrompressing Payload

[OK] Repacking the installer package



Finished. Would you like to install the Webdrivers now? (y/n): n

NVDAStartupWeb.kext/Contents/

/System/Library/Extensions

OK. You can find the installer package on your desktop.



Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:

   sudo chmod -R 755 /System/Library/Extensions/*Web.kext

   sudo chown -R root:wheel /System/Library/Extensions/*Web.kext

   sudo touch /System/Library/Extensions/

   sudo kextcache -i /

Otherwise NVDAStartupWeb.kext doesn't load.

MacBook-Optimus:~ polyzargone$ nvda

                   NVDAWebPatcher.   

    This script is used to patch the Nvidia WebDriver installer

    package in order to install it on unsupported macOS builds.



    You can chose to patch it for your current build, or for

    another so that you can use the patched installer on another

    system.



    This script assumes that the WebDriver installer package is

    in ~/Downloads/.

-

 

    Options:

    [1] Patch the installer

    [2] Update your current installation

        This only patches RequiredOSBuild in /L/E/NVDAStartupWeb.kext

    [3] Exit



What do you want to do? (1-3): 1

For what OS Buildversion do you want to patch? (17B46a): 17B

Locating NVDA Installer package...

2 packages found:

   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg

   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg

Which one Would you like to patch? (1-2): 2



Summary:

 - Selected OS Build Version:  17B

 - Selected installer package: WebDriver-378.10.10.10.15.121.pkg



Starting patching process...



[OK] Expanding WebDriver-378.10.10.10.15.121.pkg

[OK] Patching Distribution for 17B

[OK] Unpacking Payload

[OK] Patching NVDAStartupWeb.kext for 17B

387198 blocks

[OK] Recrompressing Payload

[OK] Repacking the installer package



Finished. Would you like to install the Webdrivers now? (y/n): n

Library/Extensions/NVDAStartupWeb.kext/Contents/

/Library/Extensions

OK. You can find the installer package on your desktop.



Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:

   sudo chmod -R 755 /Library/Extensions/*Web.kext

   sudo chown -R root:wheel /Library/Extensions/*Web.kext

   sudo touch /Library/Extensions/

   sudo kextcache -i /

Otherwise NVDAStartupWeb.kext doesn't load.

 

 

 

Thxs

  • Like 1
Link to comment
Share on other sites

Guest ricoc90

This works perfect :D!

 

 

 

What do you want to do? (1-3): 1

For what OS Buildversion do you want to patch? (17B46a): 16A

Locating NVDA Installer package...

2 packages found:

   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg

   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg

Which one Would you like to patch? (1-2): 1



Summary:

 - Selected OS Build Version:  16A

 - Selected installer package: WebDriver-378.05.05.25f01.pkg



Starting patching process...



[OK] Expanding WebDriver-378.05.05.25f01.pkg

[OK] Patching Distribution for 16A

[OK] Unpacking Payload

[OK] Patching NVDAStartupWeb.kext for 16A

409799 blocks

[OK] Recrompressing Payload

[OK] Repacking the installer package



Finished. Would you like to install the Webdrivers now? (y/n): n

NVDAStartupWeb.kext/Contents/

/System/Library/Extensions

OK. You can find the installer package on your desktop.



Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:

   sudo chmod -R 755 /System/Library/Extensions/*Web.kext

   sudo chown -R root:wheel /System/Library/Extensions/*Web.kext

   sudo touch /System/Library/Extensions/

   sudo kextcache -i /

Otherwise NVDAStartupWeb.kext doesn't load.

MacBook-Optimus:~ polyzargone$ nvda

                   NVDAWebPatcher.   

    This script is used to patch the Nvidia WebDriver installer

    package in order to install it on unsupported macOS builds.



    You can chose to patch it for your current build, or for

    another so that you can use the patched installer on another

    system.



    This script assumes that the WebDriver installer package is

    in ~/Downloads/.

-

 

    Options:

    [1] Patch the installer

    [2] Update your current installation

        This only patches RequiredOSBuild in /L/E/NVDAStartupWeb.kext

    [3] Exit



What do you want to do? (1-3): 1

For what OS Buildversion do you want to patch? (17B46a): 17B

Locating NVDA Installer package...

2 packages found:

   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg

   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg

Which one Would you like to patch? (1-2): 2



Summary:

 - Selected OS Build Version:  17B

 - Selected installer package: WebDriver-378.10.10.10.15.121.pkg



Starting patching process...



[OK] Expanding WebDriver-378.10.10.10.15.121.pkg

[OK] Patching Distribution for 17B

[OK] Unpacking Payload

[OK] Patching NVDAStartupWeb.kext for 17B

387198 blocks

[OK] Recrompressing Payload

[OK] Repacking the installer package



Finished. Would you like to install the Webdrivers now? (y/n): n

Library/Extensions/NVDAStartupWeb.kext/Contents/

/Library/Extensions

OK. You can find the installer package on your desktop.



Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:

   sudo chmod -R 755 /Library/Extensions/*Web.kext

   sudo chown -R root:wheel /Library/Extensions/*Web.kext

   sudo touch /Library/Extensions/

   sudo kextcache -i /

Otherwise NVDAStartupWeb.kext doesn't load.

 

 

 

Thxs

 

Please redownload, I outputted two vars to see how they were set, I forgot to take them out when compiling  :P

 

 

I prefer the pkgbuild and producbuild to recreate the exacte Packages because the initial script Nvidia is there and also all composantes

This is my opinion  :D

I'll look into it, thanks  :)

 

uncompress seems not work here

fabios-Mac-Pro-2:desktop fab$ cat Payload | gzip -d | cpio -id

1 block

fabios-Mac-Pro-2:desktop fab$

 

Payload needs to be in your CWD, or you need to specify the path to Payload. Keep in mind that it'll uncompress to your CWD nevertheless

post-1502423-0-62307400-1509293513_thumb.png

Link to comment
Share on other sites

Please redownload, I outputted two vars to see how they were set, I forgot to take them out when compiling  :P

 

Still OK :

 

WebDriver-378.10.10.10.15.121.pkg (High Sierra)

 

 

 

 

What do you want to do? (1-3): 1
For what OS Buildversion do you want to patch? (17B46a): 17B
Locating NVDA Installer package...
2 packages found:
   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg
   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg
Which one Would you like to patch? (1-2): 2

Summary:
 - Selected OS Build Version:  17B
 - Selected installer package: WebDriver-378.10.10.10.15.121.pkg

Starting patching process...

[OK] Expanding WebDriver-378.10.10.10.15.121.pkg
[OK] Patching Distribution for 17B
[OK] Unpacking Payload
[OK] Patching NVDAStartupWeb.kext for 17B
387198 blocks
[OK] Recrompressing Payload
[OK] Repacking the installer package

Finished. Would you like to install the Webdrivers now? (y/n): n
OK. You can find the installer package on your desktop.

Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:
   sudo chmod -R 755 /Library/Extensions/*Web.kext
   sudo chown -R root:wheel /Library/Extensions/*Web.kext
   sudo touch /Library/Extensions/
   sudo kextcache -i /
Otherwise NVDAStartupWeb.kext doesn't load.

 

 

 

WebDriver-378.05.05.25f01.pkg (Sierra)

 

 

 

 

What do you want to do? (1-3): 1
For what OS Buildversion do you want to patch? (17B46a): 16A
Locating NVDA Installer package...
2 packages found:
   [1] /Users/polyzargone/Downloads/WebDriver-378.05.05.25f01.pkg
   [2] /Users/polyzargone/Downloads/WebDriver-378.10.10.10.15.121.pkg
Which one Would you like to patch? (1-2): 1

Summary:
 - Selected OS Build Version:  16A
 - Selected installer package: WebDriver-378.05.05.25f01.pkg

Starting patching process...

[OK] Expanding WebDriver-378.05.05.25f01.pkg
[OK] Patching Distribution for 16A
[OK] Unpacking Payload
[OK] Patching NVDAStartupWeb.kext for 16A
409799 blocks
[OK] Recrompressing Payload
[OK] Repacking the installer package

Finished. Would you like to install the Webdrivers now? (y/n): n
OK. You can find the installer package on your desktop.

Note: After running the installer package, make sure you fix the kext permissions BEFORE rebooting:
   sudo chmod -R 755 /System/Library/Extensions/*Web.kext
   sudo chown -R root:wheel /System/Library/Extensions/*Web.kext
   sudo touch /System/Library/Extensions/
   sudo kextcache -i /
Otherwise NVDAStartupWeb.kext doesn't load.

 

 

Link to comment
Share on other sites

@ricoc90

could post code script?

I would like to see gzip related part

Previously I have tried to do that part but I am not so good in script programming :-)

Nevermind I see how @Pavo do it

 

@Pavo

I don't understand why your script is not working completely for me.

It allows to unlock driver installation for any osx release (distribution part I mean)

But info.plist remains 17A405 in repackaged file

Thank you

Are you using the first one I made or the second one I made? The first one only modified the distribution file to allow the pkg to be installed on whatever version of OS X you are running the script from. The second one does the same as first but also changes the Payload-Extract/Payload/Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist to match the system OS X version that the script is running on and repackages it.

 

Found the issue, was a typo in the script try this new one.

Nvidia WebDriver:Payload Repackager.zip

Link to comment
Share on other sites

Thank you Pavo

I will check.

I think is the first one.


edit

using this is fine?

            #695            

 

edit2

if so in my system it does not rename

<dict>
			<key>CFBundleIdentifier</key>
			<string>com.nvidia.NVDAStartupWeb</string>
			<key>IOClass</key>
			<string>NVDAStartupWeb</string>
			<key>IOMatchCategory</key>
			<string>IOFramebuffer</string>
			<key>IOPCIClassMatch</key>
			<string>0x03000000&0xff000000</string>
			<key>IOPCIMatch</key>
			<string>0x000010de&0x0000ffff</string>
			<key>IOProbeScore</key>
			<integer>200000</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
			<key>NVDARequiredOS</key>
			<string>17A405</string>
			<key>NVDAType</key>
			<string>Web</string>
		</dict>

but in script output I see this:

fabios-Mac-Pro-2:~ fab$ /Users/fab/Desktop/Nvidia\ WebDriver-Payload\ Repackager/repackage.sh 
pkgbuild: Inferring bundle components from contents of /tmp/PackageRoot
pkgbuild: Adding component at Library/Extensions/NVDAGF100HalWeb.kext
pkgbuild: Adding component at Library/Extensions/GeForceTeslaWeb.kext
pkgbuild: Adding component at System/Library/Extensions/GeForceTeslaGAWeb.bundle
pkgbuild: Adding component at System/Library/Extensions/GeForceAIRPluginWeb.bundle
pkgbuild: Adding component at System/Library/Extensions/GeForceTeslaGLDriverWeb.bundle
pkgbuild: Adding component at System/Library/Extensions/GeForceMTLDriverWeb.bundle
pkgbuild: Adding component at Library/Extensions/NVDAGP100HalWeb.kext
pkgbuild: Adding component at Library/Extensions/NVDAResmanWeb.kext
pkgbuild: Adding component at System/Library/Extensions/GeForceVADriverWeb.bundle
pkgbuild: Adding component at Library/Extensions/NVDAStartupWeb.kext
pkgbuild: Adding component at System/Library/Extensions/GeForceTeslaVADriverWeb.bundle
pkgbuild: Adding component at Library/Extensions/GeForceWeb.kext
pkgbuild: Adding component at Library/Extensions/NVDAResmanTeslaWeb.kext
pkgbuild: Adding component at Library/Extensions/NVDAGK100HalWeb.kext
pkgbuild: Adding component at Library/Extensions/NVDANV50HalTeslaWeb.kext
pkgbuild: Adding component at Library/Extensions/NVDAGM100HalWeb.kext
pkgbuild: Adding component at System/Library/Extensions/GeForceGLDriverWeb.bundle
pkgbuild: Wrote package to /tmp/Packages.pkg
productbuild: Wrote product to /tmp/My-Packages.pkg
The WebDriver was made for:17A405
We are changing it to:17B46a
fabios-Mac-Pro-2:~ fab$ 

Edited by Guest
Link to comment
Share on other sites

×
×
  • Create New...