New issue (separate from #94, unrelated to the input fixes — those are all working great now): games render transparently (invisible) in fullscreen/borderless when launched under yserver.
Steps to reproduce:
Launch a game via Steam (tested with Warframe, but happens with other launchers too) under a Cinnamon session on yserver.
Game window appears normally for 1–2 seconds.
Window becomes fully transparent — only the desktop wallpaper is visible underneath.
Game audio and interaction sounds continue normally — the game is clearly running and responding.
Alt+Tab shows the correct game content in the window switcher/thumbnail.
Switching the game to windowed mode makes it render correctly again. Borderless fullscreen and exclusive fullscreen both show the transparency bug.
What's notable in the logs: nothing. The Steam/Proton terminal output for the whole session is completely clean — no X errors, no Vulkan/swapchain errors, no crashes; the game process runs and exits normally. This suggests the game's swapchain is presenting frames fine, but something in the compositor/presentation path isn't picking them up for on-screen display once the window goes fullscreen/borderless — while off-screen consumers of the window's contents (Alt+Tab thumbnails, which read via Composite redirection) still see the correct image.
My best guess as a non-expert: this smells like the fullscreen-unredirect optimization (where the compositor stops redirecting a fullscreen window to let it scan out directly) leaving the window in a state where it's unredirected but not actually receiving scanout/presentation — so the screen just shows whatever was underneath (desktop wallpaper).
Additional data point: tested AntonBlast (a non-Vulkan indie game, launched via Heroic/Proton) in fullscreen — renders correctly, no transparency issue.
This narrows it down: the transparency bug only reproduces with games that use a Vulkan swapchain for presentation (Warframe goes through vkd3d-proton/DXVK even though the original API isn't Vulkan). A non-Vulkan game using a different presentation path (wined3d/GDI-style) is unaffected.
This points more specifically at the Vulkan WSI presentation path over X11 — likely something in how yserver implements the PRESENT extension (which Vulkan's X11 WSI backend uses via xcb_present_pixmap/vkQueuePresentKHR) or DRI3 buffer handoff, rather than a general compositor/unredirect issue affecting all fullscreen windows.
New issue (separate from #94, unrelated to the input fixes — those are all working great now): games render transparently (invisible) in fullscreen/borderless when launched under yserver.
Steps to reproduce:
Launch a game via Steam (tested with Warframe, but happens with other launchers too) under a Cinnamon session on yserver.
Game window appears normally for 1–2 seconds.
Window becomes fully transparent — only the desktop wallpaper is visible underneath.
Game audio and interaction sounds continue normally — the game is clearly running and responding.
Alt+Tab shows the correct game content in the window switcher/thumbnail.
Switching the game to windowed mode makes it render correctly again. Borderless fullscreen and exclusive fullscreen both show the transparency bug.
What's notable in the logs: nothing. The Steam/Proton terminal output for the whole session is completely clean — no X errors, no Vulkan/swapchain errors, no crashes; the game process runs and exits normally. This suggests the game's swapchain is presenting frames fine, but something in the compositor/presentation path isn't picking them up for on-screen display once the window goes fullscreen/borderless — while off-screen consumers of the window's contents (Alt+Tab thumbnails, which read via Composite redirection) still see the correct image.
My best guess as a non-expert: this smells like the fullscreen-unredirect optimization (where the compositor stops redirecting a fullscreen window to let it scan out directly) leaving the window in a state where it's unredirected but not actually receiving scanout/presentation — so the screen just shows whatever was underneath (desktop wallpaper).
Additional data point: tested AntonBlast (a non-Vulkan indie game, launched via Heroic/Proton) in fullscreen — renders correctly, no transparency issue.
This narrows it down: the transparency bug only reproduces with games that use a Vulkan swapchain for presentation (Warframe goes through vkd3d-proton/DXVK even though the original API isn't Vulkan). A non-Vulkan game using a different presentation path (wined3d/GDI-style) is unaffected.
This points more specifically at the Vulkan WSI presentation path over X11 — likely something in how yserver implements the PRESENT extension (which Vulkan's X11 WSI backend uses via xcb_present_pixmap/vkQueuePresentKHR) or DRI3 buffer handoff, rather than a general compositor/unredirect issue affecting all fullscreen windows.