forked from ValveSoftware/steamos-compositor
-
Notifications
You must be signed in to change notification settings - Fork 304
Open
Description
Is there an existing issue for this?
- I have searched the existing issues
Are you using any gamescope patches or a forked version of gamescope?
- The issue occurs on upstream gamescope without any modifications
Current Behavior
When playing Spongebob Titans of the Tide on Steam OS on gamescope, the splash screen displays correctly but the main menu halfway moved offscreen and stretched from a weird resolution.
Images explain the problem better:
Running the same game on the SteamDeck display in desktop mode (so on KDE), it works correctly:
Steps To Reproduce
- Run Spongebob Titans of the Tide on the Steam Deck in the Gamescope session on the Deck itself (with no extra display attached). If it doesn't happen on the very first run, restart the game. It happens consistently every time for me.
Hardware information
- Distro: SteamOS SteamOS 3.7.17 (Build 20251027.1)
- CPU/GPU: SteamDeck
- Driver Version: Mesa 24.3.4 (git-8d0948917e)Software information
- Session type: Non-nested
- Gamescope version: whatever ships on SteamOS 3.7.17 (Build 20251027.1)Which gamescope backends have the issue you are reporting?
- Wayland (default for nested gamescope)
- DRM (default for embedded gamescope, i.e. gamescope-session)
- SDL
- OpenVR
Logging, screenshots, or anything else
Whats noticable from logs is:
KDE
7832.792:0170:0174:trace:seh:RtlRestoreContext returning to 00006FFFFFED454A stack 0000000000B9F460
info: Setting display mode: 1280x800@60
info: Setting display mode: 1280x800@60
7833.005:0170:0174:fixme:vkd3d-proton:dxgi_vk_swap_chain_SetGammaControl: iface 000000002ea2c230, NumControlPoints 1024, pControlPoints 00000000014a1bb0 stub!
info: Setting display mode: 1280x720@60
info: Setting display mode: 1280x720@60
7833.151:0170:0174:info:vkd3d-proton:dxgi_vk_swap_chain_ChangeProperties: Reallocating swapchain (1280 x 720), BufferCount = 3.
Gamescope
7434.953:016c:0170:trace:seh:RtlRestoreContext returning to 00006FFFFFED454A stack 0000000000B9F460
info: Setting display mode: 1920x1080@60
info: Setting display mode: 1920x1080@60
7435.120:016c:0170:fixme:vkd3d-proton:dxgi_vk_swap_chain_SetGammaControl: iface 000000002f7b2980, NumControlPoints 1024, pControlPoints 00000000014a2140 stub!
info: Setting display mode: 800x600@60
info: Setting display mode: 800x600@60
7435.198:016c:0170:info:vkd3d-proton:dxgi_vk_swap_chain_ChangeProperties: Reallocating swapchain (800 x 1280), BufferCount = 3.
[Gamescope WSI] Destroying swapchain: 0x7f4bd0105ff0
[Gamescope WSI] Destroyed swapchain: 0x7f4bd0105ff0
[Gamescope WSI] Creating swapchain for xid: 0x2400066 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_A2B10G10R10_UNORM_PACK32 - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true
[Gamescope WSI] Created swapchain for xid: 0x2400066 swapchain: 0x7f4bd0105ff0 - imageCount: 3
Display modes DXVK reports to the application:
warn: Display mode 25: 1440x960 Refresh rate: 60000/1000 Format: 24
warn: Display mode 26: 1440x1080 Refresh rate: 60000/1000 Format: 24
warn: Display mode 27: 1600x900 Refresh rate: 60000/1000 Format: 24
warn: Display mode 28: 1680x1050 Refresh rate: 60000/1000 Format: 24
warn: Display mode 29: 1920x800 Refresh rate: 60000/1000 Format: 24
warn: Display mode 30: 1920x1080 Refresh rate: 60000/1000 Format: 24
The 800x1280 display mode logged by vkd3d-Proton looks especially weird to me. It doesn't show up in the display modes reported by DXVK. It's also the unrotated display mode for some reason?
It also shows up in the Wine X11drv logging:
0170:trace:x11drv:X11DRV_WindowPosChanging hwnd 0x100dc, swp_flags 0x1833, shaped 0, rects { window (0,0)-(1920,1080), client (0,0)-(1920,1080), visible (0,0)-(1920,1080) }
0170:trace:x11drv:X11DRV_WindowPosChanged win 0x100dc/2600001 new_rects { window (0,0)-(1920,1080), client (0,0)-(1920,1080), visible (0,0)-(1920,1080) } style 94000000 flags 00001833 fullscreen 1
0170:trace:x11drv:window_set_config window 0x100dc/2600001, requesting config (0,0)-(1920,1080) above 1 mask 0x40, serial 214
0170:trace:x11drv:set_mwm_hints 0x100dc setting mwm hints to 26,0 (style 94000000 exstyle 40008)
0170:trace:x11drv:set_mwm_hints 0x100dc setting mwm hints to 26,0 (style 94000000 exstyle 40008)
11325.400:016c:0170:fixme:vkd3d-proton:dxgi_vk_swap_chain_SetGammaControl: iface 000000002f768d10, NumControlPoints 1024, pControlPoints 00000000078d3430 stub!
0170:trace:x11drv:X11DRV_WindowPosChanging hwnd 0x100dc, swp_flags 0x1817, shaped 0, rects { window (0,0)-(1920,1080), client (0,0)-(1920,1080), visible (0,0)-(1920,1080) }
0170:trace:x11drv:X11DRV_WindowPosChanged win 0x100dc/2600001 new_rects { window (0,0)-(1920,1080), client (0,0)-(1920,1080), visible (0,0)-(1920,1080) } style 94000000 flags 00001817 fullscreen 1
0170:trace:x11drv:set_mwm_hints 0x100dc setting mwm hints to 26,0 (style 94000000 exstyle 40008)
0170:trace:x11drv:X11DRV_WindowPosChanging hwnd 0x100dc, swp_flags 0x1416, shaped 0, rects { window (0,0)-(800,1280), client (0,0)-(800,1280), visible (0,0)-(800,1280) }
0170:trace:x11drv:X11DRV_WindowPosChanged win 0x100dc/2600001 new_rects { window (0,0)-(800,1280), client (0,0)-(800,1280), visible (0,0)-(800,1280) } style 94000000 flags 00001416 fullscreen 0
0170:trace:x11drv:window_set_config window 0x100dc/2600001, requesting config (0,0)-(800,1280) above 0 mask 0xc, serial 224
0170:trace:x11drv:set_mwm_hints 0x100dc setting mwm hints to 24,0 (style 94000000 exstyle 40008)
0170:trace:x11drv:window_set_mwm_hints window 0x100dc/2600001, requesting _MOTIF_WM_HINTS 24,0 serial 225
0170:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0x1010078 drawable 2600001 dc_rect (0,0)-(800,1280)
0170:trace:x11drv:X11DRV_ExtEscape SET_DRAWABLE hdc 0xe010079 drawable 2600001 dc_rect (0,0)-(800,1280)
0170:trace:x11drv:handle_state_change window 0x100dc/2600001 _MOTIF_WM_HINTS 24,0/225, expected 24,0/225
0170:trace:x11drv:X11DRV_WindowPosChanging hwnd 0x100dc, swp_flags 0x1416, shaped 0, rects { window (0,0)-(800,1280), client (0,0)-(800,1280), visible (0,0)-(800,1280) }
Full logs
Proton log on Gamescope with DXVK logging all display modes and WINEDEBUG=trace+x11drv
Metadata
Metadata
Assignees
Labels
No labels


