Monday 9 January 2012

Dedicated PhysX Acceleration with AMD Radeon

PhysX is a name often thrown about when comparing AMD to Nvidia GPUs. It is a proprietary feature that Nvidia bought many years ago, and they only allow it to be run on their own GPUs. Moreover, they have got into the habit of disabling the possibility of using PhysX when a non Nvidia GPU is detected.

What is PhysX? Well, simply put, it is an advanced physics engine. While I'm sure there is a licensing fee, pretty much any developer can get ahold of the SDK and use the advanced physics that PhysX provides. This includes extremely realistic cloth and water effects, among other things. Unfortunately, the list of games that run accelerated PhysX is fairly small. Note that there are games which use PhysX as a generic physics engine, like Bullet or Havok, and do not use the accelerated portion.

Nvidia's PhysX has the ability to be run off a dedicated card. This means you might have a GTX 560 Ti as your graphics card, and perhaps an older 8800GT or a GTS 250 that you can put into your motherboard, which will only be used to do PhysX. In theory this should work just as well if you run an AMD Radeon as your primary card, as long as you have a capable Nvidia card for the dedicated PhysX card.

And thanks to a wonderful person who goes by the name GenL, you can!

The GenL patch V1.05ff supports the latest PhysX software (version 9.11.1107) and usually the most recent WQHL Nvidia drivers as well (for sure up to 285.62).

First of all, your AntiVirus will probably give a false positive about it being a virus. This is because it changes registry values, but I assure you that in all the time I've used it, there have been no problems. You will therefore need to disable your antivirus for the installation.

Simply install your dedicated Nvidia card, install the Nvidia drivers, and install the latest PhysX software. Then, run the GenL patch and reboot your PC. After that you can check using FluidMark to see if you are getting GPU acceleration.

There is a couple more things to note. Any program that runs PhysX hardware acceleration will have certain files in it pertaining to PhysX. Things like "PhysXCore.dll" and "PhysXLoader.dll". Occasionally you will need to over write these with the same files out of your "Program Files (x86)\NVIDIA Corporation\PhysX\(newest)" folder - but be sure to back them up first! Some games work without doing this, and some like Batman Arkham City you actually only need to remove the "PhysXDevice.dll" file and it works great. So check it out and google what to do if you are having issues. The former link is a great resource.

FYI: I use a GT 240 in a PCIe 1.0 4x lane on my Asus P7P55D Pro motherboard, and it works great! It can't quite max itself out (~82% max usage) due to a bandwidth issue, but it does the job! You don't need a powerful GPU for this.