I use sway in Wayland, and tend to keep games on a separate workspace.
In X11, with i3, I’d frequently switch away from the game and leave it running when something was loading or progression was required, and do something else while waiting. In Wayland, pretty much every game would suspend while viewing another workspace, which drove me bananas. I assumed that this was toggleable functionality, but couldn’t find where the toggle was.
Today, I finally ran across an answer to this and wanted to highlight it for anyone else who dislikes this behavior. By default, if a window is not visible, rendering will block. Setting the vk_xwayland_wait_ready=false
environment variable will disable this functionality.
Additional clarification – this is for Xwayland, the X11 emulation layer in Wayland.
If you have a Wayland-native game (i.e. it doesn’t show up in
xlsclients
output when running) then you may have vsync on for the game, which will also cause it to suspend in sway when on another workspace.