Low FPS experienced with NVIDIA driver 545 for Linux

I’m trying to set up NVIDIA RTX 4060 Ti to run on Ubuntu 23.10 properly, but with no luck yet. Initially I tried it with driver 535 (proprietary, tested) but it had some issues in both X11 and Wayland sessions which prevented me from using the OS normally. Then I’ve upgraded to 545 (proprietary) which resolved the issues I had with 535, but now I can’t play Steam games despite of which windows system I’m switching to.

Attaching here a bug report dump I’ve taked from X11 window system.
nvidia-bug-report.log.gz (886.1 KB)

X11: Phoenix GPU benchmark shows great performance & run without any visible issues. But when I run Steam games they will either not start, or run at an extremely low FPS rate.

Wayland: Both the Phoenix GPU benchmark and Steam games show extremely low FPS rate.

You’ve installed the driver using the runfile installer, please uninstall it and use Software&Updates to install a packaged driver, possibly adding the graphics driver ppa.

That didn’t help at all.
Since I remember that the last time I installed drivers via “Additional Drivers” window, I did the following to ensure to clear all traces of previous manual installations:

  1. Switched to X.org driver via “Additional Drivers” window
  2. Rebooted
  3. Installed NVIDIA driver manually and immediately uninstalled it:
    sudo ./NVIDIA-Linux-x86_64-545.29.06.run
    sudo nvidia-uninstall
    
  4. Cleaned up everything related to NVIDIA I could find:
    sudo apt remove '*nvidia*'
    sudo apt remove libnvidia-compute-545:i386
    
  5. Rebooted
  6. Set up PPA repository:
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
  7. Installed NVIDIA 545 (proprietary) driver via “Additional Drivers” window
  8. Rebooted

Here’s an updated bug report dump for your rereferce:
nvidia-bug-report.log.gz (626.0 KB)

Does enabling i386 support for 32bit fix it?

sudo dpkg --add-architecture i386
sudo apt update
sudo apt upgrade
sudo apt install mesa-utils:i386

Could not really fully execute the code snipped as I’ve got an error on the last command:

$ sudo apt install mesa-utils:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package mesa-utils:i386

But I did this instead, if that even makes sense:

sudo apt install mesa-utils

That didn’t help at all.

Looks like canonical stopped packaging mesa-utils for 32bit long ago. Please check if running

sudo apt install libgl1:i386

will work and install the necessary parts.

Already installed:

$ sudo apt install libgl1:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libgl1:i386 is already the newest version (1.6.0-1).

Which games do not run on Steam? Native or Proton?

I’m not sure exactly how to check that, but here are some insights I’ve found:

  1. “Tomb Rider” is stated to provide native Linux support, but it’s recommended to be run via Proton ⇒ Runs in native mode with extremely low FPS rate, and does not even start via Proton (FYI it used to be running perfectly in Ubuntu with my old R7 370 GPU)
  2. “Rise of Tomb Rider” has naive Linux support ⇒ Doesn’t start in either mode (but reported to be running fine natively with 535 and 520 drivers)
  3. “Saints Row IV: Re-Elected” has native Linux support ⇒ Doesn’t start in native mode (but I didn’t try it via Proton yet)
  4. “PAYDAY 2” has native Linux support ⇒ Works fine natively
  5. “Firewatch” has native Linux support ⇒ Works fine natively

Side note: what I also noticed that after switching from manually installed 545 to the same version installed via “Software & Updates” window I’ve got back a random flickering issue on top of the screen when using OS normally, which doesn’t seem to appear when playing games.

Please post the output of
glxinfo -B
and
dpkg -l |grep nvidia

Here’s a link to the 32bit package of mesa-utils:
http://mirrors.edge.kernel.org/ubuntu/pool/universe/m/mesa-demos/mesa-utils_8.4.0-1_i386.deb
Don’t install it, just open it in archiver and extract only data.tar.xz/usr/bin/glxinfo to e.g. your desktop folder and run it
~/Desktop/glxinfo -B

Here’s an output of glxinfo program:

Pre-installed version
$ glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)
    Version: 23.2.1
    Accelerated: no
    Video memory: 31984MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 21 MB, largest block: 21 MB
    VBO free aux. memory - total: 15042 MB, largest block: 15042 MB
    Texture free memory - total: 21 MB, largest block: 21 MB
    Texture free aux. memory - total: 15042 MB, largest block: 15042 MB
    Renderbuffer free memory - total: 21 MB, largest block: 21 MB
    Renderbuffer free aux. memory - total: 15042 MB, largest block: 15042 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4294730723 MB
    Total available memory: 4294762708 MB
    Currently available dedicated video memory: 21 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.1-1ubuntu3.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
32bit version
$ ./glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)
    Version: 23.2.1
    Accelerated: no
    Video memory: 31984MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 4294832310 MB, largest block: 4294832310 MB
    VBO free aux. memory - total: 15291 MB, largest block: 15291 MB
    Texture free memory - total: 4294832311 MB, largest block: 4294832311 MB
    Texture free aux. memory - total: 15291 MB, largest block: 15291 MB
    Renderbuffer free memory - total: 4294832311 MB, largest block: 4294832311 MB
    Renderbuffer free aux. memory - total: 15291 MB, largest block: 15291 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 0 MB
    Total available memory: 31984 MB
    Currently available dedicated video memory: 4294832311 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.1-1ubuntu3.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

And here’s an output of dpkg program:

dpkg output
$ dpkg -l |grep nvidia
ii  libnvidia-cfg1-545:amd64                      545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-545                          545.29.06-0ubuntu0.23.10.2              all          Shared files used by the NVIDIA libraries
rc  libnvidia-compute-535:amd64                   535.154.05-0ubuntu0.23.10.1             amd64        NVIDIA libcompute package
ii  libnvidia-compute-545:amd64                   545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA libcompute package
ii  libnvidia-compute-545:i386                    545.29.06-0ubuntu0.23.10.2              i386         NVIDIA libcompute package
rc  libnvidia-compute-550:amd64                   550.40.07-0ubuntu0~gpu23.10.2           amd64        NVIDIA libcompute package
ii  libnvidia-decode-545:amd64                    545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-545:i386                     545.29.06-0ubuntu0.23.10.2              i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-545:amd64                    545.29.06-0ubuntu0.23.10.2              amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-545:i386                     545.29.06-0ubuntu0.23.10.2              i386         NVENC Video Encoding runtime library
ii  libnvidia-extra-545:amd64                     545.29.06-0ubuntu0.23.10.2              amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-545:amd64                      545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-545:i386                       545.29.06-0ubuntu0.23.10.2              i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-545:amd64                        545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-545:i386                         545.29.06-0ubuntu0.23.10.2              i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
rc  linux-modules-nvidia-535-6.5.0-15-generic     6.5.0-15.15+1                           amd64        Linux kernel nvidia modules for version 6.5.0-15
rc  linux-objects-nvidia-535-6.5.0-15-generic     6.5.0-15.15+1                           amd64        Linux kernel nvidia modules for version 6.5.0-15 (objects)
rc  nvidia-compute-utils-535                      535.154.05-0ubuntu0.23.10.1             amd64        NVIDIA compute utilities
ii  nvidia-compute-utils-545                      545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA compute utilities
rc  nvidia-compute-utils-550                      550.40.07-0ubuntu0~gpu23.10.2           amd64        NVIDIA compute utilities
ii  nvidia-dkms-545                               545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA DKMS package
rc  nvidia-dkms-550                               550.40.07-0ubuntu0~gpu23.10.2           amd64        NVIDIA DKMS package
ii  nvidia-driver-545                             545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA driver metapackage
ii  nvidia-firmware-545-545.29.06                 545.29.06-0ubuntu0.23.10.2              amd64        Firmware files used by the kernel module
rc  nvidia-kernel-common-535                      535.154.05-0ubuntu0.23.10.1             amd64        Shared files used with the kernel module
ii  nvidia-kernel-common-545                      545.29.06-0ubuntu0.23.10.2              amd64        Shared files used with the kernel module
rc  nvidia-kernel-common-550                      550.40.07-0ubuntu0~gpu23.10.2           amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-545                      545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA kernel source package
ii  nvidia-prime                                  0.8.17.2                                all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                               510.47.03-0ubuntu1                      amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-545                              545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA driver support binaries
ii  screen-resolution-extra                       0.18.3                                  all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-545                 545.29.06-0ubuntu0.23.10.2              amd64        NVIDIA binary Xorg driver

Thanks for your support.

Something is dearly broken with your system, unrelated to 32/64bit, it’s using software-rendering (llvm).
Please create a new nvidia-bug-report.log right after reboot.
Did you run it on xorg or wayland?

Since you said “old amd R7”, do you happen to have the amd gpu pro downloadable driver installed? If so, please uninstall, it’s breaking the linux graphics stack so no other gpu than an amd will ever work.

Ah, sorry, I was doing that from Wayland.
Here are the results running the same programs on X11.

glxinfo pre-installed
$ glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8188 MB
    Total available memory: 8188 MB
    Currently available dedicated video memory: 7506 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4060 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 545.29.06
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 545.29.06
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 545.29.06
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
glxinfo 32bit
$ ./glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8188 MB
    Total available memory: 8188 MB
    Currently available dedicated video memory: 7542 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4060 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 545.29.06
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 545.29.06
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 545.29.06
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

And here’s a new bug report dump:
nvidia-bug-report.log.gz (578.2 KB)

Thanks for your support.

No, I didn’t have any manually installed AMD GPU drivers installed previously.

This may be helpful in that regard:

$ dpkg -l | grep amdgpu
ii  libdrm-amdgpu1:amd64                          2.4.115-1                               amd64        Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  libdrm-amdgpu1:i386                           2.4.115-1                               i386         Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  xserver-xorg-video-amdgpu                     23.0.0-1                                amd64        X.Org X server -- AMDGPU display driver

Everything looks fine, then. TR2013 native is outright crashing for me now but the Windows version forcing proton 8.0.5 in Steam works fine, 144 fps vsync’d. So there’s no general issue with that. Does TR2013 show up in the nvidia-smi process list when started?

hey denis i had similiar issues with your setup but on a 3050ti and liqourix kernel notebook.

did you actually reset steam (kill everything in “.steam”-folder exept: common, compatdata and all the games appmanifest_*.acf’s (so you don’t have to download them again)) once to eliminate any “dead-files”, “pfx” or “cache” - related issues? i just did it today and it “cleaned up” a couple things wich became more and more broken on that whole steam-plattform (i.e. games suddenly won’t start anymore). it seems thinkering with startoptions aso. confuses those wineprefixes a bit ;)

i also had to kill shadercache a couple times in between driver switching for some reason. maybe that could help you in the first place already.

good luck!
fab

I don’t really want to play around with Proton, as the game is supposed to work fine natively. Just as the “Rise of the Tomb Rider” which is reported to have a perfect native support for Linux, but for me it doesn’t even start with no error message or any indication of what went wrong.

FYI the TR2013 works perfectly on NVIDIA driver 535 on my system. But I can’t keep using that driver because when not playing games I experience black flickering issue on top of the screen, which appears very frequently. With 545 it appears sometimes on X11, but much less frequently. Maybe the solution would be to rollback to 535 and just don’t use X11 for anything except games? I’ll give it a go.

All that complexity around NVIDIA drivers is just something I didn’t want to deal with as a normal Linux user. I wonder if there’s a list of the best GPUs for Linux somewhere, which I could reference to replace this GPU with other, which won’t cause any problems? I couldn’t find one myself, unfortunately.