ValveSoftware / Proton

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

Helldivers (394510) #632

Open rdlf4 opened 6 years ago

rdlf4 commented 6 years ago

Helldivers has been installed flawlessly and runs via Steam Play. Clicking on PLAY makes the game show a warning, letting me know it has not reached the Steam server (as posted on this topic https://github.com/ValveSoftware/Proton/issues/162, post no. 6). Despite the network issue, Helldivers will not load the maps for each mission. After clicking on Play, go straight to the console command and Press E. It was supposed to load the mission available for each planet, but instead the game will force quit, closing itself out and returning to the desktop. I also tried 32-bit safe mode, which results the same.

My system specs: OS: Linux Mint 19 Tara 64-Bit Kernel: 4.15.0-33-generic Resolution: 1920 x 1080 Desktop Environment: MATE Window Manager: Compiz CPU: AMD FX 4100 @3.6 Ghz GPU: GeForce GTX 1050 driver 396.45 RAM: 5.8 GiB

===== Edited. Reason: Include system info and crash log. Steam System Info: https://gist.github.com/rdlf4/b77e018feb5104584927851c448f5a63 Crash dump (tracked down tailing /var/log/syslog): https://gist.github.com/rdlf4/049a93abb4a782849d44ca2522a90f3a

Cuddlypuff commented 6 years ago

same deal here, had the message saying it couldnt reach the network backend, and when I tried to access the missions in-game Helldivers crashed due to a buffer overflow (I was able to play though the whole tutorial without issues though - rendering, framerate, etc was flawless)

system info: https://gist.github.com/Cuddlypuff/a518019d119623d9a1b7552e284c1f6d terminal crash dump: https://gist.github.com/Cuddlypuff/9f505cae0547c8ea0c6a353a47447cc4

rdlf4 commented 5 years ago

Update: Following SleepProgger's post from another thread did resolve the multiplayer issue on Helldivers: https://github.com/ValveSoftware/Proton/issues/727#issuecomment-432495763 I suggest @Cuddlypuff to do the same. It's a workaround because Proton doesn't have/use libgnutls for some reason just yet. I tried it myself, it does work. But it's not all good news. 'A New Hell' update for Helldivers has made the game much more unstable, as far as I can tell. Fighting the bugs is just fine. However, when fighting the cyborgs, whether it's from a game that you have created or when you join someone else's game will freeze the game, guaranteed. Either that, or the game will randomly force-quit on you or it will fade into black prior to getting to the loading screen. It's just frustrating.

rdlf4 commented 5 years ago

I wish I could attach some output code from the terminal, but even launching Steam from the terminal gives me nothing after I've experienced those issues with Helldivers. Steam Play / Proton v3.16-4Beta

kisak-valve commented 5 years ago

Hello @rdlf4, you should be able to add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

Cuddlypuff commented 5 years ago

tried in 3.16-4 without @rdlf4 's suggested workaround (trying to keep my installs clean so I can properly report current status) - same behavior as last time, crashes when trying to access the missions

game also fails to reach the network backend on start

steam-394510.log

rdlf4 commented 5 years ago

I'm really sorry for the slow updates, I've been busy with my job. Anyways, lets just get to it. It's relatively easy to trigger a bug when playing Helldivers. The Screen freezing bug is the most annoying one. Think of a 25min+ gameplay and then this bug takes place right at the end of it. That's exactly what happened on this 2min video: https://youtu.be/cgodnFEgMeo

And this is the log @kisak-valve requested: steam-394510.log

Whatever procedures you guys would like to request in order to check for the game's behavior, just let me know and I'll make it happen.

kisak-valve commented 5 years ago

@rdlf4, your log contains eventfd: Too many open files, please run ulimit -Hn and verify it gives a high value and not 4096.

rdlf4 commented 5 years ago

@kisak-valve the first time I did it, it returned a high value. ulimitscrsh But now it returns 4096. So where do I go from here?

kisak-valve commented 5 years ago

It's odd that changed on you without adjusting anything. In any case, there's some info at https://github.com/zfigura/wine/blob/esync/README.esync on adjusting the limit system wide.

rdlf4 commented 5 years ago

@kisak-valve I followed your link. First I tried editing /etc/security/limits.conf. Restarted my session, but the Hard limit was still the same (4096), so I ended up editing /etc/systemd/system.conf and /etc/systemd/user.conf (by editing, I mean un-commenting the line that mentions 'DefaultLimitNOFILE='). After restarting my session (logged out and then back in), have a look at this: ulimit02 It seems only super user gets to benefit.

kisak-valve commented 5 years ago

You need to restart your session for changes to take effect.

rdlf4 commented 5 years ago

Hard limit seems to be fixed. And now the game just won't open. steam-394510.log EDIT: For comparison, Ultra SFIV does run just fine. So I'm attaching the log for this game: steam-45760.log

This is terminal's output when starting Steam from it (maybe it could help?). helldivers_terminal_output.log

Steam Play / Proton v3.16-4Beta

rdlf4 commented 5 years ago

I've tried uninstalling the game, leaving the beta, restarted Steam. Even Don't Starve won't open anymore, so I reinstalled it out of beta. Still no luck. Steam will either run all of my games with Proton or without it. So I was expecting the windows-based installer to have some kind of bug, which was triggering this weird behavior not only for Don't Starve but also for Helldivers. But because reinstalling those games and then trying to launch them in and out of Beta/Steam Play failed, I think that isn't a thing. @kisak-valve is there a thread on this? Whatever is causing page fault on read access is preventing Helldivers from launching.

rdlf4 commented 5 years ago

OK, so after digging deeper (searching for Steam using Synaptic, complete removal, and then manually removed the .steam directory from my home folder), I decided to ditch the steam version available on the store (for Linux Mint, which is the distro I'm currently using) and went with the one available on Steam's website. Installed and updated, after that I made sure there was no Steam Play-related options checked. (I did that to make sure Steam would not behave like it did before for games natively supported on Linux); It did great: games like Don't Starve, Crashlands and Euro Truck Simulator 2 started right out of the box. Next, I enabled Steam Play for supported titles and restarted it. Tried to launch all three games I mentioned before and they did great. But 'enable Steam Play for supported titles' does not get the job done. In Steam for Linux, you'll have to check the "Enable Steam Play for all titles" if you'd like to run windows games on Linux, which is a shame, really. I'd like to get Steam Play involved only for my windows-only games but oh well.. it is what it is. With that said, and with Steam Play for all titles enabled, another restart occurred. Tested all games. All did OK. Now, it's time to install Helldivers and see how it goes. (up to this point, you may have noticed I did not mention Proton -- that's because I haven't enabled it just yet, I wanted to take one step at a time). After Helldivers' dependencies were taken care of, the game will not launch, reproducing the same behavior. Now I'm desperate, so before I go for broke, I made sure this page fault thing does not affect the other games that were launching just fine. They run just fine. My final step: go back to settings, Steam Play, check 'Use this tool instead of game-specific selections from Steam': Proton 3.16-4 Beta. Restarted Steam. Downloaded another ~390MB for the game. I'm now hopeless. After the update has been downloaded, I clicked on Play, but the game will not launch. It only says running for a few secs, then syncs up and that's it :-(

EDIT #1: Helldivers only works if chosen to launch in 32-bit safe mode. EDIT #2: Because Helldivers doesn't have online multiplayer working without a workaround, that step was necessary. After symlinking libgnutls.so.30 to pinned_libs (32 and 64) folders, Helldivers no longer launches in any mode and nor do all of my other games. If I could guess, that might be bc root owns the file, judging by the little lock emblem on it: libgnutls02 I tried changing the ownership of libgnutls.so.30 to my user, which I did with sudo chown rodolfo:rodolfo libgnutls.so.26 but that didn't change a thing. The game won't launch. To make sure libgnutls is the only source of the problem, I deleted both symlinks (from pinned_libs 32 and 64), then restarted Steam. Helldivers launches again (in 32-bit safe-mode though), so libgnutls is definitely the one to blame.

dlove67 commented 5 years ago

@rdlf4 enabling steam play for all titles does not mean that native games will use steam play. What it does mean is that all non-native games will attempt to launch with steam play, even if they're not yet officially supported by proton.

Basically, it does exactly what you're asking in that only your windows only games will attempt to use it.

rdlf4 commented 5 years ago

@rdlf4 enabling steam play for all titles does not mean that native games will use steam play. What it does mean is that all non-native games will attempt to launch with steam play, even if they're not yet officially supported by proton.

Basically, it does exactly what you're asking in that only your windows only games will attempt to use it.

That's right. There are no additional pop ups telling me Steam is setting up files/DirectX/Microsoft stuff prior to launching my natively supported games. Then again, what is 'enable Steam Play for supported titles' all about? What's it for? I can say it isn't enough bc Steam requires 'Steam Play for all titles' in order to show the Play button.

dlove67 commented 5 years ago

The supported titles that it's referring to are titles on the steamplay whitelist, like the ones mentioned here: https://www.gamingonlinux.com/articles/the-steam-play-whitelist-just-had-a-large-update-including.12706

These are titles tested by Valve in a variety of configurations and have been confirmed to have native or near native performance with no issues. Having only that box checked means only those games will run with steamplay/proton.

(I don't have a full list of games on the whitelist handy, but there are ~100 or so, IIRC.)

rdlf4 commented 5 years ago

This has been going on for quite some time now and I thought that could be a one-time-only event, but it seems I was wrong. Helldivers has been trying to update its 0 bytes worth of whatever aka nothing. So I thought I could be sharing this with you guys and ask is that happening with your copy of Helldivers too? File integrity says everything is OK, so there's nothing missing. I haven't seen anything for it after A New Hell update. So maybe, just maybe this 0 byte update is telling me something I should know...? Oh and by the way, Helldivers does not launch normally. I have to try the 32-bit safe mode. And no, still got no multiplayer going for it, sadly. Screenshot: helldiversupd0bytes

Cuddlypuff commented 5 years ago

@rdlf4 you're probably seeing this (it's not an issue with helldivers specifically, but all steamplay games) https://github.com/ValveSoftware/steam-for-linux/issues/5644

rdlf4 commented 5 years ago

@Cuddlypuff Thanks for the info. By the way, if by any chance someone who owns an AMD GPU and is trying to run this game via SteamPlay in 64-bit mode (and failing miserably), don't worry. The world doesn't hate you. You can run Helldivers (64-bit) by adding this to the launch options: PROTON_USE_WINED3D11=1 %command% which, as the code suggests, will emulate Direct3D using Wine. Now, if you own an AMD-based laptop (AMD APU+GPU), you gotta do: DRI_PRIME=1 PROTON_USE_WINED3D11=1 %command% so that Steam offloads the rendering to your dGPU and then uses WineD3D. As for multiplayer.. come back sometime in 2036, maybe just maybe Valve will have that figured out.

EDIT: Keep in mind, I do NOT recommend using PROTON_USE_WINED3D11=1 though because performance will be brought DOWN. My Radeon RX540 was able to render the game menu @28-31 FPS with WineD3D, whereas running the game in 32-bit safe mode with DRI_PRIME=1 did a solid 60FPS (sometimes dropping a frame, nothing big).

rdlf4 commented 5 years ago

Yaay! Proton 3.16-6 is heeereeeeeeeeeee! And guess what, it fixes libgnutls-related issues! Helldivers multiplayer now works with no workaround! \o/

See you guys around! Closing this for now. Meet me at the battlefield.

Cuddlypuff commented 5 years ago

confirmed working here too

h8672 commented 5 years ago

Works here too, I had connection issue before and it is gone now. But now sound volumes spike when they are played. I have GTX 1060, nvidia 415.25, Proton 3.16-6 Beta. Currently no other games have this issue, volume changes didn't do anything about it (disabling voice chat or normal volumes to 0). Adding xact through winetricks didn't help. Using 32-bit safe mode and the sounds were fixed.

rdlf4 commented 5 years ago

[Issue has been reopened because of the following] I can confirm the 64-bit launcher does have these issues:

Cuddlypuff commented 5 years ago

not sure if related to your sound issues, but when I was playing online another player said I needed to mute my mic as they could hear sound coming from my end, but I don't have any mic connected or configured in my sound settings on Ubuntu.

Turning on Push To Talk on my end in the game did resolve the sound issues for them, so my game was definitely sending out something...

h8672 commented 5 years ago

@Cuddlypuff Thanks, I tried it again, but no progress. The sounds I've noticed to do spiked sound (loud unrecognizable sound) in 64-bit is entering main menu, selecting the area (bugs, cyborgs or aliens), player landing to ground, assault rifle shooting (one loud sound and no other sounds there and they dont go in sync with bullets).

rdlf4 commented 5 years ago

Well, I finally managed to move my games and files over to my new SSD. Initially I have Don't Starve, Ultra SFIVAE, NFS: Shit, Battlefield Bad Company 2 and Helldivers installed. And now the 32-bit launcher will refuse to start the game. I tried running Steam from a terminal (output is helldiv32fail.txt) and tracked it via Proton_Log (steam-394510.log). Could anyone help me out? steam-394510.log helldiv32fail.txt By the way, the 64-bit launcher runs just fine (with sound spike issues though).

rdlf4 commented 5 years ago

This is turning out to be an interesting issue. 32-bit launcher does not work at all with no launch options. However, if I set 'PROTON_USE_WINED3D11=1' as a launch option, it will work for the 32-bit launcher, but performance is horrible. So the question is, why is it that the 64-bit one doesn't need any launch options and works out of the box? Something tells me this has got to do with my drivers. But my drivers are updated, according to inxi -G.: inxig

No idea where to go from here.

kisak-valve commented 5 years ago

Hello @rdlf4, can you confirm you have 32 bit vulkan for your videocard with something like apt policy mesa-vulkan-drivers:i386?

rdlf4 commented 5 years ago

Hello @rdlf4, can you confirm you have 32 bit vulkan for your videocard with something like apt policy mesa-vulkan-drivers:i386?

Hi, @kisak-valve It doesn't look like I do: novlk

kisak-valve commented 5 years ago

You definitely should get that package with sudo apt install mesa-vulkan-drivers:i386 and retest. If apt wants to remove anything DO NOT let it.

rdlf4 commented 5 years ago

Doing [sudo apt install mesa-vulkan-drivers:i386] did it. BTW apt did not suggest/request any removal. So for the record, next time an app won't launch, I'll make sure I have my drivers (especially the Vulkan one) installed. Thank you.

rdlf4 commented 5 years ago

@kisak-valve Still not done with it though. Game now runs fine, but will force quit on me after I go to Options > Settings > Graphic options > setting fullscreen to fullscreen. Upon confirming the changes, all I get is a quick screen-freeze, then I'm back to the desktop. Log is attached. steam-394510.log Also, started Steam using the terminal, then repeated all the process to trigger the same issue. Terminal output is attached. HelldivFullScrErr.txt

rdlf4 commented 5 years ago

@kisak-valve Still not done with it though. Game now runs fine, but will force quit on me after I go to Options > Settings > Graphic options > setting fullscreen to fullscreen. Upon confirming the changes, all I get is a quick screen-freeze, then I'm back to the desktop. Log is attached. steam-394510.log Also, started Steam using the terminal, then repeated all the process to trigger the same issue. Terminal output is attached. HelldivFullScrErr.txt

EDIT: I can confirm this happens to both 32 and 64-bit launchers. After Vulkan was installed, I rebooted this machine and then started Steam and launched the game again. Same issue. Then, uninstalled and then reinstalled Helldivers. Nothing changed, I can't change the resolution of this game to fullscreen.

h8672 commented 5 years ago

When you moved them to new area, did it reinstall any compatdata when you launched the game? Anything happens when you remove SteamLibrary/steamapps/compatdata/384510 game folder? After remove it should reinstall some app requirements as they seem to be installed there when wine is run. Like DirectX.

Just tried 64bit and I believe sound issue is slightly different now. It doesn't happen everytime now after helldivers patch, but I can still get the sounds when selecting zone(bugs) for missions. I went to mission using 32bit and had some graphical bug that caused effects change colors randomly for few frames. Game crashed when mission ended, before the mission results. steam-394510.log

rdlf4 commented 5 years ago

When you moved them to new area, did it reinstall any compatdata when you launched the game?

I guess it did because there is a folder (named 394510) in compatdata after Helldivers is restored from my HDD backup.

Anything happens when you remove SteamLibrary/steamapps/compatdata/384510 game folder? After remove it should reinstall some app requirements as they seem to be installed there when wine is run. Like DirectX.

Steam does install all the app requirements such as VC Redist. Package as well as DirectX. There doesn't seem to be nothing wrong here.

For better judgement, please watch the video: Helldivers Error Judging by the way the game behaves, it looks like there is a permission issue because it registers and applies fullscreen mode (ingame) but upon confirming the changes (or writing the changes to the disk), it fails, then force-quits. An other reason to believe this could be a permission-related issue is because the next time Helldivers is started, it will still run in windowed mode, meaning changes have not been saved to the disk. Never been through this before, so any hints that could shed some light into this will be greatly appreciated. Again, this also happens to the 64-bit launcher.

EDIT: @h8672 Could you please compare your /.steam/steam/steamapps/common/Helldivers folder's permissions against mine? hdpermiss

rdlf4 commented 5 years ago

UPDATE: After numerous attempts, I've discovered this is an issue with Proton. Here's why: Since Helldivers would not save my settings no matter what I did (reinstalled the game, cleared Download cache, reinstalled Steam and then the game, did a full backup, then a partial backup, then downloaded the game again from Steam, but all these attempts failed), I was convinced the game files and folders were not the problem, so I should look elsewhere. So I was left with Steamplay/Proton. First thing that came to mind is whether this behavior could be related to Proton. So I downgraded it from 3.16-6 to 3.7-8 and to my surprise, after launching Helldivers (32-bit safe mode), My settings would be applied without any force-quits! There was no multiplayer though. Then, I switched back to 3.16-6 hoping whatever fixed my issue would still work in 3.16-6. And it did! After some testing, I can confirm Proton 3.16-6 works as it should: my settings are finally applied and multiplayer is working. But make no mistake, the game will force-quit on you every so often, even if you've got it all covered: video drivers, Proton and ulimit. So the lesson here is, if your game fails to register whatever setting you defined in game, try changing Proton to a previous version and then try launching it again with 3.16-6 (and keep your fingers crossed as if your life depended on it).

h8672 commented 5 years ago

Noticed I had "PROTON_NO_ESYNC": "1" on my proton settings and now 32bit doesn't crash by changing setting... no changes otherwise. My games requires it so I usually forget it there...

When you change your proton version, you have different folders for settings. Each of them have their own settings for each versions if you've a user_settings.py there. ../steamapps/Common/Proton 3.16 Beta

Got my game corrupted by changing settings and values (window mode, vsync, resolution) and it didn't start again, unistalled the game data from compatdata, proton_no_esync value is off, couldn't get the game crash again with same methods. Gonna try later more.

rdlf4 commented 5 years ago

Noticed I had "PROTON_NO_ESYNC": "1" on my proton settings and now 32bit doesn't crash by changing setting... no changes otherwise. My games requires it so I usually forget it there...

When you change your proton version, you have different folders for settings. Each of them have their own settings for each versions if you've a user_settings.py there. ../steamapps/Common/Proton 3.16 Beta

Got my game corrupted by changing settings and values (window mode, vsync, resolution) and it didn't start again, unistalled the game data from compatdata, proton_no_esync value is off, couldn't get the game crash again with same methods. Gonna try later more.

Out of curiosity, what file system are you using to store your games? Since you've been visiting this thread, I assume it's EXT4. Is that so? If so, why don't you try uninstalling your games, switching Proton version back to 3.7-8 and then launch them? If everything works correctly, then you move up to 3.16-6.

h8672 commented 5 years ago

Skip to tldr for summary ;D

Yes, I do have EXT4 on my SSD and HDD and save games on HDDs SteamLibrary. Should have security and log the stuff I do there, which I dunno how to check though ;D

Using process to use old proton versions wine to in newer proton might cause some issues, which I had once on other game. Unistalling the game will probably remove all the related files, but the only thing I have noticed is that the game files itself dont change at all after reinstall. So the related files like the wine installation in ../steamapps/compatdata/gameId would be enough to be removed to change the proton version, which always have their own data in their own folders in ../steamapps/common/Proton version. So I rather not reinstall the game unless the game data itself does get corrupted or nothing else works.

So using wine from Proton 3.7-8 gives different result compared to wine in 3.16-6 as they have different fixes in them.

To test if latest proton version works I rather use it's own wine version aswell without edition it. Like I could add some winetricks command to compatdata/id/ directory where it is and if it doesn't work I just need to remove the folder and launch the game again to get the wine there again.

TLDR. Sorry for long post...

RyuzakiKK commented 5 years ago

With Proton 3.16-4 the game works very well. The only problem is the online that required a symlink. ln -s /usr/lib/libgnutls.so.30.23.1 ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgnutls.so.26 and ln -s /usr/lib/libgnutls.so.30.23.1 ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgnutls.so.26

On ProtonDB a few users said that this problem has been fixed with Proton 3.16-6. So I tried Proton 3.16-6 beta but at the start up I get this error: "Steam must be running to play this game" Even if Steam is clearly open. screenshot from 2019-02-10 19-07-56

PROTON_LOG=1 %command% do not generate a log file, probably because the game doesn't even start? Anyway I launched steam from a console so that I could copy and paste the steam log. helldivers-steam.log

rdlf4 commented 5 years ago

@RyuzakiKK This could be a problem related to Proton. Are you sure you've selected 3.16-6 Beta to go with Helldivers? (Check image below): helldivprop

If so, can you confirm this happens for both the 32 and 64-bit launchers? Considering you've upgraded from 3.16-4, have you checked for Helldivers' files integrity since then?

RyuzakiKK commented 5 years ago

@rdlf4 that's exactly how I did it. I selected Proton 3.16-6 Beta from the game properties. Also the integrity of game files was ok.

Then I decided to download another game and see if this problem was helldivers specific or not. When I started the download I saw that steam added this in the download queue. screenshot from 2019-02-10 21-55-15

Apparently I was able to select Proton 3.16-6 even if it wasn't in my system yet.

Now helldivers works even with 3.16-6.

rdlf4 commented 5 years ago

When I started the download I saw that steam added this in the download queue.

Yeah, I found it weird you changed from 3.16-4 and then launched Helldivers with 3.16-6 Beta without even mentioning Steam downloaded it.

Apparently I was able to select Proton 3.16-6 even if it wasn't in my system yet.

This clearly needs a fix. At this point, I believe @kisak-valve might be aware of it though.

Now helldivers works even with 3.16-6.

Yay! Welcome, Soldier.

danilo-bc commented 2 years ago

Sound spikes still occur in Proton 6.3-8 on general default settings, 64-bit mode. I set all my audio settings to 6 (instead of the default 10) and they're pretty loud, specially when my weapon hit enemies during the tutorial mission.

This can be reproduced either on Training (Main Menu) firing at robot targets or "Assignment Symphonic Kevlar" in the campaign (not sure if it rotates, but it's in "The Proving Grounds"). It seems that sounds randomly pop when there are too many sources. The sound that pops is always the same type of explosion.

The issue is fixed playing with 32-bit Safe Mode (still need to test other interactions, multiplayer, etc)

SeongGino commented 1 week ago

Game itself is able to launch fine, though sound spikes/some sound files not playing seems consistent between either 64-bit/32-bit. The sound issues were resolved by installing xact/xact_x64 protontricks verbs.

I also did have a crash after exiting the training for the first time, presumably when it proceeded to login, which I had to force close the game and restart it. I couldn't reproduce this after the fact though.