Proton: Foundation (690830)

Created on 6 Feb 2019  ·  128Comments  ·  Source: ValveSoftware/Proton

Compatibility Report

  • Name of the game with compatibility issues: Foundation
  • Steam AppID of the game: 690830

System Information

  • GPU: GTX 980 GTX
  • Driver/LLVM version: Nvidia 415.22
  • Kernel version: 4.19
  • Link to full system information report as Gist:
  • Proton version: 3.16

I confirm:

  • [ ] that I haven't found an existing compatibility report for this game.
  • [ ] that I have checked whether there are updates for my system available.

Symptoms

The game has some error related on his translation game's log output said this:
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Also the game hangs after pressing the market button, keeping the music / sound in the background.

Reproduction

Press play on the Steam button

Game compatibility - Unofficial Mesa drivers XAudio2

Most helpful comment

Hi guys, I'm the technical director at Polymorph Games. First of all: thank you very much for the time and effort you put in invastigating those problems, it really helped us!

Since @smirgol reach out on the Steam forum to talk about the glsl compatibility issue we were able to deploy the fix on the preview branch, and it will reach the full content patch coming soon.

I've also been able to investigate the localization file loading issue, and it should be fixed too. What happened is that proton / wine just ignored our request to open the files as utf8 and was feeding us with row data. It was fixed by adding utf8 DOM in all our utf8 files.

I was not able to test the full game loading since I'm only running linux on a virtual machine (so I can't pass the opengl 4.3 check), but if that was really the last issue, the game should work without the vcrun2017 trick (once the new build will go live, version superior to 1.6.22).

Since the game is still in active developpment, I expect there will be other issues in the future. Even if linux is not our top priority, we'd like to still do what we can to make it easier to experiment Foundation on Linux. So don't hesitate to reach out to us on the Steam forum, or in our Discord, that will be the best way to make sure we're aware of new issues or ideas you have to fix the proton experience.

The discord: https://discord.com/invite/foundation
I recommand tagging Minotorious#0534 on #techsupport if you have news about the linux build

Cheers!

All 128 comments

Hello @Sebastiangperez, please 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.

Zipped , is 60mb long and i run the game until hangs . this game is made by a custom engine and uses i think opengl 4.3
steam-690830.log.tar.gz

Yesterday , i tested the game again , when i clicked on the market button in the build menu , the game got freeze and hanged my entire pc.
Maybe is a memory leak ?
im on Fedora 29

I have got a similar but still different problem. For me the game launches, gets into the loading screen and then crashes with eventfd: Too many open files: steam-690830.log

When i switch from proton 3.16 to 3.7. then the game simply locks up without crashing.

If i go ahead and increase the ulimit to over 60.000 then the game works, but the localization is missing because the game keeps saying
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Throwing strace at the game shows this:

22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/achievements.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/agents.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/buildings.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)

This seems to be a big bug in the Game and not fixable by Proton, since the file seems to be found and loaded. Additionally to this, they constantly try to close thousands of files they never opened, so i guess even if the game would have the localization we might get the trouble @Sebastiangperez talked about.

@Legodev
Hi , thanks for your response. maybe someone will contact with this guys and tell this bug.

This is an update

I have got a similar but still different problem. For me the game launches, gets into the loading screen and then crashes with eventfd: Too many open files: steam-690830.log

When i switch from proton 3.16 to 3.7. then the game simply locks up without crashing.

If i go ahead and increase the ulimit to over 60.000 then the game works, but the localization is missing because the game keeps saying
ERROR Core GamCLocalizationManager::loadFile JSON parsing error: 3

Throwing strace at the game shows this:

22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/achievements.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/agents.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)
22:32:33 openat(AT_FDCWD, "/mnt/bcachedata/Steam/SteamApps/compatdata/690830/pfx/dosdevices/z:/mnt/bcachedata/Steam/SteamApps/common/Foundation/localization/en/buildings.json", O_RDONLY|O_NONBLOCK) = 39487
22:32:33 close(39487) = 0
22:32:33 close(-1) = -1 EBADF (Ungültiger Dateideskriptor)

This seems to be a big bug in the Game and not fixable by Proton, since the file seems to be found and loaded. Additionally to this, they constantly try to close thousands of files they never opened, so i guess even if the game would have the localization we might get the trouble @Sebastiangperez talked about.

This is an Update , yesterday arrived a new patch that fixed the bug , i could play the game without freezing.
The text translations is still missing and only shows the JSON keys.

The text translations is still missing and only shows the JSON keys.

This can easily be fixed by installing vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

[EDIT 2: no need to enable D9VK anymore. it will be used automatically.. So everything below is outdated ]
Also the game performance is highly improved by using D9VK instead of the default WineD3D and maybe can fix the "Shader compilation error: gl_FragColor undeclared" error as well (AMD GPU users).

[EDIT: The following is outdated, D9VK now can be enabled with Proton > 4.11 using "PROTON_USE_D9VK=1 %command%"]

If you want to try to implement it in Proton 4.2 follow these instruction provided by user pchome:

  1. Download D9VK (https://github.com/Joshua-Ashton/d9vk/releases)
  2. Add d3d9.dll from D9VK/x32 to /your_path/steamapps/common/Proton 4.2/dist/lib/wine/d9vk/
  3. Add d3d9.dll from D9VK/x64 to /your_path/steamapps/common/Proton 4.2/dist/lib64/wine/d9vk/
  4. Download the patch text file: proton-4.2-d9vk.patch.txt
  5. Copy text file to Proton's directory and execute patch -p1 < proton-4.2-d9vk.patch.txt
    Now it will be used as default. If you want to disable it use PROTON_NO_D9VK=1 %command%

I stopped playing this game a few months ago because it crashes on start.
I will check the work around about the text.

I can confirm the game now works fine using:

  • a higher ulimit -n to raise the open file limit to work around the crash at startup
  • WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017 to fix the displayment of the text
    Note: for some reason i needed to delete the pfx folder, start the game and then execute winetricks again

a higher ulimit -n to raise the open file limit to work around the crash at startup

btw this seems to be a distro based "issue". My ulimit already was pretty high by default (#DefaultLimitNOFILE=1024:524288 on Manjaro).

yes mine is fixed to 1024, simply because this normally is more then enough and if more is required this is usually a bug in your software. I know how to permanently change it, but i don't want to.

For everyone who wants to know the file location it can be done in /etc/sysctl.conf using fs.file-max but its better to use /etc/security/limits.conf

Edit: on non systemd linux distributions

Maybe you should say which distro you're on, because the filenames and locations differ based on the distro you're using.Here you can find some more infos on the topic:
https://github.com/lutris/lutris/wiki/How-to:-Esync

I can confirm the game now works fine using:

* a higher `ulimit -n` to raise the open file limit to work around the crash at startup

* `WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017` to fix the displayment of the text
  **Note:** for some reason i needed to delete the pfx folder, start the game and then execute winetricks again

Hi All,
I tried the winetricks solution for the text problem but I still have only text keys. My system:

Steam log in gist.

Yesterday after long time not playing the game, i played and works great but still uses 2.5 gb of ram ( i dont know if is an issue)
Today i will try the text display stuff that someone mentioned above.

Yesterday after long time not playing the game, i played and works great but still uses 2.5 gb of ram ( i dont know if is an issue)
Today i will try the text display stuff that someone mentioned above.

If you find a way to fix the text issue, it is allowed to use 6 GB of RAM for all I care.

I found the following block in my Proton log:

Cell windowFocused not defined in ui.package    
Cell textfieldDropTarget not defined in ui.package    
Cell textfieldError not defined in ui.package    
Register Static Object: 10.18 ms    
Web ThreadLocal Init     
Request analytics server url    
Web ThreadLocal Init    
JSON parsing error: 3      
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION    
createTextWithViewParameters received unused views: #.DISCORD    
Web ThreadLocal Init    
Analytics server address: https://www.polymorph.games/analytics/    
Analytics HTTP result: 2313654    
Analytics HTTP result: OK

I found the following block in my Proton log:

Cell windowFocused not defined in ui.package    
Cell textfieldDropTarget not defined in ui.package    
Cell textfieldError not defined in ui.package    
Register Static Object: 10.18 ms    
Web ThreadLocal Init     
Request analytics server url    
Web ThreadLocal Init    
JSON parsing error: 3      
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
JSON parsing error: 3    
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION    
createTextWithViewParameters received unused views: #.DISCORD    
Web ThreadLocal Init    
Analytics server address: https://www.polymorph.games/analytics/    
Analytics HTTP result: 2313654    
Analytics HTTP result: OK

I can confirm similar outputs for me after following all recommendations and with multiple installs/attempts. I also tried using wine tricks and proton tricks. Using proton 4.2-9
My System:

  • Manjaro 18.1.5
  • GPU: nvidia 1080
  • CPU amd ryzen 7 1800x
  • 32 gb ram

The text translations is still missing and only shows the JSON keys.

This can easily be fixed by installing vcrun2017:
WINEPREFIX=/your_path_to_steamLibrary/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

This did not help me. I still see those JSON keys instead proper labels :(

I was using the free AMD driver of Manjaro and got always the shader error: gl_FragColor undeclared. RX580

With the properitary AMD driver for Archlinux AUR I'm able to start the game.

Still have two unresolved issues:

  • [x] JSON replacement for localization (Installing vcrun2017 did not work for me. However I got a working pfx )
  • [x] The background is broken. See imgage below EDIT: Also fixed by the donated pfx folder.

Bildschirmfoto zu 2020-02-02 12-09-10

EDIT:
Found this report on WineHQ: https://forum.winehq.org/viewtopic.php?t=32488

Hello @marwonline, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

@kisak-valve here the gist.
BTW: I got the pfx folder from @Legodev and the localization works fine. Not sure what's wrong on my installation.

@kisak-valve It's an OpenGL game, so Mesa drivers can be removed.

@Legodev Installing vcrun2017 does not fix the translation/string issue for me...did you install anything else?

Hi,

I played this game on Windows before. Now I switched to Linux Mint and I got this error:

Shader compilation Error
Shader: natives/color2d

Has anyone got it working with proton or wine on AMD graphics with mesa drivers?

Kind regards
Danii

Shader compilation Error
Shader: natives/color2d

I have the same error with Intel graphics on Proton 5.0...

Are there any news about this game? Has anyone tried with Proton 5.0-10 RC or Proton-5.9-GE-6-ST?

This is not the update I was hoping for... @Sebastiangperez why closing the issue? The game still doesn't work...

This is not the update I was hoping for... @Sebastiangperez why closing the issue? The game still doesn't work...

Sorry , i wanna delete the comment, my comment

@Sebastiangperez if you close the issue by mistake, could you please reopen it? Other people, me included, are still interested in playing this game with Proton. If you don't want to receive updates on this issue you can use the Unsubscribe button on the side menu.

@Sebastiangperez if you close the issue by mistake, could you please reopen it? Other people, me included, are still interested in playing this game with Proton. If you don't want to receive updates on this issue you can use the Unsubscribe button on the side menu.

I press the wrong button, sorry about that
The game for me do not work now , i dont know if the is some new bug or something like that.

Since I'm now also running on an AMD GPU I can help a bit too.

I began to tinker around a bit more. I found that the root issue seems to be some deprecated shader code, namely "gl_FragColor" and "gl_FragData". I tried extracting the shader files from the .package files in the game directory and change them to get rid of the deprecated code and replace them with the updated methods (for testing purposes)...with partial success (proceeding to the load screen and see the bar fill to 100%) but after that the game still crashes. The games own error log doesn't show any "gl_FragColor" or "gl_FragData" related errors anymore but many others. I recognize some of the errors from when I first tested the game (using an NVIDIA GPU), so I know that at least a handful of them shouldn't crash the game since it still worked back then.

Here is the error log I currently get: GIST

It might be helpful if someone who is able to launch past the loading screen (to the main menu) could provide a game error log or PROTON_LOG to filter out the errors only I get.

EDIT: I've just seen that the game seems to crash for others (including nvidia users) as well starting with version 1.6.14.0717. Maybe that's another issue now.

EDIT: I've just seen that the game seems to crash for others (including nvidia users) as well starting with version 1.6.14.0717. Maybe that's another issue now.

1.6.20+ is not working either. crashes when the green bar finishes fill up
Linux using Proton and Nvidia Drivers

I was using the free AMD driver of Manjaro and got always the shader error: gl_FragColor undeclared. RX580

With the properitary AMD driver for Archlinux AUR I'm able to start the game.

That was seemingly the key hint. Turns out there is an issue with the open-source Mesa driver which caused the shader error for the game when the shader code uses deprecated stuff. Well, technically it's an error by the developer, but read about it yourself. What I did by changing the shader code worked, because I made it compatible to the core profile that way.
Let's see if this will be merged and backported into the stable Mesa driver.

Well, let's tackle the next issue shall we? :grin:

Okay, I'm now able to launch the game and play. There's still the issue with the strings that I'll try to figure out now, and trying to access the settings menu results in another crash. but it's progress. As workaround it's possible to change settings via the usersettings.config file that is generated at /home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/users/steamuser/My Documents/Polymorph Games/Foundation/ on my end.

The crash when entering the main menu is caused by an issue with "AchievementsVDF.vdf" in the localization files. Removing it or removing it's content let the game launch into the main menu. I guess that this might be something that can be fixed within Proton, since the vdf format seems to be introduced through steam/steamworks and not by the developer via a third party lib.

That's all I can say atm.

@marwonline do you still got the directory with the fixed translation strings? Maybe it could help find the issue.
I'm not able to fix the strings with vcrun2017 anymore and I just can't get behind what's actually missing. That a specific pfx directory from someone can solve this seems kinda suspicious to me.

@MadByteDE there is some dependency missing or some registry settings got changed. The problem is i can't reproduce the steps i did to get the environment working. With a working environment it worked instant on all machines i tested, but yeah i simply dunno how i got it working. :(

Edit: i now tried to launch the game again after a very long time while changing my gpu. Now the game does not startup any more with "Shader: natives/color2d" ... I packaged my pfx before trying this, so it should be the same version i send marwonline. So if you want i can send it to you as well.

@Legodev If it's the old version with the working translations, that would be great.

I used to see them. How ever since i had to much to do i had no time to fix the shader problems, that's why i can't tell you if i would still see them.

I've asked them to modify their shaders and specify the compat profile in them, hoping that this will fix this shader issue. To my surprise they actually implemented that. :-) It should be deployed with one of the next updates.

The way Mesa behaves in this case is actually according to the specs, which state that if no profile is defined, it will default to core. Since they use a compat context in this game, shaders break. No idea why the closed source drivers don't stick to the specs here.

I've asked them to modify their shaders and specify the compat profile in them, hoping that this will fix this shader issue. To my surprise they actually implemented that. :-) It should be deployed with one of the next updates.

The way Mesa behaves in this case is actually according to the specs, which state that if no profile is defined, it will default to core. Since they use a compat context in this game, shaders break. No idea why the closed source drivers don't stick to the specs here.

Nice. :)
I've seen the discussion in the Mesa bug tracker about the spec. They filed a spec bug about that, let's see what they decide. I'm curious why the closed source drivers work different then the spec seemed to define this.

As a reminder, we still need to find out why the archievments.vdf file cause a crash & what is causing the string issue.

I now got my strings, translations and settings menu working again - a fully working game! yay

What actually did the trick for me was updating my winetricks script via "sudo winetricks --self-update" & after that reinstall vcrun2017 via "WINEPREFIX=/YOUR/PATH/TO/STEAMAPPS/steamapps/compatdata/690830/pfx winetricks -q vcrun2017". If reinstalling vcrun2017 doesn't work for you, try to delete the prefix directory, regenerate it by launching the game once and then try again to install vcrun2017.

To sum it up

  • The shader error was caused by the dev not specifying the correct shader profile & will likely be fixed in one of the next game updates (or maybe by the Mesa driver if they decide to work around the GLSL specs like any other driver)
  • The issue with the archivementsVDF.vdf file, the settings menu crash and the missing translation text can be fixed by first updating winetricks and then installing vcrun2017 into the game prefix.

I hope this also work for you guys.

Edit: NOTE: This is outdated. The game receives offical updates to fix all issues in the near future (Game versions > 1.6.20).

I made a small script to automatically fix all issues. I can't guarantee that it will work for you, but it's tested on Manjaro Linux + Gnome. The shader fix can be applied to fix the shader code until the game dev releases an offical patch for the game.
To use it extract the archive and put it's content into the game root directory (ie. "/home/USERNAME/.steam/steam/steamapps/common/Foundation/apply_fixes.sh") & run the script.

Notice: In order to update winetricks automatically, the script will ask you for root permission. If you decline it, you have to update winetricks and install vcrun2017 yourself.

Make sure to run the game at least once before launching the script

Foundation_v1.6.20_Fixer

Let me know if it worked for you.

Hey, I have not bought the game yet because it is currently marked as broken on ProtonDB.
I'm playing on Nvidia, is installing vcrun2017 using winetricks the only thing needed to play the game? Is the game fully playable?
Are there other unsolved known issues?

Hey, I have not bought the game yet because it is currently marked as broken on ProtonDB.
I'm playing on Nvidia, is installing vcrun2017 using winetricks the only thing needed to play the game? Is the game fully playable?
Are there other unsolved known issues?

on NVIDIA you should be fine with updating winetricks via "sudo winetricks --self-update" and then installing vcrun2017 in the game prefix. Nobody can guarantee you that it will work on your system (I just found that these steps work reliable for my system ). You could try it and if it's not working you could refund the game - or wait until the game works out of the box with Proton.

Yeah, I know it really depends on the configuration, but I was curious to know if, with some configuration, the game is right now fully playable on Linux using Proton.

On my end, yes - it's fully playable.
youtube video

Hello @MadByteDE, I've been looking around for the copyright license of this game and I'm having a hard time finding it. The closest thing I've found is "Note: Publicly sharing of Polymorph Games game files and assets is strictly prohibited by copyright law." on http://www.polymorph.games/foundation/modding/texture-usage-policy. Please adjust your workaround so that it modifies the existing files from a game install instead of redistributing shaders.

Hello @MadByteDE, I've been looking around for the copyright license of this game and I'm having a hard time finding it. The closest thing I've found is "Note: Publicly sharing of Polymorph Games game files and assets is strictly prohibited by copyright law." on http://www.polymorph.games/foundation/modding/texture-usage-policy. Please adjust your workaround so that it modifies the existing files from a game install instead of redistributing shaders.

Thanks for letting me know. The best I can do right know is to ask for permission to distribute the changed shader files to temporarly fix shader issues on linux. But since the dev announced to fix the shaders in a coming update, iĺl take down the files until the update has been released.

Let me know if it worked for you.

The game works perfectly with this patch, thank you for this approach!
As for the Text, it worked before and still works so i can't say anything regarding this.

Edit: NOTE: This is outdated. The game receives offical updates to fix all issues in the near future (Game versions > 1.6.20).

I updated the script to remove the shader files. It patches each shader file individually and no longer contains copyrighted content.


What it does

1. Updates your _already installed_ winetricks installation automatically & installs vcrun2017 into the game prefix.

  • In order to update winetricks, the script will ask you for root permission. If you decline it, you need to update winetricks and install vcrun2017 yourself. i.e by using:
    sudo winetricks --self-update && WINEPREFIX=/home/USERNAME/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017

2. For AMD/Intel GPU users: Applies a fix to shader files (compilation error)

  • The script is made for game version 1.6.20 only. Later versions should be fixed officially by the game developer.

How to use it

1. Download the script; extract & copy the files into the Foundation game directory
2. Launch the game at least once before using the script
3. Run the script. It will tell you when it's done.
4. Launch the game.

  • If the game crash at the end of the initial loading screen or in-game text isn't displayed properly after applying the script, something went wrong with updating winetricks / installing vcrun2017. You can try this and see if it works for you.

Download (Mega)
Foundation_v1.6.20_Fixer

@MadByteDE Can confirm that the latest Winetricks and vcrun2017 and Proton 5.11 solved the translation issue, texts are now being displayed.

Nice work!
I successfully was able to launch the game after applying your patch. I had to remove/rename the "AchievementsVDF.vdf" in "localization/en" though, or it would crash after the loading bar filled.

@MadByteDE Can confirm that the latest Winetricks and vcrun2017 and Proton 5.11 solved the translation issue, texts are now being displayed.

Glad to hear it. (btw I used the latest stable 5.0-9 Proton for everything.)

Nice work!
I successfully was able to launch the game after applying your patch. I had to remove/rename the "AchievementsVDF.vdf" in "localization/en" though, or it would crash after the loading bar filled.

How do your text strings look? If they start with a # then either the winetricks update and vcrun installation may have failed or there's another issue with the game I haven't seen yet.

Strings are okay, your script did update winetricks and installed vcrun2017 without problems. Without vcrun2017 there were only placeholders with an "#" in front, but with it's all fine.

Strings are okay, your script did update winetricks and installed vcrun2017 without problems. Without vcrun2017 there were only placeholders with an "#" in front, but with it's all fine.

Hm.. I wonder why you had to delete the file since it got fixed by the winetricks update on my end. But if everything else works and you can access the settings menu everything should be fine.

Weird. I now have restored the AchievementsVDF.vdf file and it does not crash anymore. But I swear it initially did. ¯_(ツ)_/¯
Only minor thing is, after the game is loaded and the main menu shows up, I need to tab out and back, otherwise I cannot click anything. Besides that everything seems to work, played for a couple of minutes already.

Just bought the game, and it crashes at the end of the initial loading screen:

image

Foundation - version 1.6.20.0814
missing : in locales.txt line: OpenGL vendor: NVIDIA Corporation
OpenGL renderer: GeForce RTX 2080 Ti/PCIe/SSE2
OpenGL version: 4.6.0 NVIDIA 450.66
GL_MAX_TEXTURE_IMAGE_UNITS: 32
GL_MAX_PATCH_VERTICES: 32
GPU dedicated video memory: 11534336KB
GPU total available memory: 11534336KB
GPU current available video memory: 9830912KB
GPU eviction count: 0
GPU evicted memory: 0KB
Create Audio Engine
Audio Engine created
Create world
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
Can't load class PlaCBuildingAssetProcessor
preload file Terrain/Foundation_Hills_01/trees_padding_foundation_hills_01.geo: 0.156 s
property PlaCDataAgentProfileFunctionVisitor::AssetStatusQuota should not be null in 
property PlaSContextDataHappinessFactor::HappinessFactor should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaSContextDataHappinessFactor::HappinessFactor should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaSContextDataWorkstationSetup::WorkstationSetup should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataSubtree::Subtree should not be null in 
property PlaSContextDataHappinessFactor::Applicator should not be null in 
property PlaCDataHouseStatus::Item0 should not be null in 
property PlaCDataVillagerStatusQuantityPair::Status should not be null in 
property PlaCAssetBuildingFunctionQuarry::RandomResourceToSpawn should not be null in 
property PlaCAssetBuildingFunctionQuarry::RandomResourceToSpawn should not be null in 
property PlaCAssetBuildingFunctionTaxOffice::Item0 should not be null in 
property PlaCAssetBuildingFunctionWorkplaceFarm::HarvestSetup should not be null in 
property PlaCAssetBuildingFunctionWorkplaceFarm::SowingSetup should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedDesirability should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedZone should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedDesirability should not be null in 
property PlaCAssetBuildingFunctionHouse::RelatedZone should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property PlaCAssetDesirability::CopyLevelFrom should not be null in 
property GamCKeyframeAsset::Value should not be null in 
property GenCParticleSystem::Material should not be null in 
property PlaCDataActionVisit::NarrativePanelData should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataAssociationEstateString::AssetEstate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataActionVisit::NarrativePanelData should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataAssociationEstateString::AssetEstate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataEstateQuantityPair::Estate should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionVisit::VisitClickAction should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property GenCParticleSystem::Material should not be null in 
property GenCParticleSystem::Material should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataBuildingPartCostPair::BuildingPart should not be null in 
property PlaCDataGameRuleModifierVillagerHappiness::RuleApplicator should not be null in 
property PlaCAssetGameRuleMineral::GenericMineralPrefab should not be null in 
property PlaCAssetGameRuleMineral::DebugMineralToAssign should not be null in 
property PlaCSkin::DefaultCollapsibleStyle should not be null in 
property PlaCDataGameRuleModifierNeedPermanentlyFilled::NeedResource should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCAssetProceduralMilitaryQuestGenerator::QuestFunction should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierJob should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierRegroupBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierLeaveBehavior should not be null in 
property PlaCDataQuestFunctionSendTroops::SoldierBackBehavior should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCDataActionShowNarrativePanel::AssetNotification should not be null in 
property PlaCAssetWallConfig::Material should not be null in 
property PlaCAssetWallConfig::MaterialTop should not be null in 
init asset manager: 4.691 s
load all assets: 10.143 s
Clear Scene
Open Scene ...
Can't find any component named PlaCCompMonument
Read Terrain Topology: 3.95 ms
Generate grass: 10.70 ms
Generate grass: 10.55 ms
Load Scene: 871.40 ms
JSON parsing error: 3 file: localization/en/achievements.json
Register Static Object: 36.59 ms

@leinardi Try to temporarily move/delete "AchievementsVDF.vdf" from the game folder i.e /home/USERNAME/.steam/steam/steamapps/common/Foundation/localization/en and report back if that changes anything.

@MadByteDE Renaming AchievementsVDF.vdf seems a valid workaround. Now I can reach the main menu, but all the localized strings are missing:
20201009204451_1

I have installed the installed the winetricks but doesn't seem to be enough:

leinardi@c7h:/media/Steam/steamapps/common/Foundation$ sudo winetricks --self-update
leinardi@c7h:/media/Steam/steamapps/common/Foundation$ WINEPREFIX=$( realpath ../../compatdata/690830/pfx ) winetricks -q vcrun2017

console output

Ah, I guess the winetricks update failed because you didn't run winetricks --self-update as root. try using sudo winetricks --self-update. If the installation succeeds you'll most likely need to delete the pfx, run the game and crash once more, and then do WINEPREFIX=/media/Steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017. If everything works, you can add the archivementsVDF.vdf back to the en localization folder.

Hello @leinardi, please use a gist for logs or attach them as a file instead of pasting walls of text.

@MadByteDE Sorry, I didn't copy pasted the winetricks update line like because I already closed the terminal and forgot to add the sudo inside my message, but I executed it with it.

The update went well and I got the latest version installed:

leinardi@c7h:/media/Steam/steamapps/common/Foundation$ winetricks --version
20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca

I already tried to delete the wine prefix but the result is the same.

@kisak-valve sure, sorry.

And clicking the settings makes the game crash:

Create world
createTextWithViewParameters received unused views: #.COMMUNITY_TRANSLATION
createTextWithViewParameters received unused views: #.DISCORD
JSON parsing error: 3 file: localization/en/achievements.json
JSON parsing error: 3 file: localization/en/agents.json
JSON parsing error: 3 file: localization/en/buildings.json
JSON parsing error: 3 file: localization/en/events.json
JSON parsing error: 3 file: localization/en/general.json
JSON parsing error: 3 file: localization/en/help.json
JSON parsing error: 3 file: localization/en/menu.json
JSON parsing error: 3 file: localization/en/military.json
JSON parsing error: 3 file: localization/en/rules.json
JSON parsing error: 3 file: localization/en/steam_page.json
JSON parsing error: 3 file: localization/en/tutorial.json
JSON parsing error: 3 file: localization/en/unlockables.json
JSON parsing error: 3 file: localization/en/whatsnew.json
Analytics server address: https://www.polymorph.games/analytics/
Analytics HTTP result: 5387663
Analytics HTTP result: OK
can't access an unexisting item of a const hash map

Since my OS language is not set to English I tried to add

LC_ALL=C %command%

and

LANG=C %command%

to the launch options but doesn't make any difference.

I can't use winetricks , this message appear :
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.

But i download the exe files and run it like this :
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x(version).exe
version means x86 or x64 and i installed both , i already did this and the language is not fixed.
But now, i rename the Achivements and the game keeps crashing.

Any toughts ?

@leinardi yeah, I had this problem a lot, but since updating winetricks everthing worked fine.
Your winetricks execution looks very different from the one I get, so I still think something went wrong with updating winetricks. There's lines missing like Executing wine winecfg -v winxp64, and a lot of different stuff going on.
This is my output: GIST

btw my local wine version is 5.18. Maybe it has something to do with this.

The sha256sum of your version is different and so is the wine version:

Using winetricks 20200412-next - sha256sum: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f with wine-5.18 and WINEARCH=win64
Using winetricks 20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca with wine-5.0 and WINEARCH=win64

I'll try with a newer version of wine.

Hm, I replayed the installation and it still works for me:

  1. remove prefix
  2. start game, let it crash. new prefix will be created
  3. install vcrun2017 with either winetricks or protontricks
  4. rename "localisation/en/AchievementsVDF.vdf" ( can be later renamed back, once the game started successfully at least once )
  5. start game

I'm using Proton 5.0-9. for this game.

@leinardi
There's one thing I've noticed, the sha256sum of my winetricks installation, which winetricks prints at the start, is different than yours: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f
Though the version"20200412-next" is the same. That's a bit strange.

@smirgol what's your wine version?

warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.

This is normal and can be ignored.

WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine VC_redist.x(version).exe

This looks odd to me, winetricks is necessary to install vcrun since it provides workarounds for common bugs which will be needed to install the files properly.

Seeing all these issues it seems like the winetricks version everyone receives via --self-update somehow varies a bit, which might be the main problem here.

@smirgol what's your wine version?

wine-5.18 (Staging)

From the winetricks GitHub page:

Note: packaged Debian / Ubuntu winetricks versions are typically outdated, so a manual installation is recommended.

If the package is unavailable, outdated, or the latest version is desired, a manual installation of winetricks can be done. It is highly recommended to uninstall any previously installed version of winetricks first.

If you don't uninstall a previously installed, packaged version of winetricks... Well then you get to pick up the pieces!

And from the winetricks script itself:

# Name of this version of winetricks (YYYYMMDD)
# (This doesn't change often, use the sha256sum of the file when reporting problems)
WINETRICKS_VERSION=20200412-next

If you're on a debian based distro I'd recommand follow the instructions provided at https://github.com/Winetricks/winetricks

To sum up the procedure:

Uninstall any winetricks you have installed with your package manager first!

Get the latest version (save manually or get it with curl):
curl https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks

I prefer /usr/local/bin over /usr/bin, but that's up to you.

Finally works:
20201009214623_1

What I think was the issue? having 2 different version of winetricks installed:

leinardi@c7h:/media/Steam/steamapps/common/Foundation$ sudo winetricks --version
20200412-next - sha256sum: 8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f

leinardi@c7h:/media/Steam/steamapps/common/Foundation$ winetricks --version
20200412-next - sha256sum: 5c62bc038fd3ac7fa1e0d09123c61e1034cc5431719f5a1768dcb4bd91990cca

leinardi@c7h:/media/Steam/steamapps/common/Foundation$ whereis winetricks
winetricks: /usr/bin/winetricks /usr/bin/winetricks.bak /home/leinardi/bin/winetricks /usr/share/man/man1/winetricks.1.gz

I was updating the system installation with sudo winetricks --self-update but then executing the user, outdated installation. Running winetricks --self-update without sudo solved the issue.

I had to delete the prefix and ran WINEPREFIX=$( realpath ../../compatdata/690830/pfx ) winetricks -q vcrun2017 again to get the proper installation. The output is now almost identical to the one form @MadByteDE gist.

I also upgraded wine to 5.18 staging but I don't think was needed (I did it before figuring out that I had 2 version of winetricks installed).

After installing vcrun2017 I don't have to rename AchievementsVDF.vdf anymore and the Settings menu opens correctly.

Thanks a lot for the help, I was very close to refund the game :+1:

@leinardi Glad to see it works for you :+1:

What can we learn from it? If its a common issue I could add a check for any other winetricks version to the script to make sure it uses the right one when installing vcrun. Or just add a warning if the checksum is different from the known working wine version.
I can't even run winetricks --self-update: warning: You don't have the proper permissions to run this command. Try again with sudo or as root.

Doing --self-update before using winetricks for this game has done the trick!
Now the labels in game show properly. Thank you for the tip!

Sorry , i just update to proton 5.13 and the game keeps crashing.
It will be some fix ?

Sorry , i just update to proton 5.13 and the game keeps crashing.
It will be some fix ?

The latest stable Proton version should be 5.0-9. Try this one first with the fixes described above. If it works with 5.0-9 but not with 5.13 (+ the fixes) then there might be a regression with the new build.

Thanks , The game now Works.

Just updated proton from 5.0-9 to 5.13-1 and works the same as before the upgrade.

Just updated proton from 5.0-9 to 5.13-1 and works the same as before the upgrade.

Didn't see previously that that they released a new proton version (sorry for the misunderstanding). But it still works without issues for me as well.

They've dropped a new preview build (Alpha 1.6.22.106) where the shader issue has been resolved!

Hi. I tried to run the game but it keeps crashing (or showing UI without translations).
I tried to do the following:

  1. Install Winetricks from master repo
curl https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks > winetricks
sudo mv winetricks /usr/bin/
sudo chmod +x /usr/bin/winetricks
  1. Remove the prefix
rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  1. Run the game to create the prefix again
  2. Install vcrun2017
WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017

I use Ubuntu 20.04, latest preview branch of the game and Proton 5.13.

I think you misses rename the Archivements.vdf and run it again.
I did exactly what you did and worked for me.

@Vavooon I would do also a sudo winetricks --self-update, just to be sure.

@Vavooon Check your winetricks version with winetricks --version. The checksum should be 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b. Also, make sure you don't have two seperate winetricks versions installed.

@Vavooon also, post the output of WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx /usr/bin/winetricks -q vcrun2017, it could help to find the issue.

@Sebastiangperez I can proceed to main menu if I rename it, but there is no translation and it crashes if I open settings.
@leinardi Tried to execute it too.
@MadByteDE It is 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b.

Here is winetricks log https://gist.github.com/Vavooon/df74df7f9e85f6efce4ed0ff66d883bb

@Vavooon I just ran winetricks --self-update and got the same version you are using:

leinardi@c7h:~$ winetricks --self-update
Executing cd /tmp/winetricks.FKCnFq7D
Downloading https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks to /tmp/winetricks.FKCnFq7D
--2020-10-18 14:22:41--  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Risoluzione di raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.192.133, 151.101.128.133, 151.101.64.133, ...
Connessione a raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 200 OK
Lunghezza: 873442 (853K) [text/plain]
Salvataggio in: "winetricks"

winetricks          100%[===================>] 852,97K  2,65MB/s    in 0,3s    

2020-10-18 14:22:41 (2,65 MB/s) - "winetricks" salvato [873442/873442]

Executing cd /home/leinardi
Executing mv /tmp/winetricks.FKCnFq7D/winetricks /home/leinardi/bin/winetricks.update
Executing rmdir /tmp/winetricks.FKCnFq7D
Executing cp /home/leinardi/bin/winetricks /home/leinardi/bin/winetricks.bak
Executing chmod -x /home/leinardi/bin/winetricks.bak
Executing mv /home/leinardi/bin/winetricks.update /home/leinardi/bin/winetricks
Executing chmod +x /home/leinardi/bin/winetricks
------------------------------------------------------
warning: Update finished! The current version is 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b. Use 'winetricks --update-rollback' to return to the previous version.
------------------------------------------------------

I start thinking that wine 5.18 is needed, can you try to update it to wine staging, delete the prefix and try again?

See here for the instructions on how to add the official wine repo: https://wiki.winehq.org/Ubuntu

@Vavooon I just ran winetricks --self-update and got the same version you are using:
I start thinking that wine 5.18 is needed, can you try to update it to wine staging, delete the prefix and try again?

See here for the instructions on how to add the official wine repo: https://wiki.winehq.org/Ubuntu

Do you mean the proton wine version or your system version of wine?

Do you mean the proton wine version or your system version of wine?

winetricks does not use Proton but the system wine installation, as you can see from the logs:

Using winetricks 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b with wine-5.0 (Ubuntu 5.0-3ubuntu1) and WINEARCH=win64
Executing w_do_call vcrun2017

So I installed wine-staging with sudo apt install --install-recommends winehq-staging, re-created prefix and installed vcrun2017.
Here's the log https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
The game still crashes.

Neither helped protontricks 690830 -q vcrun2017.

So I installed wine-staging with sudo apt install --install-recommends winehq-staging, re-created prefix and installed vcrun2017.
Here's the log https://gist.github.com/Vavooon/a258f50f1d88a678834effbb08519d95
The game still crashes.

Neither helped protontricks 690830 -q vcrun2017.

But , i think you are mistaken with two different versions of wine, the one that you installed in the system globally and the other one that came with proton.

@Sebastiangperez Indeed, winetricks says it is using wine 5.19 now (that's the latest version from winehq), although protontricks seems to use 5.13.
Do you have any idea how I could default to the Proton's version while running winetricks?

Maybe you can point out after the prefix ,something like this :
WINEPREFIX=/home/.../.steam/steam/steamapps/compatdata/690830/pfx /home/.../.steam/steam/steamapps/common/Proton\ 5.13/dist/bin/wine

Not sure I'm getting it. Am I supposed to run winetricks with Proton's wine version (it doesn't sound correct for me because winetricks is rather a script) or run it in some other way?

Try this :
I uninstall the game, delete the prefix, install the game, run it, let it crash, rename the Archivements.vdf file in localizacion (english directory),
download the latest version of winetricks from github and run localy not globaly like ./winetricks in the current directory, mabye you can do a ./winetricks --self-update after that, then run the winetricks using the prefix pinting to WINEPREFIX=/home/(yourusername)/.steam/steam/steamapps/compatdata/690830/pfx winetricks -q vcrun2017
All that worked for me.

@Sebastiangperez Tried exactly what you've suggested (however, the latest command was WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx ./winetricks -q vcrun2017) and still no luck. The game starts without translations.

Shit ... i had the same problem with the translations, but recently the game crashed when you starting up , i did all that with no hope.
did you run the winetricks --self-update ?
Do all that over again but with proton 5.09, the first time worked with this version, now i downloaded the patched version from the preview branch and im using the 5.13 version of proton.

Yes, I also tried winetricks --self-update
Looks like the right way to ensure winetricks is using Proton's wine version is to set WINE variable, like

WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/690830/pfx WINE=/home/$USER/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine winetricks vcrun2017

so I get correct wine version in output

Using winetricks 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b with wine-5.0-655-g2409bd1 and WINEARCH=win64

Anyways, it doesn't help.

did you delete the 690830 folder? i did that too.

@Sebastiangperez Sure, I always erase the prefix and run the game before I try.

@Vavooon the newest winetricks version seems to be faulty again. I tried it on my system & it skips the last step again.

warning: Wine-Fehler 30713 wird umgegangen -- Manually extracting the 64-bit dlls
------------------------------------------------------
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp vc_redist.x64.exe
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10
/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cabextract -q --directory=/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11
/home/larsl/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11: WARNING; possible 16976 extra bytes at end of file.

I don't know why they seemingly change the behavior of winetricks for installing vcrun2017 each version, but I guess this might be the issue. You could try to get your hands on the previous version again (8efa7c2d4b96045bf6dec3a4b60be588c4c9a7da4e6de7c010cb6f21e2fb708f).

@MadByteDE Thanks for the tip. Could you send me the working winetricksversion though? There is no way to find it by sha256sum.

@Vavooon I was in the same situation after updating winetricks to test why your installation failed. I manually copy pasted the workaround into the latest winetricks script to make it work. Here is the file: Mega or Gist. You'll need to replace your existing winetricks ( usually located in /usr/bin/ ) and make sure that it's executable. This is just meant as a temporary solution, I'll open an issue on the winetricks git page for this.

@MadByteDE Sorry, but are you sure it's the correct one? It still says 20200412-next - sha256sum: 61509663b824d72daafec6a95986e5b256e19e0e8ec1d2b7c4e89cf52665d63b when I run it. The translation is not getting fixed too.

@Vavooon I'm so sorry you're right. I replaced it again for testing purposes.
Give me a minute, I'll add the correct links to this post.

edit:
Mega
Gist

@MadByteDE Thanks a lot.
Unfortunately, I've faced with another issue:

Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp vc_redist.x64.exe
Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10
/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cabextract -q --directory=/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp /home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11
/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/temp/a11: WARNING; possible 16976 extra bytes at end of file.
cp: cannot create regular file '/home/vavooon/.steam/steam/steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32/ucrtbase.dll': Permission denied

@Vavooon Could you try to run winetricks with root permissions and try again? Forget about running as root.. this shouldn't be done. If that does not help, you could replace the dll files manually by downloading the vcrun installer from https://aka.ms/vs/15/release/vc_redist.x64.exe , extract the .exe with cabextract -q --directory="vcrun2017" VC_redist.x64.exe, extract the a10 and a11 directories and copy paste the dll's (or just the ucrtbase.dll) into ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32 with root permission.

edit: @gverm over at the winetricks git mentioned something about the file not getting replaced properly sometimes. I think this issue will hopefully be adressed soon via winetricks or wine itself.

@Vavooon could you check the owner of ../steamapps/compatdata/690830/pfx/dosdevices/c:/windows/system32/ucrtbase.dll ? seems like for some reason the file has been installed as another user and that's why you can't replace it with your permissions.

Eventually it works! Thanks a lot everyone for your help!

So I'd like to write down all the required steps:

  1. Erase wine prefix for the game: rm -rf /home/$USER/.steam/steam/steamapps/compatdata/690830
  2. Run game (use Proton 5.13+, preview branch for now) and let it re-create prefix
  3. Download https://aka.ms/vs/15/release/vc_redist.x64.exe , extract it with cabextract -q VC_redist.x64.exe, then extract ucrtbase.dll from a10 directory inside the exe.
  4. Copy ucrtbase.dll into /home/$USER/.steam/steam/steamapps/compatdata/690830/pfx/drive_c/windows/system32/, confirm replace.

@MadByteDE It's owned by my home user, nothing special. I believe it fails to override the file because cp should be executed with -r key or so.

@Vavooon glad it worked now. Alright, good to know. You should add that you probably needed to install vcrun2017 first, then manually replace the ucrtbase.dll, or did it work without the rest?

@MadByteDE Actually replacing the file is the only thing required to fix the issues.

Hi guys, I'm the technical director at Polymorph Games. First of all: thank you very much for the time and effort you put in invastigating those problems, it really helped us!

Since @smirgol reach out on the Steam forum to talk about the glsl compatibility issue we were able to deploy the fix on the preview branch, and it will reach the full content patch coming soon.

I've also been able to investigate the localization file loading issue, and it should be fixed too. What happened is that proton / wine just ignored our request to open the files as utf8 and was feeding us with row data. It was fixed by adding utf8 DOM in all our utf8 files.

I was not able to test the full game loading since I'm only running linux on a virtual machine (so I can't pass the opengl 4.3 check), but if that was really the last issue, the game should work without the vcrun2017 trick (once the new build will go live, version superior to 1.6.22).

Since the game is still in active developpment, I expect there will be other issues in the future. Even if linux is not our top priority, we'd like to still do what we can to make it easier to experiment Foundation on Linux. So don't hesitate to reach out to us on the Steam forum, or in our Discord, that will be the best way to make sure we're aware of new issues or ideas you have to fix the proton experience.

The discord: https://discord.com/invite/foundation
I recommand tagging Minotorious#0534 on #techsupport if you have news about the linux build

Cheers!

@leo-polymorph It's so rare to see a game studio come in this issue tracker and actually offer any kind of help/support, thanks a lot!

I didnt knew this game before reading this comment. Your positon towards us, linux gamers, made me want to play it. Thank you and keep up the good work. @leo-polymorph

@leo-polymorph Thanks for supporting us, it really means a lot!

@leo-polymorph Great News man , thanks.

I've also been able to investigate the localization file loading issue, and it should be fixed too. What happened is that proton / wine just ignored our request to open the files as utf8 and was feeding us with row data. It was fixed by adding utf8 DOM in all our utf8 files.

Heya, Wine/Proton dev here. If you can give us more information about this bug we can work to fix it in Wine. Feel free to respond here, or email me at [email protected]. Thanks!

I've also been able to investigate the localization file loading issue, and it should be fixed too. What happened is that proton / wine just ignored our request to open the files as utf8 and was feeding us with row data. It was fixed by adding utf8 DOM in all our utf8 files.

Heya, Wine/Proton dev here. If you can give us more information about this bug we can work to fix it in Wine. Feel free to respond here, or email me at [email protected]. Thanks!

I love when people work together for a common purpouse, i wish the humans works like this in every field.

Hey @aeikum , here is the issue:
We have an utf8 file, without DOM, 'localization/locales.txt'
We open it that way:
_wfopen_s(&m_file, "localization/locales.txt", "rt, ccs=UTF-8");

according to MS doc, the file stream should treat it as utf8 encoded source and convert it to UNICODE as reading. This works as expected on Windows.

image

MS Doc: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-s-wfopen-s?view=vs-2015

On proton, the system behaves as if we opened the file like this:
_wfopen_s(&m_file, "localization/locales.txt", "rt");

As a workaround, we added utf8 BOM to the file, and now proton reads the file as expected. This is not a problem for us to add the BOM, but it's a difference between windows & proton nevertheless.

@leo-polymorph Understood, thanks very much for the explanation. We'll take a look.

FWIW, Linux gamers, running the Preview build and running this script to add the UTF-8 BOM against the entire contents of the localization/en directory got the game up and running for me:
https://stackoverflow.com/questions/3127436/adding-bom-to-utf-8-files

So after I installed the latest update (1.6.24.1028) the game appears to be fully working on Linux without applying any hacks.

So after I installed the latest update (1.6.24.1028) the game appears to be fully working on Linux without applying any hacks.

So, i close this issue or i let it open just in case ?

Please keep it open.

Please keep it open.
OK!

Hello all, first great work on finding the solution for the issue, the game works apparently flawlessly right now. But may I bring the attention that the issue with BOM still persists for modded content, running a batch script seems to have worked for me, I dunno if that's something the developer can change, but let it be known for any other user.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

raikirii picture raikirii  ·  3Comments

AwesamLinux picture AwesamLinux  ·  3Comments

lucifertdark picture lucifertdark  ·  3Comments

ArekPiekarz picture ArekPiekarz  ·  3Comments

prototype99 picture prototype99  ·  3Comments