Steam est une plate-forme de distribution de contenu en ligne (principalement de jeux vidéo), de gestion des droits et de communication développée par Valve et disponible depuis 2003.
Orientée vers les jeux vidéos (et depuis peu les logiciels commerciaux), elle permet aux joueurs d'acheter des jeux dématérialisés, des démos de jeux prévus dans l'avenir et même déjà en circulation dans le commerce, du contenu pour les jeux et de gérer la partie multijoueur des jeux.
Elle effectue les mises à jour automatiquement et offre des outils communautaires autour des jeux utilisant Steam.
Tous les jeux de Valve sont prévus pour être portés, qu'il s'agisse de la franchise Half Life ou Left4Dead, et même Portal, la liste des jeux prévus pour être portés sous Linux augmente régulièrement.
Plusieurs méthodes d'installation sont disponibles, qu'elles soient automatisées, manuelles, graphiques, ou en mode console, ci dessous vous sont présentées quelques explications.
Depuis sa sortie officielle, Steam est disponible dans la Logithèque Ubuntu et peut être installé très facilement en quelques clics, très pratique pour les néophytes, ce dernier vous proposera de cliquer sur acheter, la possession d'un compte Ubuntu One est obligatoire pour son installation, mais vous n'aurez rien à payer, steam étant indiqué comme étant gratuit.
sudo apt-get install steam
Double-cliquez sur le paquet logiciel steam_latest.deb téléchargé précédemment, la Logithèque Ubuntu s'ouvre alors pour vous proposer d'installer le paquet.
Une fenêtre s'ouvrira à la fin de l'installation du paquet steam, cliquez sur Launch Steam pour lancer le client et finaliser l'installation.
Ouvrez un terminal si ce n'est pas déjà fait.
Si vous avez enregistré le paquet steam_latest.deb dans le dossier Téléchargements de votre Dossier personnel, installez le paquet avec la commande dpkg (remplacez le chemin si nécessaire) :
sudo dpkg -i ~/Téléchargements/steam_latest.deb
Une fenêtre s'ouvrira aussi à la fin de l'installation, cliquez sur Launch Steam pour lancer le client Steam et vous connecter sur votre compte ou en créer un.
Ci dessous vous sont données les informations nécessaires à l'intégration manuelle du dépôt logiciel Steam proposé par Valve, dans le système, sans avoir installé préalablement le paquet logiciel associé.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B05498B7
deb http://repo.steampowered.com/steam/ precise steam
Le résumé à saisir dans un terminal, utilise ici la commande apt-get :
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B05498B7 echo "deb http://repo.steampowered.com/steam/ precise steam" | sudo tee -a /etc/apt/sources.list.d/steam.list sudo apt-get update sudo apt-get install steam-launcher
steam
[0913/182910:WARNING:proxy_service.cc(958)] PAC support disabled because there is no system implementation
Mettez fin à ce lancement avec Ctrl+Z, fermez le terminal et ouvrez en un nouveau pour taper :
rm -Rf ~/.steam/steam/appcache
Vous pouvez maintenant relancer Steam. Jusqu'à ce que ce bug soit corrigé, il sera nécessaire de refaire cette commande à chaque fois que vous voulez lancer Steam ou le jeu en question.
LC_ALL=C steam
Steam se lance automatiquement dès que son installation s'est complétée. Une fenêtre de connexion à Steam apparaît en anglais, vous pouvez ajouter la traduction française mais seulement après vous être identifié.
Après vous etre connecté à Steam avec votre compte, pour changer de langue allez dans le menu Steam ⇒ Settings puis cliquez sur l'onglet INTERFACE et choisissez votre langue. Steam vous proposera alors de le redémarrer pour effectuer le changement, acceptez (RESTART STEAM), et Steam redémarrera dans la langue que vous aurez paramétré.
Le menu Steam → Paramètres permet de configurer les différentes options de Steam :
La bibliothèque → jeux de Steam liste les jeux qui ont été achetés via la boutique en ligne, et étant compatible avec la plateforme GNU/Linux. Pour installer un jeu, il suffit de faire un clic droit sur son nom dans la colonne latérale, et sélectionner « Installer le jeu… ». Celui-ci sera téléchargé et installé automatiquement. À noter que le temps nécessaire dépendra de la taille des fichiers à télécharger (ils peuvent facilement prendre plusieurs Gio par jeu !), ainsi que de la vitesse de votre connexion internet !
Un exemple avec l'un des jeux les plus célèbres de Steam, Team Fortress 2.
Avec un peu d'huile de coude, il est déjà possible de se faire une SteamBox maison, il suffit pour cela de rajouter un dépôt qui installera le paquet logiciel steam-desktop, ce dernier vous permettra de démarrer automatiquement le mode Big Picture de Steam au démarrage d'une session sans charger d'environnement de bureau.
Cette méthode offre quelques avantages, permettant d'allouer aux jeux plus de mémoire vive, d'obtenir de meilleures performances 3D OpenGL car environnement sans composite, de se configurer une distribution très lègère dédiée démarrant très rapidement, etc…
En une ligne de commande, exécutez ainsi :
sudo add-apt-repository ppa:thor27-gmail/steam-desktop && sudo apt-get update --quiet && sudo apt-get install steam-login --quiet
Vous pourrez ainsi par la suite, sélectionner Steam au démarrage de votre session.
Vous pouvez également cocher “lancer steam au démarrage” dans les préférences, il existe aussi la possibilité de le lancer en mode “big picture” (comme une console de jeu) néanmoins, ces deux dernières méthodes ne vous permettrons pas de bénéficier de meilleures performances 3D OpenGL.
Prérequis :
Procédure :
Créer un rep commun
sudo mkdir -p /home/commun/steam sudo chmod 2755 /home/commun sudo chgrp -R users /home/commun/steam sudo chmod -R 2775 /home/commun/steam sudo adduser <user_1> users sudo adduser <user_2> users
Ce n'est pas suffisant pour fonctionner car steam a besoin des droits du 'user' pour fonctionner. Pour pouvoir avoir plusieurs users sur une répertoire il faut utiliser les ACL :
sudo setfacl -Rm d:u:<user_1>:rwx /home/commun/steam sudo setfacl -Rm d:u:<user_2>:rwx /home/commun/steam
Remplacer <user_1> et <user_2> par vos identifiants(compte unix).
Il est possible de lister les ACL :
sudo getfacl /home/commun/steam
En suite <user_1> lance steam puis aller Steam/Paramètres/Téléchargements clic sur 'DOSSIER STEAM' et 'AJOUTER UN DOSSIER' selectionner '/home/commun/steam' puis 'SELECTIONNER' ensuite clic droit sur le nouveau dossier et 'Definir dossier par default'.
Faire de même pour le <user_2>.
Une fois fait mettre en place le mode famille et partager vos jeux d'un compte à l'autre. Ils ne seront installés qu'une seul fois sur le HDD.
Actuellement, tous les jeux nécessitent d'avoir les drivers de votre carte graphique les plus à jour possible pour pouvoir utiliser les jeux proposés sereinement, le développement de ceux ci s'est beaucoup accéléré depuis l'apparition de la première bêta publique de Steam, qu'il s'agisse de Nvidia, AMD, ou Intel, et tend de plus en plus à rattraper les performances de ceux disponibles sous Windows et MacOS.
Pour ce faire, vous devez
ce qui se résume avec le terminal en une commande:
sudo add-apt-repository ppa:xorg-edgers/ppa && sudo apt-get update && sudo apt-get dist-upgrade
Si vous ne l'avez pas déjà installé, installez le driver le plus performant correspondant à votre carte graphique, en fonction de votre préférence, vous pouvez utiliser un pilote libre ou propriétaire (qui nécessitera une installation supplémentaire), mais si son développement est encore incomplet pour votre matériel, rien ne garantit que ce dernier permettra un fonctionnement correct d'un ou plusieurs jeux, tandis qu'un driver propriétaire offre généralement de meilleures performances mais ne vous garantit pas un bon support de votre matériel sur le moyen et long terme, le développement de ce dernier étant fait selon le bon vouloir du fabriquant de votre matériel.
Typiquement, le matériel faisant fonctionner Steam, Big Picture, et les jeux proposés se partage entre AMD et Nvidia, et accessoirement Intel (mais avec des performances bien moindres.)
Optimus est une technologie conjointement développée par Nvidia et Intel sur PC portable, elle permet à ceux ci d'alterner entre le GPU Intel (peu gourmand et moins performant, suffisant pour tout type d'usage hormis les jeux) et le GPU Nvidia (plus performant et gourmand) à volonté afin d'économiser de l'énergie, Nvidia s'est longtemps refusé à en apporter le support sous Linux (bien que la situation commence enfin à se débloquer officiellement avec une intégration préliminaire sur les derniers drivers propriétaires Nvidia).
Heureusement, un projet open source et libre, permet le support de cette technologie de façon officieuse, pour ce faire, vous devrez suivre les indications d'installation données sur la page de documentation Bumblebee.
Une fois ceci fait, il conviendra d'effectuer quelques manipulations particulières, rien de compliqué toutefois.
Éditez le fichier de configuration /etc/environment en premier lieu.
Méthode graphique :
gksudo gedit /etc/environment
Méthode en ligne de commande (CTRL+O pour enregistrer, CTRL+X pour quitter) :
sudo nano /etc/environment
À la fin du fichier de configuration, sautez une ligne, et rajoutez y ceci :
OPTIMUS_PREFIX="optirun"
Enregistrez les modifications puis quittez l'éditeur.
Désormais, sur chaque jeu que vous voudrez lancer en exploitant le GPU Nvidia, il faudra faire un clic droit sur le nom de ce dernier, aller dans ses propriétés, et définir dans les options de lancement :
$OPTIMUS_PREFIX %command%
Puis cliquez sur OK.
Pour exploiter à nouveau le GPU Intel, il suffit de supprimer cette option de lancement (champ vide).
Il existe deux solutions pour ce problème : une première qui consiste à forcer l'utilisation de steam dans le contexte “optirun”, et une seconde permet d'éviter cette contrainte (utilisation parfois inutile de la carte graphique).
Il va falloir lancer steam dans le contexte optirun (copier la commande suivante, puis ALT-F2, puis coller, puis entrer)
gksudo gedit /usr/share/applications/steam.desktop
Remplacer la ligne 4 :
Exec=/usr/games/steam %U
par
Exec=optirun /usr/games/steam %U
. Enregistrer et quitter. Ensuite relancer steam normalement.
Si vous lancez steam en ligne de commande, il faut aussi ajouter optirun devant votre commande :
optirun steam
1. Si vous n'avez pas mis à jour votre ordinateur depuis un moment, ouvrez un terminal et exécutez le code ci-dessous :
sudo apt-get update && sudo apt-get -y upgrade
2- Si vous avez déjà installé steam, passez à l'étape 3. Si vous n'avez pas encore installé steam, lancez la commande :
sudo apt-get install -y steam
… 3 - Ouvrez le fichier de configuration de Steam avec votre éditeur préféré (gedit, nano, leafpad…)
sudo gedit /etc/ld.so.conf.d/steam.conf
4- Il est probablement vide. S'il est vide, copiez les deux lignes suivantes. S'il n'est pas vide, ajoutez ces deux lignes à la toute fin du fichier :
/usr/lib32 /usr/lib/i386-linux-gnu/mesa
5- Sauvegardez (ctrl+s) et quittez
6- Exécutez la commande suivante dans le terminal :
sudo ldconfig
7- enfin, réinstallez cette librairie Mesa/OpenGL:
sudo apt-get install --reinstall libgl1-mesa-glx:i386
8- C'est terminé. Ouvrez steam pour vérifier qu'il fonctionne, et sinon essayez la première méthode décrite ci-dessus (forcer le contexte optirun).
Certains jeux Steam ont parfois des problèmes avec la luminosité sur certains ordinateurs : il suffit alors de rajouter comme option de lancement aux jeux concernés :
LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 %command%
LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%
La manette de jeu filaire Xbox 360 est prise nativement en charge par tous les jeux annoncés compatibles avec la manette, il en va de même avec le mode Big Picture de Steam.
L'adaptateur USB wireless et la manette sans fil ne sont toutefois pas reconnus de base sous Ubuntu 12.04 et 12.10. Pour y remédier, rendez vous sur la page dédié à la manette Xbox 360.
1 : Steam est téléchargé puis installé par votre gestionnaire de paquet (durant l'installation, le dépôt officiel de Steam est également rajouté aux autres dépôts logiciels connus, de la même façon que google le fait par exemple, avec son Navigateur Chrome)
2 : L’exécution du processus steam lance un script nomme “steam” situé dans /usr/bin/, qui vérifie quels programmes sont présents sur le système et si les dépendances minimales sont bien installées, et ensuite qui vérifié la présence ou non, du dossier .steam dans le répertoire utilisateur ainsi que de divers liens symboliques.
A : Si non, il copie le contenu de l'archive installée via le paquet, situé dans /usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz, dans le dossier /home/$USER/.local/share/Steam/, contenu contenant en réalité une version minimale de Steam (permettant la mise à jour), avec les librairies nécessaires à ses besoins, puis l’exécute.
B : Si oui, il lit la configuration du fichier registry.vdf situé dans /home/$USER/.steam/ et exécute Steam via le script situé dans /home/$USER/.local/share/Steam/steam.sh, chemin pouvant être modifié dans le fichier de configuration en question.
3 : Les fichiers de cache de l'utilisateur connecté sur Steam, propre à la version de Steam exécutée via /home/$USER/.local/share/Steam/steam.sh, sont créés et se situent dans le dossier /home/$USER/.local/share/Steam/userdata/, les fichiers de configurations généraux se situant eux dans /home/$USER/.local/share/Steam/config/.
4 : Les jeux de Valve utilisant le moteur source sont téléchargés sous forme de fichiers compressés au format gcf propre à Valve directement dans le dossier /home/$USER/.local/share/Steam/SteamApps/, puis installés dans /home/$USER/.local/share/Steam/SteamApps/Nom-du-compte-Steam/. Les jeux d'autres studios/éditeurs eux, sont téléchargés , dans le dossier /home$USER/.local/share/Steam/SteamApps/downloading/ directement sous la même forme que lorsqu'ils sont installés par l'installateur classique d'une version boîte (si ce n'est une modification de l’exécutable pour l'intégration de l'overlay Steam et du DRM, le tout géré par une librairie généralement nommée libsteam_api.so) , aucun installateur particulier à l'un de ces jeux n'étant nécessaire (tout comme le fait Steam sous Windows), ensuite le dossier de chaque jeu téléchargé est déplacé dans /home$USER/.local/share/Steam/SteamApps/common/.
5 : Steam ne joue ensuite plus que le rôle de lanceur, le jeu s’exécutant étant indépendant de ce dernier (et embarquant ses propres librairies), sauf en ce qui concerne des fonctions propres lui étant intégrées spécifiquement lors de sa mise à disposition sur Steam (l’exécutable est donc recompilé spécifiquement pour intégrer ces fonctions), pour la gestion de l'overlay de Steam, et la vérification que le processus Steam est bien lancé pour qu'il s’exécute. (DRM)
6 : Il n'est pas rare qu'un jeu embarque directement ses propres librairies pour ne pas souffrir d'une incompatibilité sur telle ou telle distribution ou évolution/remplacement de celles ci.
Liste des jeux steam pour Linux sur le site lui-même : ici
En cochant “Jeux” et “Démos” et en triant par prix croissant vous avez la liste d'une centaine de jeux gratuits (démo gratuite, jeu gratuit, free to play).
Certains jeux possèdent une démo gratuite (non répertoriée).
Une liste (non exhaustive) des jeux disponible sur Steam se trouve sur cette page, participez donc à sa rédaction ainsi qu'à celle des différentes pages de jeux de la documentation !
Si vous avez un problème de lags ou pour communiquer, vous devez ouvrir ses ports sur votre box ex: freebox, sur livebox, bbox, etc… (info pris sur steam)
Steam Client :
UDP 27000 to 27015 inclusive (Game client traffic) UDP 27015 to 27030 inclusive (Typically Matchmaking and HLTV) TCP 27014 to 27050 inclusive (Steam downloads) UDP 4380
Dedicated or Listen Servers :
TCP 27015 (SRCDS Rcon port)
Steamworks P2P Networking and Steam Voice Chat:
UDP 3478 (Outbound) UDP 4379 (Outbound) UDP 4380 (Outbound)
Pour Call of Duty (Modern Warfare 2 Multiplayer) :
UDP 1500 (outbound) UDP 3005 (outbound) UDP 3101 (outbound) UDP 28960
Si Steam ne se lance pas après l'installation, cela est probablement dû à l'obsolescence de certaines librairies GCC fournies avec le paquet steam par rapport à celles fournies avec Ubuntu. Pour forcer Steam à utiliser celles du systèmes régulièrement mises à jour il vous faudra supprimer les librairies obsolètes :
Pour Ubuntu 14.04:
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
Pour Ubuntu 14.10:
rm ~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
ou
rm ~/.steam/bin32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.steam/bin32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.steam/bin32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.steam/bin32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.steam/bin32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
Steam embarque ses propres librairies GCC, mais elles sont dépassé avec les nouvelles distributions. Les supprimer résout le problème :
Pour Ubuntu 14.04:
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
Pour Ubuntu 14.10:
rm ~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
ou
rm ~/.steam/bin32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.steam/bin32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 rm ~/.steam/bin32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1 rm ~/.steam/bin32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 rm ~/.steam/bin32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1