NeoDemo fails on nVidia hardware (Pop_OS 22.04)
philstopford opened this issue · comments
Running Pop_OS 22.04 fully up to date on a system with this nVidia hardware as the Primary GPU (xorg.conf)
GPU 0: NVIDIA GeForce RTX 3070 Laptop GPU (UUID: GPU-f9a04a24-9905-3fad-b0a7-47d34ccecc0f)
nvidia-smi yields:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.05 Driver Version: 525.85.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| N/A 43C P8 18W / 115W | 694MiB / 8192MiB | 34% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 3442 G /usr/lib/xorg/Xorg 421MiB |
| 0 N/A N/A 3549 G /usr/bin/kwin_x11 3MiB |
| 0 N/A N/A 3611 G /usr/bin/plasmashell 76MiB |
| 0 N/A N/A 3822 G /usr/bin/latte-dock 34MiB |
| 0 N/A N/A 7059 G ...RendererForSitePerProcess 40MiB |
| 0 N/A N/A 9758 G ...983906523381009797,131072 89MiB |
| 0 N/A N/A 15382 G ...RendererForSitePerProcess 16MiB |
| 0 N/A N/A 20972 G ...ug/NeoDemo/net6.0/NeoDemo 3MiB |
+-----------------------------------------------------------------------------+
With the code as of today, If I don't symlink /usr/lib/x86_64/libdl.so.2 the NeoDemo application runs, but Vulkan is grayed out (only OpenGL is available). Symlinking libdl.so.2 to libdl.so, which seems to be needed to have Vulkan detected, the demo tool crashes at start-up due to failing this check
if (!GetPresentQueueIndex(out _presentQueueIndex))
{
throw new VeldridException($"The system does not support presenting the given Vulkan surface.");
}
in public VkSwapchain(VkGraphicsDevice gd, ref SwapchainDescription description, VkSurfaceKHR existingSurface)
at veldrid/src/Veldrid/Vk/VkSwapchain.cs:line 71
Output of vulkaninfo is attached,
vulkan_info.txt
I don't really understand the cause of the failure; is there a way to fix this?