Nvidia Open Sources PhysX, With a Few Caveats Attached

Nvidia has declared PhysX 3.4 is now open source, while the upcoming 4.0 version will be open sourced when it ships later this month. I am genuinely surprised to have written this. Back when Nvidia bought Ageia, it took the company’s idea for a PPU — a Physics Processing Unit to be installed in a PCIe slot and to serve as a game enhancing peripheral — and folded its capabilities into the then-current line of GeForce products. The end result of this was supposed to be a huge improvement in visual fidelity, albeit not visual details that the player could actually interact with. Still, PhysX offered an interesting way to improve game visuals and boost enjoyment if you had an Nvidia card.

There was a great deal of chatter back then about whether PhysX was a “fair” approach for Nvidia to take. I always thought it was. Nvidia had purchased and refined an API that could execute code on its programmable GPU cores in a way AMD, at the time, couldn’t match. PhysX was a major play for Nvidia, one of its first major marketing initiatives intended to build brand loyalty by giving consumers specific incentives to use PhysX and, by extension, more of a reason to buy GeForce cards. The idea that the company would open source the project was laughable.
Fast forward to the present day, and things aren’t so funny. PhysX was initially talked about like a GPU project, but it always had a CPU renderer capable of running in software. While this aspect of the SDK was once controversial, multi-threading support was finally introduced in PhysX SDK 3.0.
PhysX is now licensed under the simple BSD-3 license. The Github depository notes that APEX is included as well, under the same license, then follows with this gem:
The APEX SDK is not needed to build either the PhysX SDK nor the demo and has been deprecated. It is provided for continued support of existing applications only… The APEX SDK distribution contains pre-built binaries supporting GPU acceleration. Re-building the APEX SDK removes support for GPU acceleration.
The SDK is open source. The ability to run it on a GPU, on the other hand, is not. It’s not clear how much this actually matters, since the functions have been deprecated or moved to alternate sources. Regardless, it comes off badly, reading more like Nvidia thumbing its nose at stupid gamers who poke their fingers into areas where they shouldn’t be.
According to Nvidia, this new open source arrangement is being carried about because the company has discovered physics is far more important to its work than previously expected. The company writes that “Physics simulation dovetails with AI, robotics and computer vision, self-driving vehicles, and high performance computing.” These are all major fields of interest for Nvidia, so it’ll be interesting to see what comes of a major push like this. AMD, of course, has had its own ROCm initiative for over a year, but Nvidia has shown little interest in engaging with the open-source community this way.
Continue reading

Protect Your Online Privacy With the 5 Best VPNs
Investing in a VPN is a smart choice right now, but the options are vast. To help narrow things down a bit, we've rounded up five of our very favorite consumer services.

RISC-V Tiptoes Towards Mainstream With SiFive Dev Board, High-Performance CPU
RISC V continues to make inroads across the market, this time with a cheaper and more fully-featured test motherboard.

The PlayStation 5 Will Only Be Available Online for Launch Day
The PlayStation 5 isn't going to be available in stores on launch day, and if you want to pick up an M.2 SSD to expand its storage, you'll have some time to figure out that purchase.

ARMing for War: New Cortex-A78C Will Challenge x86 in the Laptop Market
ARM took another step towards challenging x86 in its own right with the debut of the Cortex-A78C this week. The new chip packs up to eight "big" CPU cores and up to an 8MB L3 cache.