billou
Pour nettoyer Steam, n'oubliez pas de virer le .Steam de votre dossier personnel, ainsi que .local/share/Steam
Accessoirement, c'est le dossier SteamApps qui contient les jeux, si vous comptez éviter de les téléchargez à nouveau, faites un backup de ce dossier quelque part.
Madeba
Pas évident à prédire. Pour me faire l'avocat du diable, il faut quand même signaler que certains moteurs de jeux proprio ont été libérés. D'ailleurs, on en a l'exemple avec Nexuiz/Xonotic cité plus haut.
Autre exemple moins connu, le moteur de la série Penumbra de Frictional games.
La série (Penumbra 1,2,3 et Amnésia) est d'ailleurs dispo en promo sur Steam.
billou
Bon, je crois que je vais devoir éclaircir les choses.
Le paquet Steam, ne contient pas Steam, de fait, cet installateur exécutant un certain nombre de scripts, permet le lancement d'un téléchargement contenant la dernière version de Steam, sous Windows, c'est exactement la même chose.
Pour cette raison, le paquet Steam est disponible aussi bien pour architecture 32 que 64bits.
Le dossier /home/$USER/.local/share/Steam/ contient tout le programme Steam 32bits, de la même façon que lorsqu'on l'installe sous windows.
Pour éviter les problèmes d'incompatibilité, Steam embarque directement sous /home/$USER/.local/share/Steam/ubuntu12_32/steam-runtime/i386/ les librairies vitales nécessaires à son bon fonctionnement.
Le dossier /home/$USER/.steam/ contient lui, les informations nécessaires au bon fonctionnement de l'installation de la première mise à jour et des suivantes, à travers un fichier de configuration.
Si je comprends bien, voici comment se passe la première installation :
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 lis la configuration du fichier registry.vdf situé dans /home/$USER/.steam/ et execute 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é 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.
Il est par ailleurs assez intéressant de fouiner au sein des librairies embarquées par les jeux, ainsi on apprend avec le jeu Trine II par exemple, que PhysX de Nvidia, a été porté et est fonctionnel sous Linux, on retrouve ces fichiers dans le dossier /home/$USER/.local/share/Steam/SteamApps/common/Trine 2/lib/lib32/ :
libCgGL.so, libPhysXCooking.so.1, libPhysXLoader.so, libsteam_api.so, libCg.so, libPhysXCore.so, libPhysXLoader.so.1, libPhysXCooking.so, libPhysXCore.so.1, libSDL-1.3.so.0
Ps : Valve a clairement annoncé que ça ne les intéressait pas de compiler une version 64bits de leur client Steam, se dernier n'étant pas assez goinfre pour en justifier l'utilité, permettant ainsi de se concentrer sur le support d'une seule version qui fonctionne pour tous, de façon transparente pour les utilisateurs. (Jusqu'à présent, hormis l'Itanium, aucun processeur 64bits X86 ne sais pas exécuter du code 32bits X86)