protontricks icon indicating copy to clipboard operation
protontricks copied to clipboard

SteamOS

Open andreashuetter opened this issue 6 years ago • 3 comments

Is there a way to install this on SteamOS?

I am asking because I already invested several days into trying to get this installed on my Steam Machine (lastest SteamOS updates installed), without any success.

The recommended way of installing via pipx does not work because this requires Python 3.6 or newer, and SteamOS only has Python 2.7.9 and Python 3.4.2 in its repository:

desktop@steamos:~$ python --version
Python 2.7.9
desktop@steamos:~$ python3 --version
Python 3.4.2

So I tried the other (not recommended) way of installing Protontricks (via pip), because according to the README this is supposed to work on any system where any version of Python3 is available. But on SteamOS the installation of pip is failing due to unresolved dependencies.

desktop@steamos:~/Downloads/Python-3.7.6$ sudo apt install python3-pip python3-setuptools
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 python3-pip : Hängt ab von: python3-colorama ist aber nicht installierbar
               Hängt ab von: python3-distlib ist aber nicht installierbar
               Hängt ab von: python3-html5lib ist aber nicht installierbar
               Hängt ab von: python3-requests ist aber nicht installierbar
               Empfiehlt: build-essential soll aber nicht installiert werden
               Empfiehlt: python3-dev (>= 3.2) soll aber nicht installiert werden
               Empfiehlt: python3-wheel ist aber nicht installierbar
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.

andreashuetter avatar Dec 23 '19 07:12 andreashuetter

This error seems to be coming from the fact that these dependencies cannot be installed with your current version of Python. There are a few things you can do from here:

  • Add the testing Debian repository to install the latest version of Python from. I wouldn't recommend this personally. If you want more information, see this StackOverflow answer. I'm not 100% sure this will work, full disclaimer. SteamOS must use modified repos, as I'm pretty sure Debian now has Python 3.6 in its stable repos. The upside to doing this is that Pip should install with it, and if it doesn't you can rerun the commands from above. Another upside to this approach is that both Python and Pip will update automatically.
  • Manually install Python 3.6+. I recommend 3.8 as it's the current latest, however it won't automatically upgrade but it should come installed with Pip. If it doesn't, you can repeat your install instructions above, or you could try installing Pip manually. Again, you will have no automatic updates with this approach. You probably aren't developing Python applications on your SteamOS installation, so really this shouldn't be an issue :)

If you do opt to install Python manually, please don't forget to use make altinstall so you don't overwrite any existing Python 3 installations. It looks like you have a Python 3.7.6 folder. The issue here seems to be that Pip's dependencies don't work with Python 3.4.2 from just looking at it.

Let me know how you go! In the meantime, I might set up a VM with SteamOS and see how I get on trying to accomplish this.

sonic2kk avatar Dec 23 '19 23:12 sonic2kk

Installing a newer version of Python manually seems to be the best choice to avoid conflicts with the system's own packages. This Stack Overflow answer should help.

After that is done (eg. you installed Python 3.6), the following should work:

sudo python3.6 -m pip install protontricks

This all assumes that SteamOS is similar enough to Debian 8 to work, so if Valve's own repositories don't provide some needed packages this will need additional effort.


On another note, Python 3.4 hasn't worked with Protontricks at least since 1.2.2 due to some missing standard library features. Python 3.4 has been EOL since March 18, 2019 and most Linux distros ship newer versions, judging by the fact that no Python 3.4 specific issues have been reported. I'll drop the compatibility claim in a newer release and only support Python 3.5+.

Matoking avatar Jan 01 '20 10:01 Matoking

Valve revealed SteamOS 3.0 as part of the Steam Deck announcement recently. Since it is based on Arch Linux, there is a good chance it will support Protontricks using the same method as Arch, though that will depend on what modifications they've made (eg. whether they ship the same packages as on Arch).

Matoking avatar Jul 19 '21 14:07 Matoking

Flatpak apps are available through Discover on SteamOS 3, so closing this issue.

Matoking avatar Jan 09 '23 17:01 Matoking