Sunday, April 6th 2025

NVIDIA PhysX and Flow Made Fully Open-Source
NVIDIA late last week committed NVIDIA PhysX SDK and NVIDIA Flow as open-source software under the BSD-3 license. This includes the GPU source code—the specific way PhysX leverages CUDA and GPU compute acceleration, and should make it easier for game developers to understand and implement PhysX, including its various interactive 3D effects such as rigid body dynamics, fluid simulation, and deformable objects. More importantly, a deeper understanding of PhysX makes it possible for modders to develop fallbacks for their older 32-bit game titles that use PhysX to work with newer generations of GPUs, such as the RTX 50-series "Blackwell." It should come especially handy when NVIDIA is trying to push Remix—its first-party initiative to refurbish older games with modern graphics and higher resolution visual assets.
Source:
Wccftech
41 Comments on NVIDIA PhysX and Flow Made Fully Open-Source
What they are offloading to the others seems to be QA of future releases. Although this probably targets studios and engine devs more than it does modders.
Anyone know what this actually means? can anyone now use the old physics system in their games (not that I think you would want to be but still)
The most I can think of it is that people will add translation layer that would run 32bit hardware PhysX using OpenCL or DirectCompute, allowing it to run on any graphic card. Wishful thinking I guess.
Physx I hardly saw it in any games. Maybe I saw three or four times physx advertisement at game starts. That's it.
--
2008 source code - of course we need that.
BSD license is not to my liking. there are licenses which are far less restricted. BSD is one of the better ones - but there are better licenses. Make it truly open source or leave it.
www.pingcap.com/article/bsd-license-pros-cons-projects-open-source-insights/
Those licenses are the biggest headache. For laziness and personal use I do not care:
ACCEPT_LICENSE="*"
I had to add so many different licenses at some sort of point that i used the * for use anything. Every two weeks something did not install because of some other license which was not in the allow list.
What this *may* help are compatibility layers, which are seperate from physx itself (as much as proton/wine is independant fom games' WinAPI and D3D-calling binaries). Although I'm not very optimistic about the performance.
Making 64 bit Physx things run on non-Nvidia cards is something I do hope for, however. Me thinks it's quite feasible. People were already working/planning to start working on this. Waiting to hear their opinion on the matter. The update is for the most recent SDK v5.something.
Stripping the nV lock may or may not be fast... depends how CUDA-dependent the thing is. Given it predates CUDA, there is some hope that it's not too CUDA-dependent, but I dunno, having not looked at the source code myself.
It's already happening.
A single app cannot be switched from 32-bit to 64-bit mode or vice versa. Neither the CPU, nor the OS, supports this. Mixing 32-bit and 64-bit libraries is not possible in a single process. You would need to have 2 apps communicating via message passing, via filesystem or via shared memory: one process running in 64-bit mode and another process running in 32-bit mode. ROCm is 64-bit only.
An only viable choice is that Wine/Proton will use the just released PhysX source code to derive a 32-bit Windows DLL for use by 32-bit games (such as Batman: Arkham City), which could then enable PhysX on any recent AMD/Intel/NVIDIA GPU in Linux.
I suspect that even recent CPUs such as Ryzen 9700X might not be fast enough to outperform older GPUs when running PhysX simulations.
As for the CUDA part, between ZLUDA (as mentioned by Denver) and just reimplementing the necessary bits internally, it's not that much of a problem - just changes the timescale really. Physics have not changed in a few billion years, brother :P. Sure, there are better, more accurate physics engines like newer version of Havok and others that I don't remember the names of, but PhysX is very good, even in it's "frozen" state. It's more than just speed - you also have to factor data transfer between main memory and VRAM, setting up and tearing down GPU kernels. This is why something like Path of Exile which can generate frankly *ridiculous* amounts of physics particles does their graphical (meaning no interaction back into the gameloop) physics entirely on CPU - the latency of back and forth CPU-GPU processing is just too high.