Trying to use an Nvidia GPU for PhysX (and failing)

I heard recently that I could use an Nvidia GPU (in this case a GT 1030) as a PhysX Processing Unit alongside my AMD RX 7800XT primary GPU. I also heard that Nvidia has good driver support on Linux now so I did a bit of Googling and downloaded a driver installer from Nvidia which, upon running, said something about “gcc” not being present. Rather than delve into something I don’t understand at all I went with the RPM option which appeared to install an Nvidia driver but Borderlands 2 didn’t light up the PhysX option.

Having failed to get the desired outcome I ran the uninstall command provided on the RPM how-to page and it looks like I’m back to the Nouveau driver? Which also doesn’t appear to do PhysX stuff. Running the Nvidia installer in this state doesn’t complain about “gcc”, does complain about Nouveau and says it should disable it, then says it can’t do kernel checks and can’t install anyway.

I’m lost, confused, may or may not have broken something(?) and can probably be labelled “an idiot” pretty safely, can someone help please?

This is not the recommended way to install the nvidia drivers on fedora.
Follow the guide at Howto/NVIDIA - RPM Fusion

I followed the guide and the below screenshot is the result, am I missing something?

Yes
You failed to uninstall the nvidia driver that was installed with the .run file before attempting to install the driver from rpmfusion.

You also only show the bash history so we can see the commands but cannot see any of the results, which would be done by copy & paste from the screen. Formatting remains as seen on-screen if you use the preformatted text </> button at the top of the text entry screen

  1. sudo sh NVIDIA-linux-x86_64-570.124.04.run --uninstall
  2. dnf repolist
    As long as the result of step 2 shows the rpmfusion-nonfree-nvidia-driver or the rpmfusion-nonfree-updates repo in the listing then continue with step 3
  3. sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
    Step 3 should install all the required packages/dependencies for the driver
  4. Wait at least 5 minutes after installing the driver packages before you reboot. This allows time for the driver module to be compiled and installed.
  5. cat /etc/default/grub and cat /etc/kernel/cmdline now should show the following as part of the options. rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
    If that does not appear then the install of the drivers from rpmfusion apparently did not properly complete.
  6. modinfo nvidia should show something like this at the beginning.
$ modinfo nvidia
filename:       /lib/modules/6.13.6-200.fc41.x86_64/extra/nvidia/nvidia.ko.xz
import_ns:      DMA_BUF
alias:          char-major-195-*
version:        570.124.04
supported:      external
license:        Dual MIT/GPL
firmware:       nvidia/570.124.04/gsp_tu10x.bin
firmware:       nvidia/570.124.04/gsp_ga10x.bin
srcversion:     B193D63A340F994C5B6851B
alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
name:           nvidia
retpoline:      Y
vermagic:       6.13.6-200.fc41.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         fedora-44340853

I do not use Physx so cannot provide first hand advice. My experience is with the nvidia drivers and these steps have worked flawlessly for me and many others.

A quick search for Physx for linux revealed this

Is that the guide you used for installing it?
When the drivers are installed from rpmfusion and steam is installed from rpmfusion then physx should just work.
I have not tested it.

I see, thank you for your advice thusfar and sorry for the long post coming.

When I run sudo sh NVIDIA-Linux-x86_64-570.124.04.run --uninstall (I don’t have 570.124.16.run) it tells me “There is no NVIDIA driver currently installed”.

Step 2:

Ian@Riku-Fedora:~$ dnf repolist
repo id                                                      repo name                                                                 
fedora                                                       Fedora 41 - x86_64                                                        
fedora-cisco-openh264                                        Fedora 41 openh264 (From Cisco) - x86_64                                  
rpmfusion-free                                               RPM Fusion for Fedora 41 - Free                                           
rpmfusion-free-updates                                       RPM Fusion for Fedora 41 - Free - Updates                                 
rpmfusion-nonfree                                            RPM Fusion for Fedora 41 - Nonfree                                        
rpmfusion-nonfree-nvidia-driver                              RPM Fusion for Fedora 41 - Nonfree - NVIDIA Driver                        
rpmfusion-nonfree-steam                                      RPM Fusion for Fedora 41 - Nonfree - Steam                                
rpmfusion-nonfree-updates                                    RPM Fusion for Fedora 41 - Nonfree - Updates                              
rpmsphere                                                    RPM Sphere - Basearch                                                     
rpmsphere-noarch                                             RPM Sphere - Noarch                                                       
updates                                                      Fedora 41 - x86_64 - Updates    

Step 3:

Ian@Riku-Fedora:~$ sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
Updating and loading repositories:
Repositories loaded.
Package "akmod-nvidia-3:570.124.04-1.fc41.x86_64" is already installed.
Package "xorg-x11-drv-nvidia-cuda-3:570.124.04-1.fc41.x86_64" is already installed.

Nothing to do.

Step 5:

Ian@Riku-Fedora:~$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=UUID=430b6653-6507-4445-8730-ee9bee462ddb rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
Ian@Riku-Fedora:~$ cat /etc/kernel/cmdline
root=UUID=73602eba-1543-4080-8aa1-3e5e928552d7 ro resume=UUID=430b6653-6507-4445-8730-ee9bee462ddb rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau

And Step 6 gives me this:

Ian@Riku-Fedora:~$ modinfo nvidia
filename:       /lib/modules/6.13.6-200.fc41.x86_64/extra/nvidia/nvidia.ko.xz
alias:          char-major-195-*
version:        570.124.04
supported:      external
license:        NVIDIA
firmware:       nvidia/570.124.04/gsp_tu10x.bin
firmware:       nvidia/570.124.04/gsp_ga10x.bin
srcversion:     3D69C923874714B11E68DCA
alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
name:           nvidia
retpoline:      Y
vermagic:       6.13.6-200.fc41.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Riku-Fedora_1741973917_7fbf6747

I hadn’t seen that Steam guide, I have seen a “copr” PhysX thing on this site, is that worth looking at?

The only other thing I would like to verify is the output of
dnf list --installed '*nvidia*'

As I stated I cannot assist directly with physx suggestions as I have not used it. Google gave me that link.

Ian@Riku-Fedora:~$ dnf list --installed '*nvidia*'
Installed packages
akmod-nvidia.x86_64                       3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
kmod-nvidia-6.13.6-200.fc41.x86_64.x86_64 3:570.124.04-1.fc41 @commandline
nvidia-gpu-firmware.noarch                20250311-1.fc41     updates
nvidia-modprobe.x86_64                    3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
nvidia-persistenced.x86_64                3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
nvidia-settings.x86_64                    3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia.x86_64                3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda.x86_64           3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda-libs.i686        3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda-libs.x86_64      3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-kmodsrc.x86_64        3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-libs.i686             3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-libs.x86_64           3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-power.x86_64          3:570.124.04-1.fc41 rpmfusion-nonfree-nvidia-driver

I did a little googling of my own and found a Reddit thread from ten years ago saying that the PhysX version in Borderlands 2 pre-dates the Linux PhysX version, another post suggested that the Metro Redux games are compatible so I’m going to try one of those.

Edit: Just making sure I’ve installed this driver correctly and hopefully not broken anything is a great help.

Edit 2: Metro Last Light Redux allows me to enable “Advanced PhysX”.

The info you provided appears to show the nvidia driver is properly installed and functioning.

Was steam installed from rpmfusion?
The guide I linked appears to be relatively current (March 2022), but the physx software appears to have a release date of 2010.08.11 and the file is a windows .exe file.

I wonder if it is even relevant for an OS that is linux and current in 2025 (15 years newer). It also states it functions for cuda 3.0 while the current cuda with nvidia driver 570.124.04 is version 12.8

I believe it was, I installed it “From Fedora Linux” rather than from Flathub for some or other reason I don’t remember now.

You can confirm that with dnf list --installed steam
It should show something like this if it was installed from rpmfusion

# dnf list --installed steam
Installed packages
steam.i686 1.0.0.82-1.fc41 rpmfusion-nonfree-updates

The repo may be rpmfusion-nonfree-steam

Ian@Riku-Fedora:~$ dnf list --installed steam
Installed packages
steam.i686 1.0.0.82-1.fc41 <unknown>

Ahh
That indicates that using dnf4 list --installed steam should show it properly

This looks correct, thank you.

Ian@Riku-Fedora:~$ dnf4 list --installed steam
Installed Packages
steam.i686                                          1.0.0.82-1.fc41                                          @rpmfusion-nonfree-updates