Installer Steam sur Calculate Linux



Introduction



Ici, on va voir comment installer steam sur Calculate Linux, et le faire fonctionner.

Installer Steam



Depuis le dépôt Calculate



On vérifie les paquets à installer :
Code BASH :
emerge -pv steam-launcher

On se rend compte que le paquet est archtildé. On le renseigne dans /etc/portage/package.keywords/custom
Code BASH :
ARCH=$(portageq envvar ARCH)
echo "games-util/steam-launcher ~$ARCH" >> /etc/portage/package.keywords/custom 
 

On installe ensuite steam
Code BASH :
emerge -qv steam-launcher


Méthode depuis le dépôt "Steam Overlay"



Ajouter le dépôt



On ajoute dans un premier temps le dépôt layman steam en root :
Code BASH :
 layman -a steam-overlay

Ensuite on met bien à jour les overlay :
Code BASH :
 layman -S

On vérifie ensuite que l'overlay est bien installé :
Code BASH :
layman -l
 
 * bumblebee                 [Git] (git://github.com/Bumblebee-Project/bumblebee-gentoo  )
 * calculate                 [Git] (git://git.calculate.ru/calculate/overlay.git  )
 * steam-overlay          [Git] (git://github.com/anyc/steam-overlay.git )


L'installation



On vérifie les paquets à installer :
Code BASH :
emerge -pv steam-runtime-bin steam-launcher steam-meta

On se rend compte que plusieurs paquets sont archtildés. On les renseigne dans /etc/portage/package.keywords/custom
Code BASH :
echo "app-emulation/steam-runtime-bin" >> /etc/portage/package.keywords/custom 
echo "games-util/steam-games-meta" >> /etc/portage/package.keywords/custom 
echo "games-util/steam-launcher" >> /etc/portage/package.keywords/custom 
echo "games-util/steam-meta" >> /etc/portage/package.keywords/custom 
echo "games-util/steam-client-meta" >> /etc/portage/package.keywords/custom 

Si on est en 64bits, il faut s'assurer d'installer flashplayer en 32bits :
Code BASH :
echo "www-plugins/adobe-flash abi_x86_32" >>  /etc/portage/package.use/custom 

On installe ensuite steam
Code BASH :
emerge -qv steam-runtime-bin steam-launcher steam-meta


Problèmes connus



Certains jeux ne se lancent pas



Steam en console indique
Code BASH :
ERROR: ld.so: object '/usr/lib32/libxcb.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/adrien/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib32/libxcb.so.1' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/adrien/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

Le lancement devrait fonctionner avec :
Code BASH :
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH-}:/usr/lib32"
steam

Steam ne se lance pas du tout



Si Steam ne se lance pas du tout après installation, essayez de lancer Steam ainsi :
Code BASH :
LIBGL_DEBUG=verbose steam

Il est fort probable que le message d'erreur soit plus explicite, comme dans mon cas :
Code TEXT :
libGL: dlopen /usr/lib32/xorg/modules/dri/swrast_dri.so failed (/home/adrien/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib32/xorg/modules/dri/swrast_dri.so))
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

Il suffit alors de supprimer le lien symbolique fournissant libstdc++.so.6 avec Steam :
Code BASH :
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6

Magasin et nouvelles steam vide (écran noir)



Il se peut que sous GNOME ou certains environnements GTK les fenêtres des actualités et le magasin soient noirs.
C'est un souci avec une bibliothèque trop récente.
Soit on peut lancer Steam avec
Code BASH :
GSETTINGS_BACKEND=memory steam

Soit éditer le script lançant steam (/usr/bin/steam) et y placer ces 2 lignes au début après la première ligne #!/usr/bin/env bash
Code BASH :
#!/usr/bin/env bash
GSETTINGS_BACKEND=memory
export GSETTINGS_BACKEND

Relancer Steam et constater que tout fonctionne.

Steam et Optimus



Si vous êtes comme moi, avec une carte Optimus, suivez dans un premier temps ceci : Cartes Optimus : Installer Bumblebee sous Calculate
Démasquer primus :
Code BASH :
echo "x11-misc/primus **" >> /etc/portage/package.keywords/custom 

Puis installer primus :
Code BASH :
emerge -qv x11-misc/primus


Pour chaque jeu, éditer dans les propriétés les options du lancement en mettant :
Code BASH :
primusrun %command%