Issues with steam and proton with Nvidia on a pretty standard EOS install (terrible FPS on arch pacman steam vs. flatpak steam)

So I’m listing this partially to document a fix to an error I was receiving andand partially as a question for additional problems I’m still facing.

So I was getting this error with the standard steam install from arch linux’s repositories.

glx: failed to create dri3 screen
failed to load driver: nvidia-drm
10/22 04:13:39 minidumps folder is set to /tmp/dumps
10/22 04:13:39 Init: Installing breakpad exception handler for appid(steamsysinfo)/version(1759461205)/tid(87312)
Running query: 1 - GpuTopology
CVulkanTopology: failed create vulkan instance: -9
CVulkanTopology: failed to create vulkan instanceFailed to query vulkan gpu topology

Failed to query vulkan gpu topology
Response: 
Exit code: -2

Installing lib32-nvidia-utils as suggested here (I was also having trouble launching 32-bit games like FF9 too) fixed both this error in running steam from the command line and the ability to launch a variety of games from within steam.

However, I’m still getting terrible frame rates not only in FF7remake ( 4 frames per second) but also FF9 (2-3 frames per second).

I bought two 3090s in late 2022 in the midst of the bitcoin crash to putz around with deep learning, and that’s still what I’m running. I’ve had to reinstall EOS a couple of times since I first started running it (first because Windows recovery wiped out my EOS installation on a different booting drive, and a second time because bad memory corrupted my BTRFS file system - setting up a backup and recovery system is a project for later). So I’ve had this third install running from February of this year. I can’t remember if my last install was running X11 or Wayland (it would have been installed at some point in 2023, but I kind of remember it transitioning towards Wayland one day), but I for sure am running Wayland.

Of note, I installed the Steam flatpak and installed another copy of FF9 and I was getting 60 fps from this version. So I’m pretty certain that I must be missing some other nvidia component.

When I run pacman -Qs "(mesa|nvidia|nouv|xf86-video|optimus|vulkan)", I get the following output. Do you guys have any idea as to what I’m missing?

local/cuda 13.0.2-1
    NVIDIA's GPU programming toolkit
local/cudnn 9.14.0.64-1
    NVIDIA CUDA Deep Neural Network library
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.20-1
    EGLStream-based Wayland external platform
local/egl-x11 1.0.3-1
    NVIDIA XLib and XCB EGL Platform Library
local/ffnvcodec-headers 13.0.19.0-1
    FFmpeg version of headers required to interface with Nvidias codec APIs
local/glu 9.0.3-2
    Mesa OpenGL utility library
local/lib32-glu 9.0.3-2
    Mesa OpenGL utility library (32 bits)
local/lib32-libvdpau 1.5-3
    Nvidia VDPAU library
local/lib32-mesa 1:25.2.5-1
    Open-source OpenGL drivers - 32-bit
local/lib32-nvidia-utils 580.95.05-1
    NVIDIA drivers utilities (32-bit)
local/lib32-vulkan-icd-loader 1.4.328.1-1
    Vulkan Installable Client Driver (ICD) Loader (32-bit)
local/libnvidia-container 1.17.9-1
    NVIDIA container runtime library
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/linux-firmware-nvidia 20251011-1
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/mesa 1:25.2.5-1
    Open-source OpenGL drivers
local/mesa-utils 9.0.0-7
    Essential Mesa utilities
local/nccl 2.28.3-1
    Library for NVIDIA multi-GPU and multi-node collective communication primitives
local/nvidia 580.95.05-6
    NVIDIA kernel modules
local/nvidia-container-toolkit 1.17.9-1
    NVIDIA container toolkit
local/nvidia-hook 1.5.2-1
    pacman hook for nvidia
local/nvidia-inst 25.10-1
    Script to install/uninstall nvidia driver packages in EndeavourOS
local/nvidia-lts 1:580.95.05-4
    NVIDIA drivers for linux-lts
local/nvidia-utils 580.95.05-1
    NVIDIA drivers utilities
local/opencl-nvidia 580.95.05-1
    OpenCL implemention for NVIDIA
local/qt6-shadertools 6.10.0-1 (qt6)
    Provides functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL
local/spirv-tools 1:1.4.328.1-1 (vulkan-devel)
    API and commands for processing SPIR-V modules
local/vulkan-headers 1:1.4.328.1-1 (vulkan-devel)
    Vulkan header files and API registry
local/vulkan-icd-loader 1.4.328.1-1 (vulkan-devel)
    Vulkan Installable Client Driver (ICD) Loader
local/vulkan-tools 1.4.328.1-1 (vulkan-devel)
    Vulkan tools and utilities

3090 GPU is recommended to use nvidia-open instead of nvidia.
I recommend using command

nvidia-inst --test

first to see the recommended packages. Please show the output here too.

And nvidia-open-dkms could be a better choice as well.

Oh snap, the Nouveau drivers are that good now?

I did try out the nouveau drivers (I couldn’t use nvidia-inst because the Rstudio build’s dependency on specific versions of the boost and boost-lib packages are out of sync) and I was getting the same frame rates. Would sharing what freedesktop nvidia packages I have installed and presumable what the steam flatpak is using be helpful in figuring out what’s causing these problems? I don’t think I’m using the open drivers there either.

So I don’t completely understand yet the Linux kernel and how dkms and systemd work, but I thought the arch and EOS way of doing things discouraged using dkms. I installed nvidia-open and nvidia-open-utils in lieu of nvidia and nvidia-utils.

Nvidia-open is not Nouveau. Nvidia-open is developed by Nvidia, although open-source. Nouveau on other hand is completely free software developed by community.

1 Like

This. When we talk about nvidia-open (or nvidia-open-dkms), we’re referring to the NVIDIA drivers with open-source kernel modules, which are the recommended ones for Turing and newer GPUs (that is, post-Pascal architectures). They have nothing to do with Nouveau.

Cheers.

I don’t know where this idea comes from. Personally (and I think it’s attitude in Linux circles in general, there can be exceptions of course) my approach is that “if it works, use it”.

Especially considering GPU drivers this is something that goes before anything.

So don’t be discouraged to use dkms. So, if it works, use it. :slightly_smiling_face:

Using dkms alternative involves building packages locally and that may make upgrading packages slower.

But the prebuilt alternative like nvidia is dependent on kernel compatibility, and sometimes the kernel package is not updated along with the nvidia release which most likely causes nasty issues.
The dkms alternative can avoid this problem.
Also, the dkms alternative works with other kernels if you want them installed.