Hi everyone,
We have been experiencing synchronisation issues when trying to run Vulkan programs on our Quadro SLI comps.
We have 2 systems - Dual P6000s in SLI Mosaic and one 3x K6000s in SLI Mosaic - and are seeing the sync problem on both. It seems like it is a driver issue.
Dual P6000s
- Frame-locked to each other using Quadro Sync II cards
- Single monitor out for each card
- 1x2-screen desktop configured with SLI Mosaic
3x K6000s Setup
- Quadro Sync card used to sync cards
- 6x2-screen desktop configured with SLI Mosaic
OS & Software
- Both systems run Gentoo Linux with kernel v5.4
- We are using v455.28 of the nvidia-drivers (installed through Gentoo’s package manager
portage
)- we tried other driver versions: 455.45.01, 455.38, 450.80.02, and 440.66.17 from this post.
vkcube
ran under 440.66.17 but was frames were stuttering and not usable
- we tried other driver versions: 455.45.01, 455.38, 450.80.02, and 440.66.17 from this post.
- Vulkan Headers 1.2.143 from
portage
- Running KDE 5.19
Replicating the Issue
When we run a Vulkan program like vkcube
, the viewport is shown, the first frame is rendered, then the desktop locks up for 1-5 seconds but the cursor still moves. When the desktop is responsive again, the window can’t be closed by clicking on the ‘X’, it only responds to a a kill signal or ^C
in the terminal. The program then takes over 15 seconds to close.
When using VK_PRESENT_MODE_IMMEDIATE_KHR
, the first frame is shown before locking up. When using VK_PRESENT_MODE_FIFO_KHR
, no frames are rendered before the desktop locks up.
Occasionally, the computer will lock up and an nvidia-irq
process will be running at 100% cpu and unkillable. Sometimes the comp will lock up completely requiring a reboot.
When trying to run Unreal Engine using their Vulkan renderer, the program always crashes with a VK_ERROR_DEVICE_LOST
error. Changing the present mode didn’t change the error.
Attempted Workarounds
-
This issue seemed related to Hangs/Freezes when Vulkan v-sync (VK_PRESENT_MODE_FIFO_KHR) is enabled. I tried out the suggestion of using nvidia-xrun to launch a program without a window manager and was able to run
vkcube
and Unreal Engine builds successfully. -
I recabled the comps in the Dual P6000 system so monitor output to use one gpu only. The other gpu was idle.
vkcube
and Unreal Engine ran fine under this setup
Hopefully this issue can be replicated and can be fixed in future driver releases. Until then is there anything else I can do to get Vulkan programs running on our Quadro SLI Mosaic systems?
Thanks!