Novum / vkQuake

Vulkan Quake port based on QuakeSpasm
GNU General Public License v2.0
1.85k stars 224 forks source link

instability/ lock ups with NVidia drivers when Vulkan/OpenGL present method set to auto ( prefer native ?) #715

Closed j4reporting closed 3 weeks ago

j4reporting commented 4 months ago

vkquake seems to have a tendency to freeze/hang when 3D setting for vkquake have the option Vulkan/OpenGL present method set to auto which is the default setting.
Not sure what really triggers this, Could be a race condition, though, because with a debug build "Breaking all" and "Continue" would unblock the program and it would continue.

all task_worker threads would be waiting for a semaphore

Not Flagged     12148   0   Worker Thread   Task_Worker SDL2.dll!00007ff8361a47e0
                        ntdll.dll!00007ff8ab570f94()
                        ntdll.dll!00007ff8ab534d7d()
                        ntdll.dll!00007ff8ab534c32()
                        ntdll.dll!00007ff8ab534943()
                        KernelBase.dll!00007ff8a8e432cf()
                        SDL2.dll!00007ff8361a47e0()
                        vkQuake.exe!SpinWaitSemaphore(SDL_semaphore * semaphore) Line 188
                        vkQuake.exe!TaskQueuePop(task_queue_t * queue) Line 239
                        vkQuake.exe!Task_Worker(void * data) Line 293
                        SDL2.dll!00007ff8360ea597()
                        SDL2.dll!00007ff8361a4cce()
                        ucrtbased.dll!00007ff813622d20()
                        kernel32.dll!00007ff8a96a7374()
                        ntdll.dll!00007ff8ab51cc91()

the last lock ups happened with the bonkjam map pack, but nothing really dramatic was going on during play.

The best option so far is to set the above option to `Prefer layered on DXGI Swapchain' does anyone has also expererienced such lock ups with nvidia drivers?

current driver version is 560.70

vsonnier commented 3 weeks ago

I've never seen this on my side, but it doesn't say much, given the combination of drivers / cards. I'm closing this, since it is not a reproducable enough case.

As a side note, I also switched to Prefer layered on DXGI Swapchain for all games : it gives the same performance for vkQuake, and on the other hand GZdoom (Vulkan) performs much better than native.