The Computer Blog

Friday, September 25, 2009

The Nvidia 9400 GPU: The MacBook/Pro’s Achille’s Heel

Last year, I bought a new MacBook Pro. It was my second MacBook Pro and probably my fourth Mac laptop and is a 2.4 GHz Intel Core 2 Duo powered machine that originally came with a 250GB 5400 rpm hard drive and 2 GB of DDR-3 RAM (1067). My other laptops had been powered by ATI GPU’s and had dedicated video memory, so I didn’t realize when I bought this one what having a GPU running on shared memory could mean. I did what I always did when I wanted to expand it beyond the inadequate amounts of RAM Apple generally supplied its machines with, i.e., I bought extra RAM from third-party vendors who knew the make. I had never had a problem with any of the RAM being compatible with my machine until I bought this one. Now, I know that current models of the MacBook and MacBook Pro are handicapped and you must either buy RAM from Apple or know which memory modules are compatible with the Nvidia 9400M GPU’s Apple is sadly using in its machines.

Shortly after buying mine, I bought 4GB of DDR-3 RAM from Other World Computing. Because the size of my iTunes library would quickly overwhelm the hard disk in the MacBook Pro, I set the library up on a 500GB Bufflao Live Station NAS and then configured iTunes to run off that drive. (I used my 160GB Classic iPod as my iTunes depository when on the road.) It ran well except for one thing, and that was that I never knew when a playing video was going to hang. When it did, it would lock up my whole machine. Only a complete restart would clear the problem.

For a long time, I thought the problem was with my NAS. Then, I tried putting my iTunes library on a Firewire 800 drive. The problem remained. When lots of the Apple new laptop world was experiencing hangs because of their 7200RPM 500GB 2.5” Seagate hard drives, I thought that might be my problem, too, because I had upgraded my MBP using one. But it wasn’t. I had bought the version that did not have Seagate’s G sensor technology in it, so there was no conflict with Apple’s in my MBP. I then moved parts of my iTunes library onto the MacBook Pro’s internal hard drive and cleared the hangs for a short while by resetting the PRAM. That lasted until I upgraded to Snow Leopard. Then, hanging video began occurring in record time, forcing me to find and fix the problem once and for all. I suspected the problem was with my machine’s main memory or with its Nvidia GPU’s.

I ran Apple’s Hardware Test multiple times, engaging the extended hardware test, and the results were always the same. It said there was nothing wrong with my machine at all. I then booted the machine up on a copy of MEMTEST86.exe and ran multiple tests of the system RAM. It, too, reported no problems. That made me suspect the Nvidia GPU’s, even though they were the 9400/9600 pair and not the more problematic 8400/8600 pair Apple had extended warranties on. But how could all this testing hardware report everything was okay when I still had a problem?

The answer came to me a few days ago as I probed the Apple Support communities for any discussion of video hangs with the newer machines. I stumbled on a thread that began by discussing how all the MacBooks being upgraded by an IT department were showing signs of video hanging when they had been upgraded to 4GB of main RAM. Further down the thread, an Apple user suspected that the problem laid with the Nvidia 9400 GPU. Nvidia had published a list of compatible RAM part numbers. If you were using something else and had more than 3GB of RAM in your machine, then you would see the kind of symptoms I was experiencing. He listed the part numbers for the various DDR3 SODIMM’s that were compatible. Someone else provided a link to the Nvidia document that list had come from. I downloaded it, pulled my machine apart, and checked the part numbers on the RAM from OWC against the Nvidia supplied part numbers. They DID NOT match!

To test the 3GB practical limit theory, I pulled out one of the 2GB SODIMM’s from my MacBook Pro and left the other in. I played several videos that had hung the machine earlier in the day and they played with no problems. Checking my wife’s MacBook, I found she was running two 1GB Samsung SODIMM’s and pulled one out. Its part number DID match one on the Nvidia list, and both Samsung SODIMM’s in her machine had come from Apple. I then swapped one of her compatible 1 GB SODIMM’s for a 2GB SODIMM from OWC so that both our machines were running the same memory configuration and below the 3GB limit. I have run videos for hours on both machines with no hang-up’s.

Before Apple switched to Intel CPU’s and had a much smaller audience, it was famous for insisting its users run only its RAM, something they charged two to three times the market value for. Apple old-timers know to buy their RAM somewhere else, and it hasn’t been a problem for me until now. But with the touchy Nvidia GPU’s, you must either buy your RAM with your machine (from Apple) or you must know the specific part numbers for RAM that are compatible with the 9400 GPU if your Mac sports one. You can download the document that details that from Nvidia for free. Good luck, though, trying to figure out which third party vendors are using the right part numbers since they don’t usually tell you which manufacturer’s part number they’re sending you.

Just remember, if you buy third party RAM and put it in your Nvidia 9400 GPU toting Mac and start seeing video hangs, drop the total RAM down to 3GB or less or re-equip it with RAM that Nvidia says is compatible; and don’t wonder any more why all your testing shows not one problem. There isn’t anything broken; there is something that’s incompatible.