Just days ago it was reported on Geeks3D that those who use an ATI GPU for graphics while offloading physics to a PhysX-enabled NVIDIA GPU will no longer be able to use such a setup. From NVIDIA driver version 186.x onward, whenever ATI hardware is detected in a system, PhysX is disabled. If you want PhysX, you’re going to have to use all-NVIDIA hardware to get it. PhysX technology has been the property of NVIDIA for some time now, so you may be wondering why this is a problem.
Well, about a year ago, a group of developers began working on porting the CUDA-based PhysX API to work on ATI’s Radeon cards. NVIDIA gave those developers official support. Also, up until the ForceWare 186.x driver, NVIDIA cards would happily handle physics no matter what GPU was powering graphics. NVIDIA has now disallowed both solutions, and that suggests they’ve had a big change of heart.
The whole fiasco began on the NGOHQ forums where user darthcyclonis discovered PhysX was being disabled, so he emailed NVIDIA regarding it. He received the following response:
I’ll explain why this function was disabled.
PhysX is an open software standard. Any company can freely develop hardware or software that supports it. NVIDIA supports GPU accelerated PhysX on NVIDIA GPUs while using NVIDIA GPUs for graphics. NVIDIA performs extensive Engineering, Development, and QA work that makes PhysX a great experience for customers. For a variety of reasons–some development expense some quality assurance and some business reasons–NVIDIA will not support GPU accelerated PhysX with NVIDIA GPUs while GPU rendering is happening on non-NVIDIA GPUs. I’m sorry for any inconvenience caused but I hope you can understand.
NVIDIA Customer Care
This is a very intriguing situation. It surely will not affect a great number of users, as the particular hardware setup in question is rather unique. It does beg the question, though: Why has NVIDIA changed their stance? One also cannot help but notice the timing of this change and how close it came to the release of ATI’s Radeon HD 5870 GPU.
To get ATI’s perspective on the situation, we contacted Neal Robison, Director of Global ISV for AMD. He had this to say in regards to the timing of this change:
The timing isn’t really important. Instead, I would point out that there’s a real discrepancy between what NVIDIA says, and what they do. They “say” that they are looking out for gamers’ best interests. However, decisions like this are the exact opposite of gamers’ best interests.
We asked Neal for his thoughts on the loss of PhysX support on ATI hardware, and why any of it even mattered considering that DirectX 11′s DirectCompute API standardizes physics offloading. Neal had this to say in response:
I think decent physics can be a good thing for gamers… but it should be for ALL gamers. When it’s available for everyone, game developers will be able to make physics an integral part of gameplay, rather than just extra eye candy. This requires a physics solution built on industry standards. That’s why DirectX 11 is such a great inflection point for our industry–DirectCompute allows game physics that can be enjoyed by everyone. There are several initiatives (some open-source) that will deliver awesome GPU-based physics for everyone, using either DirectCompute or OpenCL. You’re absolutely right–industry standards will make any proprietary standard irrelevant.
At press time, NVIDIA could not be reached for comment. We will update this story as soon as we hear their side of it.
Ed note: AMD has put its money where Neal Robison’s mouth is. The company announced today that it was moving ahead with the development of an open source physics engine called Bullet Physics. Based on the vendor-neutral OpenCL and DirectCompute languages, it can run on any recent Radeon or GeForce product. We have requested commentary from NVIDIA on this initiative as well. Oh how the plot thickens!