ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.88k stars 1.04k forks source link

CrossCode (368340) #2818

Open ghost opened 5 years ago

ghost commented 5 years ago

Compatibility Report

System Information

I confirm:

crosscode-3.16-4-steam-368340.log crosscode-4.2-7-steam-368340.log

Symptoms

Possible regression(s) in Proton 4.2-7 as it has far more trouble starting the game than 3.16-4. In the best case with Proton 3.16-4, the game runs and plays but then shortly (within 2 minutes or so) closes the game window and continues to stay running in Steam until process is manually ended.

Logs contain far too many fixme's and files not found. Too many errors.

4.2-7 also may need a start from the terminal but complains about missing openvrpaths.vrpath file which creating one (non-empty internet search for contents) may have improved starting of game (but still worse than 3.16-4).

Reproduction

Install and then play

Leopard1907 commented 5 years ago

That game has a native Linux version available on Steam.

ghost commented 5 years ago

That game has a native Linux version available on Steam.

It shows various problems that exist in Wine/Proton which is why I made the post - its better to know than to not know.

If this reasoning fails to float your boat then I really can't do much about that. Either way, I also agree that its native so as of this moment in time its not a great big deal.

However, the version of Proton that does work for a brief moment also seems to fix a fairly bad problem that the native version has and nothing else I can find does and so in this case Proton would be better than native which is also something that happens if you need additional reasoning beyond the above. Proton has its problems but then so does native :-)

ghost commented 5 years ago

Proton 4.2-9 log (start Steam and game from terminal) as additional reference.

steam-368340.log

ghost commented 5 years ago

4.11-1 possible regression, game can no longer even start by Proton defaults:

VK_ERROR_OUT_OF_DATE_KHR

Possibly then

[0730/210652.174:ERROR:http_transport_win.cc(175)] WinHttpCrackUrl: error 0x13d while retrieving error 0x2ee6

steam-368340.log (4.11-1 no command line options)

Seemingly pointless workaround PROTON_USE_WINED3D=1 (game still fails to start)

steam-368340.log (wined3d)

Scrumplex commented 2 years ago

Valve's Steam Deck testing decided to use Proton for this game, instead of the native Linux release. While this fixes the issue of Steam achievements not working with the native version, it introduced severe stuttering, which makes fast-paced games like this hard, if not annoying.

Trying to tell Steam, that I don't want Proton is pretty hard. Switching the game to use Steam Linux Runtime causes it to crash with this error:

/home/deck/.local/share/Steam/steamapps/common/CrossCode/CrossCode: symbol lookup error: /home/deck/.local/share/Steam/steamapps/common/CrossCode/lib/libnw.so: undefined symbol: cupsEnumDests

As a workaround, I copied libcups.so from the rootfs to CrossCode/lib which allowed me to launch the game. But now controller input didn't work at all.

So in summary, Proton launches and plays fine, but causes severe stuttering, Steam Linux Runtime launches, is smooth, but doesn't support controller input.

My final workaround was, to trick Steam into using no compatibility tool at all. I did that by writing my own compatibility tool, that just launches the game as is, without anything fancy. So for anyone having this problem, just download this very simple compatibility tool and extract it to ~/.steam/steam/compatibilitytools.d/. Then, in Steam, you can tell Steam to force the compatibility tool called "None" for the game.

Edit: I created a GitHub repo for this compatibility tool: https://github.com/Scrumplex/Steam-Play-None

Pluckerpluck commented 2 years ago

@Scrumplex THANK YOU! I was having this same issue. The game would crash exactly 6 minutes after launch (and I do mean exactly),

I wanted to just run it native, but the steam deck doesn't have an option for that (which is absolutely insane to me). Your "fake" compatibility tool is just perfect.

Valve really needs to add this option as base, allowing Proton to just be disabled if desired.

TheDukeofErl commented 2 years ago

That game has a native Linux version available on Steam.

It's worth nothing that if you're using NVIDIA hardware Proton is your only option for fullscreen. The native version of the game simply doesn't work in fullscreen whatsoever: it results in a not-so-rendered small rectangular region in the top left of the screen and full transparency everywhere else. I guess maybe someday it would be possible to use Gamescope to deal with this but right now using NVIDIA hinders that as an option as well.

You're more or less stuck with either windowed mode in native or poor, stuttery performance with Proton.

hitsounds commented 1 year ago

That game has a native Linux version available on Steam.

It's worth nothing that if you're using NVIDIA hardware Proton is your only option for fullscreen. The native version of the game simply doesn't work in fullscreen whatsoever: it results in a not-so-rendered small rectangular region in the top left of the screen and full transparency everywhere else. I guess maybe someday it would be possible to use Gamescope to deal with this but right now using NVIDIA hinders that as an option as well.

You're more or less stuck with either windowed mode in native or poor, stuttery performance with Proton.

You can fix this issue with a command line flag.

If you are using wayland the flags --enable-features=UseOzonePlatform --ozone-platform=wayland make the game run as a native wayland application and fixes the aforementioned nvidia fullscreen bug.

If using xwayland (and presumably this would work on X11) I've found either --use-angle=vulkan or --use-gl=egl to fix the fullscreen bug.

TheDukeofErl commented 1 year ago

If using xwayland (and presumably this would work on X11) I've found either --use-angle=vulkan or --use-gl=egl to fix the fullscreen bug.

I can confirm that --use-angle=vulkan fixes the fullscreen bug for me with NVIDIA hardware!