getsolus / packages

Solus Package Monorepo & Issue Tracker
66 stars 78 forks source link

Vulkan applications will not launch on fresh install with nVidia GPU #4060

Open mrcll24 opened 1 week ago

mrcll24 commented 1 week ago

Please confirm there isn't an existing open bug report

Summary

After a fresh install, vulkan applications would refuse to launch, but vulkaninfo reported the correct version and drivers. Flatpaks also did not work: launching them from the console gave the error vkGetPhysicalDeviceSurfaceCapabilitiesKHR VK_ERROR_UNKNOWN (-13) or just simple segfaults. The problem can be fixed by manually adding the user to the video group. The graphics drivers (nvidia) along with the vulkan packages were installed with doflicky.

Steps to reproduce

  1. Install Solus using the Gnome installer
  2. Update using Software Center
  3. Install nvidia drivers and vulkan with doflicky

Expected result

The user is added automatically to the video group.

Actual result

The user needs to be added to the video group manually.

Environment

Repo

Shannon (stable)

Desktop Environment

GNOME

System details

System: Host: solus Kernel: 6.10.13-304.current arch: x86_64 bits: 64 Desktop: GNOME v: 46.5 Distro: Solus 4.5 resilience Machine: Type: Desktop Mobo: Micro-Star model: MAG Z690 TOMAHAWK WIFI DDR4 (MS-7D32) v: 1.0 serial: UEFI: American Megatrends LLC. v: 1.00 date: 09/29/2021 CPU: Info: 12-core (8-mt/4-st) 12th Gen Intel Core i7-12700K [MST AMCP] speed (MHz): avg: 800 min/max: 800/4900:5000:3800 Graphics: Device-1: Intel AlderLake-S GT1 driver: i915 v: kernel Device-2: NVIDIA GA103 [GeForce RTX 3060 Ti] driver: nvidia v: 560.35.03 Display: wayland server: X.Org v: 24.1.3 with: Xwayland v: 24.1.3 compositor: gnome-shell driver: X: loaded: modesetting,nvidia dri: iris gpu: nvidia,nvidia-nvswitch resolution: 1: 2560x1440~144Hz 2: 1080x1920~60Hz API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 560.35.03 renderer: NVIDIA GeForce RTX 3060 Ti/PCIe/SSE2 Network: Device-1: Intel Alder Lake-S PCH CNVi WiFi driver: iwlwifi Device-2: Intel Ethernet I225-V driver: igc Drives: Local Storage: total: 2.27 TiB used: 893.3 GiB (38.4%) Info: Memory: total: 32 GiB note: est. available: 31.14 GiB used: 4 GiB (12.8%) Processes: 459 Uptime: 4h 50m Shell: Bash inxi: 3.3.36

Other comments

No response

joebonrichie commented 6 days ago

On nvidia there is currently an issue where you have to login to the xorg server first then login to wayland for vulkan on wayland to correctly function.

mrcll24 commented 6 days ago

After some testing it seems that installing the nvidia drivers from the .run file completely fixes this problem. I also noticed that after adding my user manually to the video group, vulkan applications started working again until I shut the system down. After restarting it was back to being broken, but launching some kind of vulkan app with sudo (e.g vkcube), also seems to fix the problem, as everything works without needing to launch gnome with xorg.

Staudey commented 6 days ago

launching some kind of vulkan app with sudo (e.g vkcube), also seems to fix the problem

Huh, very interesting. Thanks for that tidbit.

Note that manually installed nvidia drivers will break on kernel updates so this is not recommended.

TraceyC77 commented 6 days ago

Original title: "The user created by the installer is not in the video group"

The user is added to the video group by default on the Plasma and Gnome spins during install, in 4.6 That looks tangential to the actual issue since that only worked temporarily

I can confirm that flatpaks run fine for me in VMs (which use the virtual GPU), I installed and ran WezTerm on Plasma and Gnome with the user in the video group

The problem may stem from the nVidia drivers and Vulkan I'll note that WezTerm also opens for me on my host machine, with an nVidia card (it has other Vulkan issues)

mrcll24 commented 6 days ago

It seems that not every flatpak app crashes before using sudo vkcube. Spotify and electron based apps launch and run just fine, but Flatseal refuses to launch:

(process:3698): flatpak-WARNING **: 20:20:21.220: Error writing credentials to socket: Error sending message: Broken pipe
(com.github.tchx84.Flatseal:2): Gdk-WARNING **: 20:20:22.779: vkGetPhysicalDeviceSurfacePresentModesKHR(): An unknown error has occurred; either the application has provided invalid input, or an implementation failure has occurred. (VK_ERROR_UNKNOWN) (-13)

Another thing I noticed, which might be related, is that selecting xorg in gdm only outputs an image on my intel iGPU. When I launch gnome on xorg using the nvidia card, I get the motherboard's splash screen. If I then connect my display to the motherboard directly, everything works. Both GPUs work on wayland.

The system is running on bare metal.

Staudey commented 6 days ago

btw are you absolutely positive your user was not part of the video group (and how did you confirm it)? Because I don't see that on a single system/VM of mine

mrcll24 commented 6 days ago

Before discovering about the sudo workaround, I could only get vulkan to work by manually adding my user to the video group, though it did not work every time. I am not entirely sure that user was not part of the group, but after adding the user flatpaks stopped crashing.

mrcll24 commented 6 days ago

After doing a clean install of the system, the user is indeed part of the video group. Using the sudo workaround also fixes vulkan but re-adding the user does not anymore, so the user not being part of the video group before, was an error on my end.