ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

Divinity Original Sin 2 not working in Flatpak #6740

Closed ShalokShalom closed 4 years ago

ShalokShalom commented 4 years ago

Your system information

Steps for reproducing this issue:

  1. Install the Steam Flatpak
  2. Try to install Divinity - Original Sins 2
  3. Realize they are trying to install it into a folder, that does not exist

EASY FIX

  1. Simply check if the casual Steam directory exists. If not, check if the Flatpak repository exists. The path to Flatpak is

/home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Divinity Original Sin 2/

Screenshot_20191203_021959

So in short, ~/.var/app/com.valvesoftware.Steam/.local/share/Steam replaces the commonly used ~/.local/share/Steam

I suggest that for all software as a fallback, Flatpak is the only way to get Steam running on my 64 Bit only OS and I guess there are other use cases as well.

Thanks a lot :hugs:

nanonyme commented 4 years ago

So a bit of context: Flatpak by default unless you request something else runs all applications in a sandbox so that they don't have permissions to write on top of files in your user home. From Flathub Steam point of view the real directory ~/.var/app/com.valvesoftware.Steam is actually your home directory. To make things a bit more complicated, there's also ~/.var/app/com.valvesoftware.Steam inside the sandbox which resolves to itself.

By default the entire ~/.var/app/com.valvesoftware.Steam was visible in paths (eg the path to .exe) but we realized that Wine was for some users hitting some max path limit so games refused to start at all. To fix this we rewrote the enviroment a bit in wrapper so Steam actually sees the path as /home/$USER/.local/share/Steam/steamapps/common/Divinity Original Sin 2/ instead of /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Divinity Original Sin 2/. (both are present in the sandbox) This is of course a bit confusing because the paths Steam talks about aren't in reality present if you try to explore to that path on your disk. You can from command line do flatpak run --command=bash com.valvesoftware.Steam to spawn bash shell inside the sandbox to see what it has eaten.

Now for why the game doesn't actually start, I don't know. It would be useful to know if the game started in native Steam with that same user account name. We might again be hitting path length limit if that's a Proton (Wine) game but in this case the problem should be visible with native Steam too if that's the case.

kisak-valve commented 4 years ago

@ShalokShalom, what version of Proton are you testing the game with? You can press the ⓘ button to the right of the Play button and it should tell you which compatibility tool is selected.

ShalokShalom commented 4 years ago

@ShalokShalom, what version of Proton are you testing the game with? You can press the ⓘ button to the right of the Play button and it should tell you which compatibility tool is selected.

Steam Linux Runtime. I guess this is the current version?

I pointed it to /.var/ and the download did not happen as well. Can you reproduce?

Screenshot_20191205_195232

kisak-valve commented 4 years ago

The Steam Linux Runtime is a separate compatibility tool and unrelated to Proton. The initial deployment of it is not compatible with Proton, and by extension Windows games. You'll want to tell Steam to use a Proton version.

This issue is effectively a duplicate of https://github.com/ValveSoftware/steam-runtime/issues/200.

ShalokShalom commented 4 years ago

I changed to Proton, this is what I got:

https://sendvid.com/c8sbktyp

Installed it into the the default folder.