Sorry for the belated update guys, and thank you for your help so far (I’ve been bragging about how friendly the EndeavourOS community is). I finally got some time to look at this again now that the holidays have rolled around.
When I launch the steam flatpak and it reports the GPU topology, I get the following:
Running query: 1 - GpuTopology
Response: gpu_topology {
gpus {
id: 1
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 2
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 3
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 4
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 5
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 6
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 7
name: "llvmpipe (LLVM 21.1.7, 256 bits)"
vram_size_bytes: 3221225472
driver_id: k_EGpuDriverId_MesaLLVMPipe
driver_version_major: 25
driver_version_minor: 2
driver_version_patch: 6
luid: 0
}
default_gpu_id: 1
}
When I launch steam from the arch repository, it reports the following:
Running query: 1 - GpuTopology
Response: gpu_topology {
gpus {
id: 1
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
gpus {
id: 2
name: "NVIDIA GeForce RTX 3090"
vram_size_bytes: 26027753472
driver_id: k_EGpuDriverId_NvidiaProprietary
driver_version_major: 590
driver_version_minor: 48
driver_version_patch: 1
luid: 0
}
default_gpu_id: 1
}
So the other day, I launched a system update before heading to the shower. I can’t remember whether I’d heard about arch switching to the nvidia-open drivers before then. But while it was downloading and running this stuff, I jumped in the shower. When I got back, my screen had somehow into systemd-boot mode that you can sometime see if you have your computer go to sleep and wake it up or if you log out. Since I’m not all that familiar with what I can do in this mode, I just pressed control + C a few times after it seemed to be stuck and that got me back into the login screen. The screen was rendering some crazy highly saturated colors. When I tried to rerun the system updatte, it told me there was a db.lck, indicating the updates did not finish exiting gracefully. So I removed the file and ran the update and it basically reported there was nothing for it to do. So I decided to reboot the system to see if the weird screen rendering would get fixed on reboot. So, when I rebooted, I learned that the systemd-boot endeavouros kernel entries were gone. So I downloaded the new Ganymede ISO and archrooted into my system. I uninstalled steam, zed (editor), nvidia-settings, nvidia-open-dkms, lib32-nvidia-utils, and nvidia-utils.
I then installed nvidia-open, xorg-server-devel (since it listed it as an optional dependency that sounded like it could be useful), nvidia-settings, lib32-nvidia-utils, and I tried to unstall lib32-nvidia-vulkan-utils but it didnt’ work.
I then for good measure ran dracut-rebuild and reinstall-kernels.
After rebooting and entering my system, I re-installed steam, zed, eslint, pyright, gamescope, gamemode, and lib32-game mode.
When I run nvidia-inst --test --remove-nothing, I get the following output:
2025-12-27 17:49:55: Info: 09:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1) (prog-if 00 [VGA controller])
43:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1) (prog-if 00 [VGA controller])
2025-12-27 17:49:55: Info: Currently installed packages related to Nvidia:
2025-12-27 17:49:56: cuda 13.1.0-1
2025-12-27 17:49:56: cudnn 9.17.1.4-1
2025-12-27 17:49:56: egl-gbm 1.1.2.1-1
2025-12-27 17:49:56: egl-wayland 4:1.1.21-1
2025-12-27 17:49:56: egl-wayland2 1.0.0.rc.r51.gada1c37-1
2025-12-27 17:49:56: egl-x11 1.0.4-1
2025-12-27 17:49:56: ffnvcodec-headers 13.0.19.0-1
2025-12-27 17:49:56: lib32-libvdpau 1.5-3
2025-12-27 17:49:56: lib32-nvidia-utils 590.48.01-1
2025-12-27 17:49:56: libnvidia-container 1.18.1-1
2025-12-27 17:49:56: libvdpau 1.5-3
2025-12-27 17:49:56: libxnvctrl 590.48.01-1
2025-12-27 17:49:56: linux-firmware-nvidia 20251125-2
2025-12-27 17:49:56: nccl 2.28.9-2
2025-12-27 17:49:56: nvidia-container-toolkit 1.18.1-1
2025-12-27 17:49:56: nvidia-hook 1.5.3-1
2025-12-27 17:49:56: nvidia-inst 25.12-1
2025-12-27 17:49:56: nvidia-open 590.48.01-3
2025-12-27 17:49:56: nvidia-settings 590.48.01-1
2025-12-27 17:49:56: nvidia-utils 590.48.01-1
2025-12-27 17:49:56: opencl-nvidia 590.48.01-1
2025-12-27 17:49:56: Info: inxi -Gza
Graphics:
Device-1: NVIDIA GA102 [GeForce RTX 3090] vendor: ZOTAC driver: nvidia
v: 590.48.01 alternate: nouveau,nvidia_drm non-free: 550-580.xx+
status: current (as of 2025-11; EOL~2026-12-xx) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 1 speed: 2.5 GT/s
lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: none empty: DP-1,
DP-2, DP-3, HDMI-A-1 bus-ID: 09:00.0 chip-ID: 10de:2204 class-ID: 0300
Device-2: NVIDIA GA102 [GeForce RTX 3090] vendor: ZOTAC driver: nvidia
v: 590.48.01 alternate: nouveau,nvidia_drm non-free: 550-580.xx+
status: current (as of 2025-11; EOL~2026-12-xx) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 1 speed: 2.5 GT/s
lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: DP-5,DP-6
empty: DP-4,HDMI-A-2 bus-ID: 43:00.0 chip-ID: 10de:2204 class-ID: 0300
Device-3: EVGA XR1 Pro Capture Box Video
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB rev: 3.0
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-2.3:8
chip-ID: 3842:310b class-ID: 0300 serial: <filter>
Display: wayland server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9
compositor: kwin_wayland driver: X: loaded: nvidia unloaded: modesetting
alternate: fbdev,nouveau,nv,vesa gpu: nv_platform,nvidia,nvidia-nvswitch
d-rect: 5360x2640 display-ID: 0
Monitor-1: DP-5 pos: primary,top-left model: Dell U2412M serial: <filter>
built: 2012 res: mode: 1920x1200 hz: 60 scale: 160% (1.6) to: 1200x1920
dpi: 94 gamma: 1.2 size: 518x324mm (20.39x12.76") diag: 611mm (24.1")
ratio: 16:10 modes: max: 1920x1200 min: 640x480
Monitor-2: DP-6 pos: bottom-r model: Dell AW3423DW serial: <filter>
built: 2022 res: mode: 3440x1440 hz: 175 scale: 100% (1) dpi: 108 gamma: 1.2
size: 810x350mm (31.85x13.94") diag: 883mm (34.8") modes: max: 3440x1440
min: 640x480
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 1
drv: nvidia device: 4 drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia
wayland: drv: nvidia x11: drv: nvidia inactive: device-2,device-3
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 25.3.2-arch1.1
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3090/PCIe/SSE2
memory: 23.44 GiB display-ID: :1.0
API: Vulkan v: 1.4.335 layers: 7 device: 0 type: discrete-gpu
name: NVIDIA GeForce RTX 3090 driver: nvidia v: 590.48.01
device-ID: 10de:2204 surfaces: N/A device: 1 type: discrete-gpu
name: NVIDIA GeForce RTX 3090 driver: nvidia v: 590.48.01
device-ID: 10de:2204 surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: nvidia-settings,nvidia-smi
wl: wayland-info x11: xdpyinfo, xprop, xrandr
2025-12-27 17:49:59: Info: nvidia-inst version 25.12-1
2025-12-27 17:49:59: Info: Command line: nvidia-inst --test --remove-nothing
2025-12-27 17:49:59: Info: Selected mode: nvidia (Nvidia's open source)
2025-12-27 17:49:59: Note: Package nvidia-settings is set for install but it is installed already.
2025-12-27 17:49:59: Note: Package lib32-nvidia-utils is set for install but it is installed already.
2025-12-27 17:49:59: Note: Package nvidia-hook is set for install but it is installed already.
2025-12-27 17:49:59: Info: Installing packages: nvidia-open-dkms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMMANDS TO RUN:
pacman -Syuq --noconfirm --noprogressbar --needed nvidia-open-dkms
So even before the system upgrade snafu I was able to get the steam flatpak to read my Steam library saved to another NVMe drive, the same copy that I’m trying to run using native steam from Arch’s repository. Even with the nvidia-open-dkms package, I had Final Fantasy VII remake running at 90+ fps in engine launched from steam flatpak, while I only ever got 2-4 fps in the game menu launching from the native steam package.
Today, after I replaced nvidia-open-dkms with nvidia-open, native steam downloaded the shader cache, and after steam flatpak processed the shaders, it was running at that 90+ fps. Meanwhile with native arch steam, whether I use gamemoderun or not, I’m getting only 2-4 fps in the game menu. Remember in the both the flatpak and arch repository steam, I have the flag set to have it use the DirectX 11 api instead of DirectX 12. Flatpak steam is set to use gamemoderun in its launch command.
So one thing I noticed from the flatpak gpu topology report was that it listed llvmpipe as a driver. This left me with the idea that maybe whatever picks the Vulkan or OpenGL driver might be picking a software rendering one? I don’t know. Each of these is always an opportunity to learn more about how Linux and operating systems work.