PhysX Goes Open Source

AlphaAtlas

[H]ard|Gawd
Staff member
Joined
Mar 3, 2018
Messages
1,713
While Nvidia claims PhysX is already the "most popular physics simulation engine on the planet," it turned out to be more important than they realized. PhysX is seeping outside the game engine world faster than ever, with applications in " AI, robotics and computer vision, self-driving vehicles, and high-performance computing." Seeing how it is "foundational for so many different things," Nvidia decided to make the formerly proprietary physics API open source. Nvidia also claims the PhysX SDK is "multi platform" and that it supports a "a wide range of devices, from smartphones to high-end multicore CPUs and GPUs." While specific vendor support isn't mentioned, a quick search through the source code seemingly reveals some flags for AMD GPUs and Android devices.

Check out the PhysX SDK video here.

PhysX will now be the only free, open-source physics solution that takes advantage of GPU acceleration and can handle large virtual environments. It will be available as open source starting Monday, Dec. 3, under the simple BSD-3 license... It's already integrated into some of the most popular game engines, including Unreal Engine (versions 3 and 4) and Unity3D.
 
Last edited:
I thought it was pronounced Physics but spelled with the X.

Also, are they working with Boston Dynamics? The robot army of those dog bots is a scary scene...
 
Does this mean anything for AMD?

Maybe now they can replace hobbling code with optimizations - though I assume nVidia would take those out before submitting for open source, but optimizations should still be useful.
 
Havock was far more widely used. Standard physics api calls instead of proprietary bs. I think its more a last minute omg no ones using this bs anymore um can we get some love?
 
On those Titles, PhysX makes the games crawl.

Because most games tend not to get into multi-object dynamics, which absolutely crushes performance once you move past a few objects. That's the one area where GPU PhysX is far and away the best API, but it's still a massive number crunching problem that gets out of control once you move between a few objects. Most other engines just ragdoll things instead to keep the processing simple.

Havock was far more widely used. Standard physics api calls instead of proprietary bs. I think its more a last minute omg no ones using this bs anymore um can we get some love?

GPU PhysX isn't used as much anymore, though I wouldn't be surprised if other NVIDIA tech (Hairworks) is built on top of it. CPU PhysX is by far more used then Havok; it's not even close.
 
This is excellent news.. I would love to see PhysX used in more titles. Hardware PhysX still looks miles better than any other physics API currently on the market. Will be interesting to see how AMD implements this into their drivers for official PhysX hardware support and if there will be backward compatibility with older cards.
 
Hardware PhysX for games that originally supported seems dead. . ..

Since I had the cards I decided to reinstall one of my 1080's in my 2080TI rig to check some old games(Metro LL both versions & Batman Arkham City). Way back when I had 2 970's in SLI and a SC780(dedicated PhysX) in the same rig Metro let me use x3 AA with 45-55 fps in 4k back then. No such luck this time. Didn't make any difference. Afterburner showed 0% percent usage on the 1080 along with minimal vram usage. oh well.

Strangely enough Batman Arkham Knight made use of the card and I have to say that in 4k fully maxed w/ gameworks I was somewhat impressed finally. After all is said and done not worth the extra heat in the case so I took that 1080 back out.
 
Open source is always good. But the way things are, my GPU already has plenty to do, and I'd rather see my GPU working on a beautiful render, not the bouncing bodies. Of course, the CPU isn't great for physics either - bus saturation and the CPU's big, generalized nature make it second-best for physics, but with PCIe 4.0 doubling the bus bandwidth and new CPUs coming with so many cores, it'd be cool to see if they could improve that.

Or ... maybe ... maybe we could come out with a card that's built to do nothing but physics! (strokey-beard moment) /s

And I agree with Spidey329, it would be great if we could get one adaptive sync standard.
 
Last edited:
I keep wishing that unused GPU chip on my CPU could be used for things like physics acceleration.
 
Does this mean anything for AMD?
It means AMD has access to the source, so they can directly submit code optimizations, bug fixes, and feature requests to better take advantage of AMD hardware, or fork it and develop their own SDK for their hardware (not so useful for games, but for other more narrow use-cases it'd be beneficial).
 
Havock was far more widely used. Standard physics api calls instead of proprietary bs. I think its more a last minute omg no ones using this bs anymore um can we get some love?

Standard? Is it part of direct x or opengl? AFAIK havok is just another proprietary tech just like PhysX. You want access to havok source code? Then you need to pay for the access. For a while now PhysX has been more open than Havok.
 
I wonder if we can make hardware PhysX work on AMD cards now that it is open source. That would be sweet.
Even before when physx still fully proprietary tech it is possible to use GPU PhysX on AMD GPU directly. Even nvidia actually give their green light to make it reality. But to AMD supporting PhysX would also needing to support nvidia tech. So they decided to go with Bullet.
 
Note PhysX hasn't been used in quite awhile. https://en.wikipedia.org/wiki/List_of_games_with_hardware-accelerated_PhysX_support The ones that have are CPU accelerated only. Not Nvidia. So they lost. Open source Physics in DirectX and Havok was used instead and whala it worked everywhere. Proprietary for the fail. Just like Nvidia RTX. Give me some opensource raytracing.
Havok was also a proprietary tech. So does havok fail? Also for gpu accelerated physics PhysX was the only game on the market. Open source alternative called Bullet did exist but while there are games using bullet not a single one ever use it's gpu accelerated feature in games. GPU physics might not go anywhere but for cpu based one PhysX did become a major alternative to havok since it is cheaper to license. In fact back in 2014 for the first time i see havok making some noise about what games are licensing their engine. They never do this kind of thing before.
 
Open source is always good. But the way things are, my GPU already has plenty to do, and I'd rather see my GPU working on a beautiful render, not the bouncing bodies. Of course, the CPU isn't great for physics either - bus saturation and the CPU's big, generalized nature make it second-best for physics, but with PCIe 4.0 doubling the bus bandwidth and new CPUs coming with so many cores, it'd be cool to see if they could improve that.

The problem with Physics is once you get into multi-object dynamics, things get very complicated very fast. Even 16-core CPUs would choke on the processing requirements. If you want that level of physics interaction, you are basically forced to use GPUs or a GPU-like architecture.

And I agree with Spidey329, it would be great if we could get one adaptive sync standard.

HDMI 2.1 is making VRR part of it's mainline specification, not an extension like Freesync was. Combine that with HDMI 2.1's increase in bandwidth, and I wouldn't be terribly shocked if Displayport goes the way of Fiberwire and dies off relatively quickly. We really don't need two competing display standards any more then we needed two competing serial bus interfaces (USB and Fiberwire).
 
Open source is always good. But the way things are, my GPU already has plenty to do, and I'd rather see my GPU working on a beautiful render, not the bouncing bodies. Of course, the CPU isn't great for physics either - bus saturation and the CPU's big, generalized nature make it second-best for physics, but with PCIe 4.0 doubling the bus bandwidth and new CPUs coming with so many cores, it'd be cool to see if they could improve that.

Or ... maybe ... maybe we could come out with a card that's built to do nothing but physics! (strokey-beard moment) /s

And I agree with Spidey329, it would be great if we could get one adaptive sync standard.

Freesync over gsync.
Physx is decent enough, but lets look at what Intel can do with Physx.

60%+++ of people have an Intel IGP of some sort, Accelerate phsyx with IGP, easy :)
 
Nvidia the open source champions:
Hey guys were at Nvidia are going to rock your world with open source release of our out dated "the way it is meant to be crippled" Physx which no longer gets used but why would we not make it open source so everyone can marvel at the outdated way we used to make software "special".

(the crowd is cheering wildly at this point)...
 
Last edited:
It's a small win. Will be interesting to see if AMD will capitalize on it. All they need to do is check out the API source code and then adapt
 
Havok was also a proprietary tech. So does havok fail? Also for gpu accelerated physics PhysX was the only game on the market. Open source alternative called Bullet did exist but while there are games using bullet not a single one ever use it's gpu accelerated feature in games. GPU physics might not go anywhere but for cpu based one PhysX did become a major alternative to havok since it is cheaper to license. In fact back in 2014 for the first time i see havok making some noise about what games are licensing their engine. They never do this kind of thing before.

My apologizes for lack of clarity. However Havok was available to all video card companies for use. So while it wasn't open source it was open to all cards. PhysX was cheaper to license for a reason. It didn't have access to the entire market like Havok did. However I still think it should be open source based on universal code not proprietary bs either way. Havok is still going in current games yet there is enough physics code out there to not use either.
 
My apologizes for lack of clarity. However Havok was available to all video card companies for use. So while it wasn't open source it was open to all cards. PhysX was cheaper to license for a reason. It didn't have access to the entire market like Havok did. However I still think it should be open source based on universal code not proprietary bs either way. Havok is still going in current games yet there is enough physics code out there to not use either.

that was before havok was acquired by intel. when intel got themselves havok nvidia know HavokFX is no more so they got themselves Ageia so they can continue pushing for GPU accelerated physics. PhysX was cheaper not because of market coverage. but simply they were the underdog at the time when it comes to third party physic engine. a few years after nvidia got PhysX for themselves AMD try to push truly open source physic engine (with GPU accelerated feature of course) called Bullet but sadly it really goes nowhere since Bullet was pretty much on their own doing their own thing with no support from AMD at all.
 
Even before when physx still fully proprietary tech it is possible to use GPU PhysX on AMD GPU directly. Even nvidia actually give their green light to make it reality. But to AMD supporting PhysX would also needing to support nvidia tech. So they decided to go with Bullet.

Really? then why did they lock out using hardware PhysX on computers with ATI/AMD GPUs in them? The community had to make a hack to allow hybrid PhysX setups (nVidia for PhysX and ATI/AMD for graphics).

Then one person supposedly figured out how to make PhysX work on ATI/AMD cards and that person was grabbed up by nVidia and the program to use PhysX on ATI/AMD hardware was never released.
 
Really? then why did they lock out using hardware PhysX on computers with ATI/AMD GPUs in them? The community had to make a hack to allow hybrid PhysX setups (nVidia for PhysX and ATI/AMD for graphics).

Then one person supposedly figured out how to make PhysX work on ATI/AMD cards and that person was grabbed up by nVidia and the program to use PhysX on ATI/AMD hardware was never released.

what i'm talking about is more about running PhysX natively on AMD GPU itself. not the hybrid setup. but even before hybrid setup being blocked AMD themselves already show no intention to support PhysX be it natively on their GPU nor in hybrid manner (they even talk how there is no future with proprietary API such as PhysX). nvidia blocking the hybrid setup to prevent things become more complicated for themselves in the future. it is as simple as that. those that still want to use hybrid setup can proceed with hacked driver. that way if something wrong happen they can't ask nvidia to fix such problem.
 
To do it natively, nvidia asked to get amd's source code for the drivers. That was never gonna fly.
 
I keep wishing that unused GPU chip on my CPU could be used for things like physics acceleration.

That is actually a very good point. I wonder how feasible it would be to utilize the onboard GPU for the PhysX instruction set.
 
To do it natively, nvidia asked to get amd's source code for the drivers. That was never gonna fly.

It was the other way around actually. AMD paid for physx licensing fee and they have access to PhysX source code. From there on they can start building gpu Physx that is native for AMD GPU. The problem is PhysX still owned by nvidia and they have full control over it's development. They can develop future PhysX to work really well with their architecture but not so much on other architecture. We know both AMD and nvidia develop their architecture very differently despite both should doing the same type of work. Back in 2008 there were third party developer that already successful in porting existing PhysX software to work natively on AMD GPU. and it is done without nvidia help at all. Nvidia just said they have no problem with it so the team behind "RadeonPhysX" does not need to be afraid that nvidia will bring the issue to the court for what they have been doing at the time might be illegal. Amd at the time still hoping for havokfx (they still have demo in 2009 even with evergreen hardware) but in the end they push for ful open source solution with bullet. Bullet has potential but sadly amd almost did nothing to promote bullet towards game developer.
 
Nvidia the open source champions:
Hey guys were at Nvidia are going to rock your world with open source release of our out dated "the way it is meant to be crippled" Physx which no longer gets used but why would we not make it open source so everyone can marvel at the outdated way we used to make software "special".

(the crowd is cheering wildly at this point)...

get this man a leather jacket
 
It was the other way around actually. AMD paid for physx licensing fee and they have access to PhysX source code. From there on they can start building gpu Physx that is native for AMD GPU. The problem is PhysX still owned by nvidia and they have full control over it's development. They can develop future PhysX to work really well with their architecture but not so much on other architecture. We know both AMD and nvidia develop their architecture very differently despite both should doing the same type of work. Back in 2008 there were third party developer that already successful in porting existing PhysX software to work natively on AMD GPU. and it is done without nvidia help at all. Nvidia just said they have no problem with it so the team behind "RadeonPhysX" does not need to be afraid that nvidia will bring the issue to the court for what they have been doing at the time might be illegal. Amd at the time still hoping for havokfx (they still have demo in 2009 even with evergreen hardware) but in the end they push for ful open source solution with bullet. Bullet has potential but sadly amd almost did nothing to promote bullet towards game developer.
I googled "RadeonPhysX" and this is one of the links: https://www.techpowerup.com/64787/r...dia-offered-to-help-us-expected-more-from-amd , in which the group that coded the driver claims nVidia offered to help them do so.
 
I googled "RadeonPhysX" and this is one of the links: https://www.techpowerup.com/64787/r...dia-offered-to-help-us-expected-more-from-amd , in which the group that coded the driver claims nVidia offered to help them do so.
Nvidia try to offered their help after the team behind RadeonPhysX has successfully port the initial CUDA code to run on AMD GPU. hence they said "it seems they give us their blessings". Their wording will be more confident if nvidia was with them since the very beginning.
 
Back
Top