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
- Avoir activé l'accélération graphique.
- Vérifier la compatibilité de votre système et matériel (ici).
- Mettre à jour votre pilote graphique avec la version la plus récente (Pilotes propriétaires).
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.
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.
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
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é.
- Si vous possédez un compte Steam, vous devez saisir les informations ( identifiant, mot de passe + code confirmation reçu par e-mail ) puis cliquer sur LOGIN,
- Pour créer un nouveau compte : CREATE A NEW ACCOUNT,
- Si vous voulez vous connecter plus tard, cliquez sur CANCEL.
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
Le menu Steam → Paramètres permet de configurer les différentes options de Steam :
- onglet Compte : vos informations personnelles (courriel, mot de passe)
- onglet Amis : les fonctionnalités de communication. Pensez à désactiver les notifications qui peuvent créer de l'instabilité.
- onglet Interface : pour régler la langue de l'interface et des jeux, ainsi que le lancement automatique de Steam au démarrage de l'ordinateur.
- onglet Dans un jeu : (Si Steam plante souvent, essayez de désactiver la communauté Steam intégré au jeu)
- onglet Téléchargements : réglez la vitesse de votre connexion (but informatif seulement, info collectée par Valve pour fins de statistiques) et la région de téléchargement. Si les téléchargements sont lents, vous pouvez essayer un autre serveur.
- onglet Voix : réglages du micro et du chat vocal.
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 :
- plus de mémoire vive disponible pour les jeux
- de meilleures performances 3D OpenGL (car l'environnement est sans composite)
- un démarrage plus rapide
- une distribution très légère dédiée etc…
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
- redémarrez
- sélectionnez ensuite une session Steam, à l'invite de votre nom d'utilisateur.
- connectez-vous à votre machine
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.
- Pour cela, on écrit une nouvelle règle udev :
sudo nano /etc/udev/rules.d/90-joystick-perms.rules ENV{ID_INPUT_JOYSTICK}=="1", MODE="0660", GROUP="games"
- et on rajoute l'utilisateur courant, dans le groupe "games"
Utilisateur et Groupes → Sélectionnez votre compte → cochez : games
- redémarrer l'ordinateur
- débranchez les manettes de la machine hôte
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.
- choisissez Linux
- Votre Architecture (x86_64 en général)
- Votre distribution (donc forcément Ubuntu même avec les dérivées d'Ubuntu).
- Ensuite dans la section
Installer Type
prenez ce que vous souhaitez, les choix (local) sont recommandés. Enfin suivez les instructions de la page.
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
- 2 utilisateurs unix <user_1> <user_2>
- 2 comptes steam (un par user)
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.
Pour ce faire, vous devez :
- 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).
Librairies 32-bits manquantes
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
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%
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.
Certains jeux possèdent une démo gratuite qui n’apparaît pas dans la recherche Steam.
Quelques captures d'écran
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
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 :
- Parcourir les fichiers locaux, ouverture de votre gestionnaire de fichiers, vous être dans le dossier du jeu
- Remonter d'un niveau (common)
- Supprimer LE dossier portant le NOM du JEU, puis fermer votre gestionnaire de fichiers
- Dans Steam, liste des jeux, sélectionner le jeu, clic droit pour supprimer le contenu local du jeu
- Ré-installer le jeu (Téléchargement ou restaurer une sauvegarde)
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 :
- Sur steamdb, chercher l'application
- Récupérer le chiffre <App Id>, identifiant l'application
- Cliquer sur l'application, puis récupérer le numéro de dépôt <depotid>
- Cliquer sur le dépôt intéressant, puis récupérer l'identifiant <ManifestID>
- Lancer Steam avec le mode console activé grâce à steam://nav/ ou en lançant steam de la façon suivante : steam -dev -console. Un menu console apparaît dans les menus du client Steam.
- Dans la console Steam, lancer la commande suivante :
download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>]
. Seuls les 3 premiers paramètres sont nécessaires.
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.