flathub / com.valvesoftware.Steam

https://flathub.org/apps/details/com.valvesoftware.Steam
345 stars 69 forks source link

Proton Can't Launch #152

Closed Saroufim closed 6 years ago

Saroufim commented 6 years ago

Valve's wine fork, Proton, which is part of the updated Steamplay, does not work. It cannot find /usr/bin/python2.7. despite the fact that it's there (sandbox permission perhaps?)

nanonyme commented 6 years ago

It is not a part of the runtime

nanonyme commented 6 years ago

Marking as game issue for tracking purposes. Does not mean there won't necessarily be a workaround but really, Steam runtime should just ship Python2 if Valve wants it there in general

nanonyme commented 6 years ago

Is that the exact error it gives? Which games work as samples?

Saroufim commented 6 years ago

Here is the exact error:


sh: /home/User/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton 3.7/proton: /usr/bin/python2.7: intérprete erróneo: No existe el fichero o el directorio
sh: /home/User/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton 3.7/proton: /usr/bin/python2.7: intérprete erróneo: No existe el fichero o el directorio
sh: /home/User/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Proton 3.7/proton: /usr/bin/python2.7: intérprete erróneo: No existe el fichero o el directorio

Translation: Wrong interpreter, the file or directory does not exist.

Here is a list of the sample games that should be ideally working:

Beat Saber Bejeweled 2 Deluxe Doki Doki Literature Club! DOOM DOOM II: Hell on Earth DOOM VFR Fallout Shelter FATE FINAL FANTASY VI Geometry Dash Google Earth VR Into The Breach Magic: The Gathering - Duels of the Planeswalkers 2012 Magic: The Gathering - Duels of the Planeswalkers 2013 Mount & Blade Mount & Blade: With Fire & Sword NieR: Automata PAYDAY: The Heist QUAKE S.T.A.L.K.E.R.: Shadow of Chernobyl Star Wars: Battlefront 2 Tekken 7 The Last Remnant Tropico 4 Ultimate Doom Warhammer® 40,000: Dawn of War® - Dark Crusade Warhammer® 40,000: Dawn of War® - Soulstorm

You can still play other Windows games so it's not limited to this list. This, however, is the list of games that are supported.

Pixelnarium commented 6 years ago

Since the freedesktop sdk wants to get rid of Python 2 I think it should be OK to bundle it with the flatpaked Steam? Don't know if this would work if the python inside the flatpak is not in /usr/bin

alatiera commented 6 years ago

Since the freedesktop sdk wants to get rid of Python 2 I think it should be OK to bundle it with the flatpaked Steam? Don't know if this would work if the python inside the flatpak is not in /usr/bin

Python2 is not going anywhere from the 18.08 branch of the Sdk, this MR is for 19.08 and onwards. Keep in mind though, that Python 2 is already gone from the org.freedesktop.Platform and only available in org.freedesktop.Sdk.

Pixelnarium commented 6 years ago

It all depends on how long Valve wants to stick to Python 2 (support ends 2020 if they do not delay it again). Since Steam is centered around Debian/Ubuntu/SteamOS I don't think that they are going to bundle it with Steam itself.

Sure, they should bundle it, but I think it should be solved as soon as possible by the flatpak version of Steam. At least when this feature is coming to the Non-Beta version. Or you may end up losing many users.

nanonyme commented 6 years ago

Okay, so they actually hardcode full path instead of picking python2. 7 from PATH. That's unfortunate.

nanonyme commented 6 years ago

@Pixelnarium we will probably bundle Python2, however, app can only write under /app, not /usr so I might need to work with FDO runtim3 maintainers to bridge the gap

Pixelnarium commented 6 years ago

Since Proton is open source you could also patch the abolute path to python. See here

swick commented 6 years ago

The right thing to do is convince Valve to stop depending on python2.

nanonyme commented 6 years ago

My PR was just merged so we should be able to handle this by bundling Python2 in the app until 2020. See discussion in linked PR to why the Python3 port might take some time

alatiera commented 6 years ago

I am working on the python2 shared module, got it working only need to clean some stuff before it gets merged in flathub/shared-modules.

gasinvein commented 6 years ago

@alatiera this won't help. Hardcoded path in shebang is /usr/bin/python2.7, while app modules are installed to /app.

nanonyme commented 6 years ago

@gasinvein I just fixed that in Proton side

gasinvein commented 6 years ago

@nanonyme How? They accepted pull request?

alatiera commented 6 years ago

@nanonyme I've also got a sed workaround for the paths https://github.com/alatiera/com.valvesoftware.Steam/commit/61ffc5a2692969bb51496f060a67f428022070e8

nanonyme commented 6 years ago

@gasinvein sure, it was a trivial PR, got accepted fairly fast

nanonyme commented 6 years ago

@alatiera please include in the PR description a link to the Proton-side issue of supporting Python 3 so we know when to remove Python 2

Holzhaus commented 6 years ago

Is something still missing? Or this PR-ready?

alatiera commented 6 years ago

@Holzhaus I was waiting on https://github.com/flathub/shared-modules/pull/28. Opening an PR now.

nanonyme commented 6 years ago

As said in PR, it may take a while until the change trickles through the build system.

nanonyme commented 6 years ago

https://flathub.org/builds/#/builders/2/builds/3816

nanonyme commented 6 years ago

https://flathub.org/builds/#/builders/9/builds/1845 should be the final stage

nanonyme commented 6 years ago

It's out now

jadbox commented 6 years ago

@nanonyme I've ran flatpak update but the issue doesn't seem to be resolved for me. Do I need to remote and reinstall Steam or something?

flatpak info com.valvesoftware.Steam

Ref: app/com.valvesoftware.Steam/x86_64/stable
ID: com.valvesoftware.Steam
Arch: x86_64
Branch: stable
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2018-08-23 21:24:06 +0000
Subject: Add workaround for Photon paths (aa14866e)
Commit: a39d9deb4e678f15a26295e9d6a9a4142c2df56f2324ae64d01d2c9e96e793ec
Parent: ded03212072c7e926a37a1889b2b7e43f184f0322de8ab9d4b608c53fb9346b6
Location: /home/jdunlap/plus/flatpak/app/com.valvesoftware.Steam/x86_64/stable/a39d9deb4e678f15a26295e9d6a9a4142c2df56f2324ae64d01d2c9e96e793ec
Installed size: 54.8 MB
Runtime: org.freedesktop.Platform/x86_64/18.08
Sdk: org.freedesktop.Sdk/x86_64/18.08
ERROR: ld.so: object '/home/jdunlap/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/bin/sh: /home/jdunlap/.var/steamapps/steamapps/common/Proton 3.7/proton: /usr/bin/python2.7: bad interpreter: No such file or directory
nanonyme commented 6 years ago

Up to date Proton isn't supposed to have this issue. I suggest trying to move Proton out from steamapps and seeing if it gets updated

nanonyme commented 6 years ago

@alatiera For some reason the workaround isn't working here

nanonyme commented 6 years ago

@jadbox if that helps, can you please help us document the workaround in https://github.com/flathub/com.valvesoftware.Steam/wiki/Frequently-asked-questions? I'm over a cell phone

alatiera commented 6 years ago

@jadbox what does the first line of $HOME/.var/steamapps/steamapps/common/Proton 3.7/proton look like?

ie, does it start with !#/usr/bin/python2.7?

alatiera commented 6 years ago

@jadbox also does the issue persist if you relaunch? I am suspecting proton might have redownloaded itself again in the background.

swick commented 6 years ago

https://github.com/ValveSoftware/Proton/commit/9c3667c0836fb952df0e1594bdda5c18128c811c

python2.7 should not be required anymore.

nanonyme commented 6 years ago

@swick just that it got merged doesn't mean it landed on everyone's machines

nanonyme commented 6 years ago

There's a workaround in place that will be removed as part of #167 after dust has settled