Table des matières

, , ,

Logo de Steam

Steam, la plate-forme de jeux

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éo (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 déjà disponibles ainsi que de nombreux jeux indépendants. Les triples A se font actuellement rares mais certains éditeurs commencent à faire des efforts, en septembre 2021 le catalogue est riche de 8618 jeux.

Pré-requis

Méthodes d'installation

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.

Pour la version 19.04 il semblerait qu'il faille ajouter l'architecture i386 à votre Ubuntu, pour se faire, veuillez ouvrir un terminal avec pour contenu :

Nous vérifions notre architecture courante :

dpkg --print-foreign-architectures

Et si vous ne voyez pas i386, veuillez saisir :

sudo dpkg --add-architecture i386 ; sudo apt update

Depuis les dépôts officiels (recommandé)

Depuis sa sortie officielle, Steam est disponible dans les dépôts officiels et peut être installé ultra facilement, très pratique pour les néophytes en informatique.

Pour ce faire, installez le paquet steam.

si vous avez un problème de détection de joystick (no controller detected), essayez avec le paquet steam-devices

Installation depuis le paquet logiciel (non recommandé)

Commencez par télécharger la dernière version de Steam ici et enregistrez-le sur votre disque dur.

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.

Cliquez sur le bouton Install ou Installer pour lancer l'installation automatisée.

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.

Utilisation

Démarrer Steam

En utilisant les menus, cliquez sur Jeux puis Steam. Ou alors, lancez l'application via le terminal avec la commande suivante :

steam

(le lancement de Steam en ligne de commande, peut vous aidez à résoudre certains problèmes de lancement par l'affichage de messages d'erreurs)

Connexion à Steam

Connexion à 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 pourrez choisir la langue française mais seulement après vous être identifié.

Changer la langue de l'interface

Après vous être 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ée.

Configuration

Activer ProtonDB

Le menu Steam → Paramètres permet de configurer les différentes options de Steam :

Les jeux Steam

Les jeux Steam

La bibliothèque → jeux de Steam liste les jeux qui ont été achetés via la boutique en ligne, et étant compatibles 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.

SteamBox Maison

Il est possible de se faire une SteamBox maison, à l'image des Steam Machines.
La méthode consiste à démarrer automatiquement le mode Big Picture de Steam au démarrage d'une session sans charger l'environnement de bureau.
Cette méthode offre quelques avantages :

En une ligne de commande, exécutez :

sudo add-apt-repository ppa:thor27-gmail/steam-desktop && sudo apt-get update --quiet && sudo apt-get install steam-login --quiet
Obsolète, solution alternative se trouve sur Steam Community. Elle semble bien fonctionner.

Streaming Local

si l'on possède 2 ordinateurs, avec 2 installations de Steam, ou un Steam Link, il est possible de lancer les jeux à distance, et avoir l'affichage déporté sur l'autre ordinateur.
Cela fonctionne sur un réseau local, et avec de meilleures performances sur un réseau Ethernet.
Il faut lancer Steam sur les 2 machines, les 2 machines se voient alors, et l'option de "streamer" est proposée sur celle où le jeu n'est pas installé.
(voir plus d'information ici )

Mise en place basique

Steam doit avoir les droits en écriture sur le périphérique /dev/uinput pour pouvoir déporter les manettes de la machine hôte.

sudo nano /etc/udev/rules.d/90-joystick-perms.rules
ENV{ID_INPUT_JOYSTICK}=="1", MODE="0660", GROUP="games"

Utilisateur et Groupes → Sélectionnez votre compte → cochez : games

Encodage matériel NVidia

Pour un fonctionnement optimal, il est préférable d'avoir une carte graphique permettant l'encodage matériel sur l'hôte, et le décodage matériel sur le client. Une résolution standardisée comme 1080p ou 720p déclenche plus facilement les accélérations matérielles.

Pour que Steam sache comment encoder matériellement via les cartes NVidia, il est nécessaire d'installer libcuda1. Cependant, cette bibliothèque n'est pas disponible dans les dépôts ubuntu, mais dans un dépôt du constructeur NVidia sur https://developer.nvidia.com/cuda-downloads.

N’hésitez pas à regarder les informations techniques, en l'activant sur le client, puis via Start+Y sur le client, pour voir si elles sont activées.

Partager un répertoire pour le mode famille

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 un 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

Ensuite <user_1> lance steam puis aller Steam/Paramètres/Téléchargements clic sur 'DOSSIER STEAM' et 'AJOUTER UN DOSSIER' sélectionner '/home/commun/steam' puis 'SELECTIONNER' ensuite clic droit sur le nouveau dossier et 'Définir dossier par défaut'.
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.

Performances dans le mode BigPicture et les Jeux

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.

Attention, si vous utilisez une solution conjointe Intel / Nvidia sur un ordinateur portable, aussi appelée "Optimus", ne suivez pas ce qui est indiqué ci-dessous et reportez-vous à la partie suivante.
Le dépôt xorg-edgers fresh X crack n'est plus maintenu depuis 2018.
Ajouter le dépôt qui suit peut rendre votre système graphique instable. Avant de mettre en place cette procédure, soyez sûr de savoir revenir en arrière en cas de problème.

Pour ce faire, vous devez :

  1. Ajoutez le PPA ppa:xorg-edgers/ppa 1) dans vos sources de logiciels.

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.)

Cas particulier : Optimus

Généralités

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.

Voir aussi : nvidia_optimus.

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.

À 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).

Une astuce est parfois donnée proposant d'utiliser primusrun au lieu d'optirun. Ne la suivez pas, cette méthode est désormais obsolète, et moins performante que l'utilisation d'optirun, depuis la dernière version de Bumblebee. De plus certains jeux comme Left4Dead 2, pourraient indiquer un message d'erreur lors de leur lancement, comme si des librairies étaient manquantes (could not load library matchmaking).

Librairies 32-bits manquantes

Si vous obtenez au premier lancement le message ci-dessous, et que vous utilisez optimus, vous êtes concernés :
Error: You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1

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).

Première solution : forcer le contexte optirun

Il va falloir lancer Steam dans le contexte optirun modifiez le fichier /usr/share/applications/steam.desktop avec les droits d'administration puis 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
Deuxième solution : modification du fichier de configuration

(source en anglais)

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 nano /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. Sinon essayez la première méthode décrite ci-dessus (forcer le contexte optirun).

Problème de luminosité dans les jeux

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%
Si vous utilisez Optimus il faut alors mettre :
LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%

Pour plus d'informations voir cette discussion du forum.

Manettes de jeu Xbox 360 et Steam controller

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ée à la manette Xbox 360.

Si votre Steam controller n'est pas détecté et que l’option "ajouter un Steam controller" n'est pas présente dans Big picture→Paramètres→Manette de jeu→Paramètres de la manette : l'ajout (possible via GNOME paquets) du paquet steam-devices puis un redémarrage de l'ordinateur résoudra le problème.

Description technique du processus d’exécution / installation de Steam

1 : Steam est téléchargé puis installé par votre gestionnaire de paquets (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érifie 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ée 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ée 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, propres à 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 configuration générale 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 disponibles sur Steam

Sur le site lui-même : magasin Steam

En cochant "Jeux" ou "Démos" et en triant par prix croissant vous avez la liste d'une centaine de jeux ou démos gratuits. 8-)

Certains jeux possèdent une démo gratuite qui n’apparaît pas dans la recherche Steam.

Quelques captures d'écran

{{:steam1.png?200|

{{:steam2.png?200|

Ouverture des ports

Si vous avez un problème de lags ou pour communiquer, vous devez ouvrir ces ports sur votre box. Par ex : Freebox, Livebox, Bbox, etc… (info pris sur steam). Pour vous connecter à Steam et télécharger du contenu, ouvrez les ports suivants :

  HTTP (Port 80 en TCP) et HTTPS (443)
  UDP 27015 à 27030
  TCP 27015 à 27030

Client Steam

  De UDP 27000 à 27015 inclus (trafic pour le client jeu)
  De UDP 27015 à 27030 inclus (en général pour les matchs et HLTV)
  UDP 27031 et 27036 (entrant, pour le Streaming local)
  TCP 27036 et 27037 (entrant, pour le Streaming local)
  UDP 4380

Serveurs dédiés ou Serveurs d'écoute

  TCP 27015 (port Rcon SRCDS)

Steamworks P2P et chat audio Steam

  UDP 3478 (Sortant)
  UDP 4379 (Sortant)
  UDP 4380 (Sortant)

Pour Call of Duty (Modern Warfare 2 Multiplayer) :

  UDP 1500 (outbound)
  UDP 3005 (outbound)
  UDP 3101 (outbound)
  UDP 28960

Pour les demandes génériques de Steam en HTTP/HTTPS, votre proxy doit autoriser les domaines suivants :

  steampowered.com
  steamcommunity.com
  steamgames.com
  steamusercontent.com
  steamcontent.com
  steamstatic.com
  akamaihd.net

Résolution de Bugs

Certaines résolutions de bugs sur la documentation ont étés enlevés car elles datées d'une version dépréciée. S'il y a de nouveaux bugs merci de les reporter sur le forum ou si vous avez la solution de l'ajouter dans cette documentation

Steam ne se lance pas avec une carte NVIDIA

Sur la version de Ubuntu (20.04 LTS) il peut être nécessaire d'installer la version 32bits du pilote graphique en parallèle de la version 64 bits déjà installé.

sudo apt install libnvidia-gl-440:i386

Steam ne se lance pas avec une carte graphique ATI/AMD libre

Problème bien connu qui vient de l'utilisation du pilote graphique ATI/AMD libre : les biblis intégrées à la runtime de Steam sont incompatibles avec. Solution : les supprimer. Lancer les deux commandes find :

find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete

Ça devrait résoudre le problème mais ce sera potentiellement à refaire à chaque mise à jour de Steam. ;-) merci à abelthorne

Ré-installation complète d'un jeu Steam.

Quelques fois, supprimer le contenu local d'un jeu ne suffit pas pour le ré-installer proprement (à l'état d'origine).

Steam : Menu afficher liste des jeux, sélectionner le jeu, clic-droit propriétés du jeu, onglet fichiers locaux :

Pour les gros jeux de plusieurs Go, il est intéressant de sauvegarder vos jeux, dans un dossier à part. (copie-jeu-steam par exemple), cela permettra d’éviter de longue heure de téléchargement.

Télécharger les fichiers d'un jeu non disponible.

Il est possible de charger les fichiers d'un jeu possédé, mais non disponible sur Linux :

Le client Steam n'indique pas qu'il est en train de télécharger l'application : les notifications apparaîssent dans la console.

Exemple pour Skyrim, dépôt de contenu (Skyrim Content) :

download_depot 72850 72851 430694959351693705
  

Installer un jeu steam depuis les fichiers locaux

Si par exemple, vous avez réinstallé Ubuntu en gardant votre dossier "home", vous ne devez pas réinstaller tous vos jeux. Supprimer tout vos fichiers Steam (dossier .steam et dans local/share) sauf les jeux dans le dossier "common", dans Steamapps. Placer les dans un autre dossier (par exemple Téléchargements) avant de supprimer. Une fois Steam installé, remettez les jeux dans le dossier "commons". Lancez le processus d'installation du jeux en question et Steam détectera que les fichiers sont déjà là. Si vous ne trouvez pas le fichier "common", lancer l'installation d'un petit jeu par exemple, pour que Steam le crée.

Marche aussi si un bug ne détecterait pas l'installation du jeu, débutez la procédure d'installation pour forcer Steam à reconnaître les dossiers existants !

Voir aussi


Contributeurs : billou, Feeling97, mario_26, zoulou.4556, fodoc22