Enabling Hardware Physics Acceleration on the New (and Old) MacBook Pro

October 24th, 2008

If you have a MacBook Pro with a GeForce 8-series or GeForce 9-series GPU and you’re using Apple’s stock Boot Camp-supplied NVIDIA drivers, then you’re missing out on hardware physics acceleration. I’m going to show you how to enable this feature.

Note

Before we start, let me just point out that I’m using a late 2008 MacBook Pro (with the GeForce 9600M GT GPU). The instructions here should work on the previous generation with the GeForce 8-series GPUs, but they’ll obviously have to be slightly modified (you’ll need to grab the lines specific to your hardware from Apple’s supplied NVIDIA driver INF file and use those instead later on).

Basic Idea

The basic idea I’m going to present here is that you grab the latest NVIDIA drivers from their site, modify them to allow installation on the MacBook Pro, and then install them — nothing spectacular, really.

The idea behind these instructions should also work with a Mac Pro, as long as you have a GeForce 8- or 9- series card. I don’t have a Mac Pro, so I can only speculate, but the latest NVIDIA drivers might already work without modification on the GeForce cards available for the system — in which case just install them, and you’ll be fine.

Background

Apple ships an outdated version of the NVIDIA GeForce drivers on the install disc included with the MacBook Pro — they’re a 176.XX release. Normally, this wouldn’t be that big a deal, but the latest NVIDIA drivers, dubbed Release 178, have this highlight listed:

Adds support for NVIDIA PhysX acceleration on all GeForce 8-series, 9-series and 200-series GPUs with a minimum of 256MB dedicated graphics memory (this driver package installs NVIDIA PhysX System Software v8.09.04)

The drivers that Apple ships don’t have this feature. Simple enough, then — right? Just upgrade to the latest NVIDIA driver.

Unfortunately, notebook users with ATI/NVIDIA graphics chips are usually in for a world of hurt when it comes to drivers, because both ATI and NVIDIA refuse to release official driver packages which support these mobile variations of their usual GPUs. Even though the driver itself will almost always work on the hardware, ATI and NVIDIA simply don’t add the required entries into the driver’s .INF files to allow them to be used with these mobile GPUs — something about how each notebook manufacturer likes to add “special features” and the like. cough Bullshit.

Fortunately, DriverHeaven.net stepped in a long time ago and developed a tool that they call the “Mobility Modder” that would take a set of ATI drivers and modify them, allowing them to be installed on notebooks with mobile ATI graphics. Due to popular demand, they’re now in the process of developing the NVIDIA equivalent of this tool — the second Public Beta was released on the 22nd of August.

However, Public Beta 2 of this tool doesn’t yet add the INF definitions for the Late 2008 MacBook Pro’s 9600M GT, so we’re going to have to do that ourselves. Let’s get to it …

Instructions

  1. Go to nvidia.com and download the latest drivers for XP/Vista for the GeForce 8 or 9 series.

  2. Double-click the driver archive and let it extract itself somewhere. I recommend something simple like C:\NVIDIA. Note that the driver will try to install itself after it extracts. It will fail. Don’t worry.

  3. Download and install the NVIDIA Mobility Modder.

  4. Run the above tool, and point it to your extracted NVIDIA driver folder.

    At this point, stop and give the drivers a go. Go into the extracted folder and double-click ’setup.exe’ — if they install fine, you’re done. If you get an error message about unsupported hardware, continue on to the next steps.

    At the time of this writing, the latest release of the NVIDIA Mobility Modder was Public Beta 2, and it did not support the late 2008 MacBook Pro. However, I contacted the developer and passed on the relevant information to him, and any release after Public Beta 2 should support the late 2008 MacBook Pro.**

  5. Open nv4_disp.inf file in your favourite text editor.

  6. Make the following additions:
    NOTE: These are for the 9600M GT in the late 2008 MacBook Pro ONLY. If you’ve got a previous-generation MacBook Pro with a GeForce 8-series GPU, these lines will be different. I’ll update this article in a bit and help you guys out.

    In the [NVIDIA.Mfg] section near the top …
    %NVIDIA_G96.DEV_0647.1% = nv4_NV3x_Mobile, PCI\VEN_10DE&DEV_0647&SUBSYS_00B0106B %NVIDIA_G96.DEV_0647.2% = nv4_NV3x_Mobile, PCI\VEN_10DE&DEV_0647&SUBSYS_00A9106B

    In the [Strings] section at the very bottom …
    NVIDIA_G96.DEV_0647.1 = "NVIDIA GeForce 9600M GT"
    NVIDIA_G96.DEV_0647.2 = "NVIDIA GeForce 9600M GT"

  7. Save your file, and now double-click ’setup.exe’.

  8. Reboot.

  9. Confirm that you have PhysX hardware acceleration by going to Control Panel –> NVIDIA PhysX –> Settings tab. You should have the "GeForce PhysX" option enabled, and the radio button selected. (Obviously it’s disabled in the screenshot, but this is where you’re supposed to look.)

Enjoy, and thanks for reading!

Words From Others

So am I understanding right that with this method I could upgrade my MacBook Pro’s 8600M’s driver to something more recent than Apple’s driver? Have you done this before? Would it cause problems with any updates in the future?

Yup, that’s right. I’ve done this exact thing, but on my late 2008 MacBook Pro — the difference being that mine has a 9600M GT, and yours has the 8600M. It’ll work the same way — but you might need to add the INF definitions for the MacBook Pro’s 8600M yourself if the NVIDIA Mobility Modder doesn’t do it for you. You can grab those from Apple’s original supplied driver.

If you need help with that, just extract the 8600M driver package from Apple and send me the nvao.inf file. I’ll do the rest and send you a modded nv4_disp.inf.

Anyone know the procedure for Vista x64? Following the steps here but substituting ‘nvNV3xMobile’ for ‘nv4NV3xMobile’ in nv_disp.inf doesn’t work.

That’s exactly the procedure. Just needed to fiddle a bit more with nv_disp.inf and keep trying. My PCI Express bus went from 1x to 16x with the 178.24 drivers, but I don’t (yet) see the PhysX bits.

That’s good to hear! Could you perhaps e-mail me a list of the things you changed? I’ll update the article with your information.

Gravatar

Mikel Musial

October 27th, 2008

So you have made a guide for the 9600 GT, what about us with 8600GT? What should we change in the nv4_disp.inf?

%NVIDIAG86.DEV0647.1% = nv4NV3xMobile, PCIVEN10DE&DEV0647&SUBSYS00B0106B %NVIDIAG86.DEV0647.2% = nv4NV3xMobile, PCIVEN10DE&DEV0647&SUBSYS00A9106B or how?

Gravatar

Mikel Musial

October 27th, 2008

pls make a correct guide for the 8600GT, what to change in the nv4_disp.inf.

btw, do you feel differences in the gaming with a modified driver from nvidia?

U can use this site also, easier and faster and does the same thing.

http://www.laptopvideo2go.com/

Gravatar

Mikel Musial

October 27th, 2008

so you mean that i just download this driver: http://www.laptopvideo2go.com/drivers/xp/180.43

and it should work on my MBP with my 8600GT?

Gravatar

Mikel Musial

October 27th, 2008

I cant see nowhere that they should work with the 8600GT? not on the list.

Gravatar

Mikel Musial

October 27th, 2008

Okay, i tried to install the http://www.laptopvideo2go.com/drivers/xp/180.43 But I get the error message about my hardware :(((

I hope you can help to tell how we should hack the driver for 8600GT :)

Did u download the inf enhancer file from laptopvideo2go also? I use there drivers on my mbp, the newest nvidia works perfect

Gravatar

Mikel Musial

October 28th, 2008

okay, Ive downloaded the inf echancer aswell, it installed the driver, but when i restarted my machine. I got an error about the Nvidia Control Panel dosent work anymore :( Did you feel any improvement with the new driver?

Didnt have any problem like that, and yes it works better with new drivers. Both faster and more stable.

Gravatar

Mikel Musial

October 28th, 2008

Can u give me a link for the driver and inf.? And how did you update the drivers? through the device manager, or the NVsetup?

Gravatar

Pete Macgeek

October 28th, 2008

Any update on this mod for the 8600m?

Hi. How to understand this, does the driver update also affects OSX or only running under BootCamp?

Well, I can answer a few questions. First, thank you very much for this tip. My COD4 performance went literally through the roof with those. Thanks!!! I’ve tried all of it in Vista x64 and it worked perfectly. I have an early 2008 MacBook Pro, so I stopped at point 4. Works great. Greatly improved my fps. What is this thing? Going on the Nvidia site right now…

Hum, I didn’t get the PhysX panel, tough. My games are much much more faster with the new driver. COD4 with all options on 1440 x 900 runs perfectly smooth while I couldn’t run it with all options before and had to play in 1024 x 800. Incredible difference. Please post the changes we have to make for our 8-months old 8600M GT please…

Gravatar

Mikel Musial

November 24th, 2008

Everytime i try to install, it will install but after reboot, I get a BSOD :( is my windows faulty?

Gravatar

Niels Burez

November 30th, 2008

AFter i INstall, i get black screen and have to go back to default drivers … tips?

Hey. When i first downloaded the the 180.xx drivers it installed, but i had to install physx manually from the folder, but i couldnt activate. so i tried for 178.24 driver instead but it says it doesnt modify system settings and nothings changed, HOWEVER with that new physx file, the Demonstration of Physx worked but not activation, because the drivers arent installed. why dont they install in bootcamp winxp prof SP3?

Thanks for the information. Worked like a charm except 1 change: there is no nv4disp.inf file. In the 180.48 driver version, the file is simply nvdisp.inf.

Oh - I also had to run the PhysX8.10.13SystemSoftware.exe software manually too.

you claim that this “mobility modder” supports both series 8 and 9 graphicscards from nVidia. does that include the Geforce 9400m in the newer MacBooks?

Looks like the solution may be moot now that nvidia is releasing notebook drivers directly. Even so, they seem to be (1) revision behind the desktop version.

Share Your Wisdom

Previously Posted