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.
I think a dev for Factorio discussed this issue on Brodie Robertson’s podcast.
Assuming that this is the episode and the Factorio dev post that references, I think that that’s a different issue. That dev also was using Sway under Wayland, but was talking about how Factorio apparently doesn’t immediately update the drawable area on window size change – it takes three frames, and Sway was making this very visible.
I’d guess that he’s maybe using double- or triple-buffering at the SDL level or something like that.