Open sonic2kk opened 4 months ago
From inspecting the blame, it seems the code logging this error, and its surrounding code, was introduced in ValveSoftware/wine@bd8ec8f264b5403f90bca6ecb26ae3170995ccd4 (relevant log line), which introduced support for _NET_WM_FULLSCREEN_MONITORS
hint.
I wonder if this is an Environment-specific issue. I will update my OP to note that I am running KDE Plasma Wayland.
Out of interest, I spot-checked a bunch of Proton versions, clearing the prefix each time, to see how older Proton versions worked in particular to see how versions before https://github.com/ValveSoftware/wine/commit/bd8ec8f264b5403f90bca6ecb26ae3170995ccd4 behaved. None worked unfortunately, although Proton 6.3-8 and below only show a black screen on my Linux Desktop. 7.0 onwards show minor artifacting.
Also, while these versions don't work, Proton 6.3-8 and below can enter fullscreen much faster with this game. Exiting fullscreen still takes some time though.
I tried in Steam Deck Desktop Mode (the only X11 session I have access to atm), and I was able to get the game to work.
If the game opens fullscreen, or if it opens windowed and is then fullscreened, the following log lines will be in the Proton log:
2911.776:012c:0130:trace:seh:dispatch_exception eax=887601c2 ebx=00000159 ecx=00000004 edx=00000000 esi=007bba14 edi=00000010
2911.776:012c:0130:trace:seh:dispatch_exception ebp=00b0e704 esp=00b0e698 cs=0023 ss=002b ds=002b es=002b fs=0063 gs=006b flags=00210283
2911.776:012c:0130:trace:seh:call_stack_handlers calling handler at 7BEE6270 code=c0000005 flags=0
2911.776:012c:0130:trace:seh:__regs_RtlUnwind code=c0000005 flags=2
2911.776:012c:0130:trace:seh:__regs_RtlUnwind eax=00000000 ebx=00000000 ecx=c0000005 edx=00b0e6ac esi=00b0e1e0 edi=00b0e230
2911.776:012c:0130:trace:seh:__regs_RtlUnwind ebp=00b0dfbc esp=00b0dfb4 eip=7becee52 cs=0023 ds=002b fs=0063 gs=006b flags=00200206
2911.776:012c:0130:trace:seh:__regs_RtlUnwind calling handler at 7BF9DA00 code=c0000005 flags=2
2911.776:012c:0130:trace:seh:__regs_RtlUnwind handler at 7BF9DA00 returned 1
2911.776:012c:0130:trace:seh:IsBadReadPtr 887601C2 caused page fault during read
2911.776:012c:0130:trace:seh:dispatch_exception code=c0000005 flags=0 addr=7BEDB107 ip=7bedb107
2911.776:012c:0130:trace:seh:dispatch_exception info[0]=00000000
2911.776:012c:0130:trace:seh:dispatch_exception info[1]=0000014d
2911.776:012c:0130:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
These appear repeatidly while the game is fullscreen and not working.
However, in Desktop Mode (and presumably any at least Plasma X11 session), tabbing out and back in will get the game to work when fullscreen. After this, the above repeated log section goes away,
So perhaps the issues reported above with Xinerama and _NET_WM_FULLSCREEN_MONITORS
is specific to XWayland (including Gamescope)?
I did not test the Wine Wayland backend yet, but out of morbid curiosity, I will be testing that tomorrow (since these errors from the OP are specific to x11drv in Wine).
I tested the Wayland backend with a build of the unofficial Proton-tkg based from Wine Master (proton_tkg_9.10.r0.g12bbb07c). It indeed started with Wayland (denoted by the alterantive window decorations and incorrect fractional scaling behaviour, and other elements indicative of Wine's current very early Wayland backend) but the game only rendered a black window in windowed mode, and when trying to fullscreen, it attempted to spread across two of my four monitors and then promptly crashed.
I noticed when doing additional troubleshooting, the error block shown on Plasma X11 on SteamOS are also appearing for Plasma Wayland.
I am not sure exactly then what is causing these issues, as Plasma X11 does eventually work, but Plasma Wayland does not. Unsure if Plasma X11 works because it's simply an older version on SteamOS (Plasma 5.27.10 versus Plasma 6.0.5) but still. Given that this issue also affects GameScope on SteamOS Game Mode as well as GameScope nested on my PC, I figure there is something deeper going on here.
Some other log lines that may be of interest may be:
uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002
oleacc:find_class_data unhandled window class: L"#32769"
uiautomation:base_hwnd_provider_GetPatternProvider 0000000000AD9BE0, 10002, 000000000192F8A0: stub
As of the new engine update, SeaBed now runs properly with Wine, but the Legacy branch that uses the old engine does not to my understanding.
Compatibility Report
System Information
I confirm:
steam-583090.log
Symptoms
When running the game Seabed fullscreen, the window turns black on SteamOS, and contains some artifacts on the Linux Desktop. Running the game in Windowed Mode appears to work fine.
Reproduction
If the game starts fullscreen, press Alt+Enter to exit fullscreen. Re-entering fullscreen will cause the window to render incorrectly once again.
When running in fullscreen, the Proton log appears to start spamming these two error lines repeatidly:
I am not an expert so I am unsure if these are related.
If the game is not fullscreen, the game appears to run fine from a brief test.