Present on Wayland with mailbox so an immediate present does not tear every monitor. #438
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!438
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/desktop-vsync"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
On Linux the bundled SDL opens an X11 window first. NVIDIA's X11 Vulkan surface has no mailbox mode, so the renderer picked an immediate present. On driver 615.78 that present turns vblank off for the whole GPU. Both monitors tore, including Chromium on the other one. Hyprland's tearing switch was off.
The game paces itself (
nn_vi.c), so the swapchain does not have to present immediately.Change
SDL_VIDEODRIVERstill wins when it is set.RX_VK_IMMEDIATE=1. With no mailbox the fallback is FIFO.RX_VK_FIFO=1still forces FIFO on either platform.Testing
RTX 2060 SUPER, NVIDIA 615.78, Hyprland 0.56.2, two 165 Hz monitors.
Before: an XWayland window,
swapchain 1916x1050, 4 images, immediate, tearing on both monitors.After: a native Wayland window,
swapchain 1916x1050, 4 images, mailbox, both outputs not tearing. The frame rate settled at 60 fps.RX_VK_FIFOandRX_VK_IMMEDIATEwere unset.Scope
host/posix/display_sdl.candgpu/vk/vk_main.cpponly.