Installer Steam sur Ubuntu (16.04 & 16.10)

Sur Ubuntu, lorsqu’on utilise le pilote graphique libre (Mesa − concerne les GPU AMD/ATI et Intel), Steam ne démarre pas, les bibliothèques qu’il intègre − la runtime − étant en conflit avec celles du système.

Il y a deux façons d’aborder ce problème : supprimer les fichiers problématiques de la runtime ou précharger les versions du système avant de lancer Steam. La première solution, si elle n’est pas automatisée, doit être refaite à chaque mise à jour de Steam ; la seconde pose problème avec certains jeux.

La méthode la plus simple de le résoudre consiste donc à automatiser la suppression de ces fichiers à chaque lancement de Steam. Pour ce faire, on privilégiera la version de Steam proposée dans les dépôts d’Ubuntu qui, à la différence du paquet téléchargeable sur le site de Valve, intègre un script de démarrage facile à modifier.

Dans cet article, nous allons voir comment installer la bonne version et corriger le script en question.

Rappel : le raccourci ~ correspond à votre dossier personnel et les fichiers dont le nom commence par un point sont cachés. De plus, certaines commandes nécessiteront d’utiliser l’éditeur de texte. Sur les environnements Unity/Gnome, celui-ci est gedit ; si vous utilisez un autre environnement de bureau, remplacez-le par votre éditeur habituel dans les commandes correspondantes : mousepad (Xfce), kate (KDE), pluma (Mate), etc.

Suppression de Steam installé par le paquet officiel

Tout d’abord, si vous avez déjà installé Steam via le paquet de Valve et installé des jeux, il va falloir mettre ceux-ci de côté (afin de ne pas avoir à les retélécharger plus tard). Puis supprimer cette version de Steam. Rendez-vous directement à la partie traitant de l’installation si vous n’êtes pas concerné(e).

Avec le gestionnaire de fichiers, on se rend dans ~/.local/share/Steam et on déplace les dossiers steamapps et userdata sur le bureau. Le premier dossier contient les jeux installés et le second des paramètres personnels relatifs à certains jeux (captures d’écran, fichiers de configuration, etc.).

On remonte ensuite dans ~/.local/share et on supprime le dossier Steam. Puis on remonte à la racine du dossier personnel et on supprime le dossier .steam.

On peut alors supprimer le paquet de Steam et le dépôt qui va avec :

sudo apt-get remove --purge steam-launcher
sudo rm /etc/apt/sources.list.d/steam.list
sudo apt-get update

Installation de Steam depuis les dépôts Ubuntu

On commence par installer le paquet correspondant :

sudo apt-get install steam

On édite alors son script de lancement pour rajouter les commandes qui supprimeront les fichiers problématiques de la runtime.

sudo gedit /usr/games/steam

Pour Ubuntu 16.04

On ajoute la ligne qui commence par find dans le script :

#!/bin/sh
# Copyright (C) 2013-2014 Michael Gilbert <mgilbert@debian.org>
# License: MIT

set -e

real=/usr/games/steam.real
config=$HOME/.steam
ubuntu32=$config/ubuntu12_32
exe=$ubuntu32/steam

find $config/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -delete

# launch steam / do an initial update when the exe does not already exist
test ! -d $config && rm -rf $config && mkdir -p $config || true
test ! -x $config/steam.sh && rm -rf $config/package $exe || true
test ! -d $ubuntu32 && rm -rf $ubuntu32 && mkdir -p $ubuntu32 || true
test ! -x $exe && rm -rf $exe && cp $real $exe && $ubuntu32/steam || true
test -x $config/steam.sh && $config/steam.sh "$@" 2>$config/error.log

Pour Ubuntu 16.10

On ajoute les deux lignes qui commencent par find à la fin du script :

#!/bin/sh -e
# Copyright (C) 2013-2016 Michael Gilbert <mgilbert@debian.org>
# License: MIT

config=$HOME/.steam
ubuntu32=$config/ubuntu12_32
steam=$ubuntu32/steam
runtime=$ubuntu32/steam-runtime

real=/usr/lib/games/steam/steam

# use C locale (bug #764311)
test -n "$LANG" || export LANG=C

# do an initial update when expected pieces are missing
test ! -d $config && rm -rf $config && mkdir -p $config || true
test ! -x $config/steam.sh && rm -rf $config/package $steam || true
test ! -d $ubuntu32 && rm -rf $ubuntu32 && mkdir -p $ubuntu32 || true
test ! -x $steam && rm -rf $steam && cp $real $steam && $steam || true
test ! -e $runtime.tar.xz && cat $runtime.tar.xz.part* > $runtime.tar.xz || true
test ! -d $runtime && cd $ubuntu32 && tar xf steam-runtime.tar.xz && \
 md5sum steam-runtime.tar.xz > steam-runtime/checksum || true

# remove steam-runtime's libstdc++ files, which are incompatible with
# newer mesa drivers (https://bugs.freedesktop.org/78242)
find $runtime -name libstdc++.so\* -delete

# remove steam-runtime's libgpg-error files for the same reason
find $runtime -name libgpg-error.so\* -delete

find $runtime -name libgcc_s.so\* -delete
find $runtime -name libxcb.so\* -delete

# launch the Valve run script
test -x $config/steam.sh && $config/steam.sh "$@" 2>$config/error.log

Finalisation

On peut alors lancer Steam. Laissez-le faire ses mises à jour éventuelles puis fermez-le.

Si vous aviez sauvegardé les dossiers steamapps et userdata sur le bureau, rouvrez le navigateur de fichiers, rendez-vous dans le dossier ~/.steam/steam et supprimez les dossiers steamapps et userdata qui s’y trouvent. Mettez alors ceux qui se trouvent sur le bureau à la place.

Steam peut alors être utilisé normalement.

Publicités

3 réflexions sur “Installer Steam sur Ubuntu (16.04 & 16.10)

  1. SUR LE 16.04 j’ai d’abord du lancer steam sans mettre la ligne
    find $config/root/ \( -name « libgcc_s.so* » -o -name « libstdc++.so* » -o -name « libxcb.so* » -o -name « libgpg-error.so* » \) -delete
    il a lancé une mise a jour.
    ensuite tout ce ferme
    je relance steam rien ne ce passe
    j’ajoute la ligne et ça finalise la mise à jour et là steam ce lance normalement

    Merci !!

    J'aime

  2. Bonjour, je bute pour faire fonctionner steam sur une ubuntu mate 16.04 LTS 64…je suis obligé de le lancer systématiquement depuis un terminal de cette façon : LANG=C steam…sinon, rien à faire, il plante sur une erreur de bootstrap…y’a t’il une solution pour le lancer « normalement »….la ligne de commande ne me gene pas mais là, c’est le PC de ma moitié…

    J'aime

    • Là, tu me poses une colle mais j’ai l’impression qu’il y a un problème avec les locales de ton système qui est certainement plus vaste que le lancement de Steam. Essaie d’ouvrir un sujet sur le forum Ubuntu en précisant le retour de la commande locale.

      J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s