ValveSoftware / Proton

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

SNOW (244930) #2279

Open IanTrudel opened 5 years ago

IanTrudel commented 5 years ago

Compatibility Report

System Information

I confirm:

Instructions for version 1.0 and upwards

The single player mode, cut scenes, tutorial and the game run relatively smoothly. Controller is responsive but perhaps a tad sluggish. There are several steps to follow in order to make the game run:

Instructions for previous versions

The single player mode, cut scenes, tutorial and the game run relatively smoothly. Controller is responsive but perhaps a tad sluggish. There are several steps to follow in order to make the game run:

Note: Fullscreen requires to change the settings in game and then alt-enter.

Symptoms

steam-244930-full_singleplayer_game.log steam-244930_multiplayer.log

Reproduction

The few visual glitches should be obvious once playing game. Right analog stick to move the camera around.

Go to Play > Multiplayer to connect to a server.

20190128133655_1 20190128135859_1

user23498723452 commented 5 years ago

I'm not getting anything to display on Ubuntu 18.04. I can hear game music, but just a black window.

OS: Ubuntu 18.04.2 LTS KERNEL: 4.15.0-45-generic CPU: Intel Core i3-3225 @ 3.30GHz GPU: Radeon RX 550 GPU DRIVER: 4.5 Mesa 18.3.3 - padoka PPA RAM: 8 GB

I've tried editing the profile.xml without any luck. But if there is something in there to make this work, let me know.

@BackOrder - the only "_CommonRedist" forlder is inside the "SteamWorks Shared" folder. My steam is used by multiple games, so I'm guessing I should not delete that _CommonRedist folder. Is there another place to look for this? Also - I can't launch protontricks before running the game once. How to do this all given that?

To be clear, version 1.0 was released, so maybe your solution is no longer valid?

IanTrudel commented 5 years ago

To be clear, version 1.0 was released, so maybe your solution is no longer valid?

It seems that you are correct. The update was rather large (around 5 or 6GB?) and did indeed come with this new issue. We now know that the issue is affecting both NVIDIA and AMD cards.

You might also consider reporting this bug on https://steamcommunity.com/app/244930/discussions/0/540731690594719098/.

For posterity, here is a log running the new version, the game opens fullscreen but nothing is displayed: steam-244930.log.

the only "_CommonRedist" forlder is inside the "SteamWorks Shared" folder.

~/.local/share/Steam/steamapps/common/SNOW/_CommonRedist

Also - I can't launch protontricks before running the game once. How to do this all given that?

Removing the proper _CommonRedist and then running the game would create the initial prefix.

On a side note for this theard - multiplayer is not working is likely due to GNU TLS library as many other games requiring https connections (Uplay, some multiplayer games, etc) are affected by this.

IanTrudel commented 5 years ago

@user23498723452 the discussions board suggest to press ALT-ENTER (windowed mode) and/or add g_forceProfileReset=1 in system.cfg. It did not work for me but what about you?

user23498723452 commented 5 years ago

No, neither of those worked.

IanTrudel commented 5 years ago

@user23498723452 Would you care to install d3dcompiler_47.dll using Protontricks and see if it works for you? You might also want to symlink Steam's GNU TLS library to your system's library for multiplayer.

SNOW is working again here.

user23498723452 commented 5 years ago

Well, the d3dcompliler_47.dll install got the game to actually launch. I'm now stuck at "Loading Tyro Valley". I'm guessing this may be loaded from online? Hence your suggestion to link the TLS library? I have no plans for any multiplayer right now. Assuming the game can play without it.

Not sure how to do that symlink (underbelly of linux).

FYI - I didn't test the game without that change. I didn't realize they released 1.01.

IanTrudel commented 5 years ago

Well, the d3dcompliler_47.dll install got the game to actually launch. I'm now stuck at "Loading Tyro Valley". I'm guessing this may be loaded from online? Hence your suggestion to link the TLS library?

This issue is related to the installation of Visual C++ Redistributables. Please, follow the instructions in the first post to properly install SNOW. You may also uninstall them using Protontricks if you cannot follow those instructions - Install an Application > Click Cancel > Run uninstaller and uninstall all the redistributables, then reinstall those I mentioned in the first post using Protontricks.

I have no plans for any multiplayer right now. Assuming the game can play without it.

GNU TLS is useful to fix a series of problems such as playing online, Uplay, etc. The fix will allow you to play online but fear not because there is a solo campaign.

Not sure how to do that symlink (underbelly of linux).

On CentOS, it would go along the lines of...

rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgnutls.so.26
ln -s /usr/lib/libgnutls.so.30.6.1 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgnutls.so.26

To find where is your system's libgnutls...

locate libgnutls | grep "^/usr/lib"

Symlink the 32 bit version should be enough but you may have to do it for 64 bits also.

FYI - I didn't test the game without that change. I didn't realize they released 1.01.

Gotta try it out. The improvements are great.

user23498723452 commented 5 years ago

When I try the uninstall, it SEEMS to get stuck. Last line in console :)

0009:err:winediag:gnutls_initialize failed to load libgnutls, no support for encryption

IanTrudel commented 5 years ago

Seems like you have to fix libgnutls first. Eventually we are going to get you to play SNOW. :)

user23498723452 commented 5 years ago

Yeah, can't find any copy of this library in the steam folders. Found the library on my system.

So I tried symlinking to both i386 and amd64 directories with no luck. The uninstaller still says it doesn't have support.

ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgnutls.so.26

ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10 ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgnutls.so.26
IanTrudel commented 5 years ago

ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgnutls.so.26

This is the wrong system library. Probably in /usr/lib/i686-linux-gnu/ directory instead. The other library seems alright. You will also have to restart Steam after symlinking the library.

IanTrudel commented 5 years ago

Yeah, can't find any copy of this library in the steam folders. Found the library on my system.

find ~/.local/share/Steam -name "libgnutls.so*" should be helpful in finding the actual library.

kisak-valve commented 5 years ago

Hello @BackOrder, @user23498723452, in general, it's better to add symlinks to the ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_* folders, which is used before the Steam runtime variants. If there's any issues, you can delete the pinned_libs folders and steam will regenerate them on the next start of Steam.

IanTrudel commented 5 years ago

@kisak-valve good to know! I have much to learn about Steam. Hopefully the next version of Steam and Proton will contain the proper GNU TLS library. So many games are affected by this issue.

user23498723452 commented 5 years ago

No such dir on Uubntu 18.04

/usr/lib/i686-linux-gnu/

$ locate libgnutls | grep "^/usr/lib"
/usr/lib/x86_64-linux-gnu/libgnutls.so.30
/usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10
IanTrudel commented 5 years ago

No such dir on Uubntu 18.04

/usr/lib/i686-linux-gnu/

$ locate libgnutls | grep "^/usr/lib"
/usr/lib/x86_64-linux-gnu/libgnutls.so.30
/usr/lib/x86_64-linux-gnu/libgnutls.so.30.14.10

How about something like apt-get install libgnutls:i386 to obtain the latest 32-bit GNU TLS library?

user23498723452 commented 5 years ago

I got the i386 version installed, but now it is just hanging the uninstall it seems. console log info that may be relevant:

001f:err:module:load_builtin_dll failed to load .so lib for builtin L"winebus.sys": libudev.so.0: cannot open shared object file: No such file or directory
001f:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\WineBus": c0000142
000d:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1114
0012:err:service:process_send_command service protocol error - failed to write pipe!
Wine cannot find the FreeType font library.  To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
IanTrudel commented 5 years ago

Looks like you should install FreeType:i386 and/or FreeType:x86_64. If that's not enough, you may install corefonts using Protontricks.

user23498723452 commented 5 years ago

Now the gui showing the apps loads, but it ignores me when I select one and click remove. I think I've officially identified the "dll hell" I've seen mentioned out there about wine.

IanTrudel commented 5 years ago

Now the gui showing the apps loads, but it ignores me when I select one and click remove. I think I've officially identified the "dll hell" I've seen mentioned out there about wine.

Sometimes that kind of things happen with wine. Close everything down and kill all wine processes. Then try again.

user23498723452 commented 5 years ago

No difference. I logged out of Ubuntu.

IanTrudel commented 5 years ago

No difference. I logged out of Ubuntu.

I need more information to help you. My suggestion right now is to uninstall SNOW and start over.

Good news though. The developers are now using Steamworks Shared Resdistributables. They are located in ~/.local/share/Steam/steamapps/common/Steamworks Shared/_CommonRedist . Rename the folder before you reinstall and then you can follow the instructions above + d3dcompiler_47.dll.

Good luck.

IanTrudel commented 5 years ago

Oops. I should specify to rename the folder before you hit play rather than before reinstalling. Steam might create, download and install the redistributables otherwise.

IanTrudel commented 5 years ago

@user23498723452 I have tested on a brand new Steam installation and updated the instructions accordingly, see the first post.

@kisak-valve How would we go about whitelisting SNOW on Steam Play? It is also unclear whether a developer could provide settings specific to their games that would allow a smooth installation and running the said games.

kisak-valve commented 5 years ago

We need Proton to mature to the point where only Proton options are needed to run the game without issues, then you can grab the whitelist template and fill it out in a comment on this issue report to request we change it over to a whitelist request.

user23498723452 commented 5 years ago

@BackOrder the x64 version of the symlink has an asterisk in it, is that intended?

IanTrudel commented 5 years ago

@BackOrder the x64 version of the symlink has an asterisk in it, is that intended?

My mistake. Good catch!

@kisak-valve is there any way a developer could do some post-install specific to Proton that would ensure the proper workarounds are in place before running the game? Perhaps something like InstallerScript.vdf? My understanding is that SNOW could not be whitelisted at the moment because of the workarounds.

user23498723452 commented 5 years ago

@BackOrder UPDATE 2 - Figured out that I needed to change the prefix to Windows 7 from XP. GAME FINALLY LAUNCHING NOW! Thanks BackOrder for your patience!

UPDATE - I found this Ubuntu 18.04 related protontricks bug on the old protontricks repo. It turns out it is likely what was causing me all of the issues. I have to launch protontricks as shown there in order to get the uninstaller to work. Everything seems much better with protontricks using this.

Ubuntu 18.04 protontricks fix

$HOME/.steam/steam/ubuntu12_32/steam-runtime/run.sh protontricks 244930

FYI - Below is what you might see if you don't set Windows 7 as the prefix.

Now, the game immediately says I don't have a DX11 compatible video card (which is untrue I think). I have a RX550. I'm using the default ubuntu driver with the vulkan driver from the Padoka repo. (as best I understand what drivers are involved)

"Unsupported Graphics Card detected. A GPU with support for D3D FeatureLevel 11.0 is required."

IanTrudel commented 5 years ago

Fantastic! We did it! Now you can enjoy SNOW all you want. :)

By the way, I usually use only one winetricks and update it regularly. Then typing WINETRICKS=/home/ian/Workspace/winetricks /home/ian/Workspace/protontricks gui will popup a game selector window.

You are correct about the DirectX 11 error. This is why my instructions included a "...make sure the prefix is set to Windows 7."

user23498723452 commented 5 years ago

I am unable to close out of the game using the in-game Exit option. CPU goes to 100% and prevents me from force closing itself or steam and causes numerous issues elswhere.

IanTrudel commented 5 years ago

I am unable to close out of the game using the in-game Exit option. CPU goes to 100% and prevents me from force closing itself or steam and causes numerous issues elswhere.

killall -9 GameLauncher.exe should be enough to fix it but you might have to go deeper with killall -9 winedevice.exe services.exe plugplay.exe explorer.exe wineserver winetricks winecfg.exe.

user23498723452 commented 5 years ago

The issue isn't knowing how to crash the game, but how to cleanly close the game. The game is not saving progress. I know how to use 'kill'.

IanTrudel commented 5 years ago

@user23498723452 my apologies. The game works great here once it was properly set up.

You may need some tweaking in-game (visuals, audio) and/or related to your hardware. Proton/Wine also occasionally fails to detect VRAM and you could give a try by setting it manually in the registry.

https://ubuntuforums.org/showthread.php?t=1076755

Could you share a log when the game crashes?

user23498723452 commented 5 years ago

The problem occurs when I click Exit, not before. Doubt that implies anything with my drivers is wrong. But possibly something with wine/proton config.

Where does this game store its data? Like saved games, etc. Can't find anything for that.

I got the game to exit if I immediately exit the Tutorial. But I don't know why that would matter. I will try to get some progress next and repeat.

IanTrudel commented 5 years ago

You would have to pass a command line argument to SNOW: PROTON_LOG=1 %command%. This will log a steam-244930.log file in your home directory.

Updating a driver may occasionally fix things. Wine is very finicky. I had to reinstall many many times during testing until I found the right formulae. :(

user23498723452 commented 5 years ago

My video driver is current. If you want to peruse the log file it is attached. The game seems to close now, but again I'm always sent to the Tutorial at the start. And there is no way to skip it. Otherwise, my progress does seem to be saved as I'm up to Level 2 XP.

steam-244930 - snow exit attempt.log

IanTrudel commented 5 years ago

Thanks! I will take a look and get back to you whenever it's ready. How long did you play for this log and before exiting?

IanTrudel commented 5 years ago

Oh, while we are at it, it would be great if you could describe briefly what you did during the log. I will try to do the same and exist. Then I can sort of compare the logs.

user23498723452 commented 5 years ago

Oh boy...um I think I just got thru the Tutorial and then tried to close it after I ended my session.

Here is another one where I choose Exit after entering the Tutorial.

steam-244930 (exit immediately after entering tutorial).log

IanTrudel commented 5 years ago

Here is my log for exit immediately after entering tutorial but it doesn't crash. Perhaps comparing the two will be helpful.

By the way, Proton/Wine got much more stable after I installed all the requirements to build a custom Wine. It might make a difference for you too.

steam-244930-ian-exit-immediately-after-tutorial.log

IanTrudel commented 5 years ago

@user23498723452

Brushing over the logs isn't an easy task. There is something that seems peculiar and suggests that you may have a problem with one system library (libstdc++.so.6). I had to symlink libstdc++.so.6 to version 6.0.22 instead of 6.0.24 to make several programs to work.

ERROR: ld.so: object '/home/username/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

@user23498723452 which version of Proton do you run SNOW with? I use Proton 3.16-7 Beta. Which version of libstdc++.so.6 do you have on your system?

user23498723452 commented 5 years ago

Turns out the Snow issue was fixed by the devs. The game works fine now.

IanTrudel commented 5 years ago

Turns out the Snow issue was fixed by the devs. The game works fine now.

This is a very good news. The devs are really nice and caring people. Enjoy the game!

lilithwhite commented 5 years ago

I'm having a bit of an issue with protontricks not actually having d3dcompiler_47.dll, the only one available is d3dcompiler_43

IanTrudel commented 5 years ago

I'm having a bit of an issue with protontricks not actually having d3dcompiler_47.dll, the only one available is d3dcompiler_43

Protontricks uses winetricks as a backend. Make sure you have the latest version of winetricks.

You can also force Protontricks to use a specific winetricks using, for example, WINETRICKS=/home/ian/Workspace/winetricks /home/ian/Workspace/protontricks gui.

lilithwhite commented 5 years ago

Ok, that worked, now there's a new issue unfortunately: "error loading dynamic library cryrenderd3d11.dll error code 126" when launching the game

IanTrudel commented 5 years ago

Ok, that worked, now there's a new issue unfortunately: "error loading dynamic library cryrenderd3d11.dll error code 126" when launching the game

How about go to Properties > Local Files > Verify [..] and see if that fixes the issue.

lilithwhite commented 5 years ago

Unfortunately no, tried that, also tried reinstalling SNOW completely, adding that directX11 dll, disabling directX11 in proton and installing DXVK 1.0. The game complained that directX11 wasn't available when it was disabled in proton but all the other things had the same error.

OS is Ubuntu 18.04, videocard is a notepad 1050 Ti with 418 drivers. SNOW works under Windows so it can't be an issue with the hardware though.

IanTrudel commented 5 years ago

This is a challenge! Would you mind trying the game with DXVK_HUD=full %command% ? I had some troubles with DXVK 1.0 at first and some games wouldn't use it. Turns out it needed to be installed in Proton. It would be a good idea to completely remove the prefix before reinstalling.

Quix0r commented 5 years ago

I have the missing D3X11 issue now (latest Proton 4.2).