title: SteamOS
date: 2013-12-22
tags: Asrall,Geekeries,Linux,Jeux
url: steamos
slug: steamos

[![Logo SteamOS](/images/steamOS/DSC08406-t.jpg)](/images/steamOS/DSC08406.JPG)

Tiens, comme c'est dimanche, si je testais SteamOS ?

**Edit** : Le tutoriel détaillé pour installer SteamOS en 2015 est présent ici
: <https://blog.chibi-nah.fr/tuto-installation-steamos>




### SteamOS ?

Il s'agit d'une distribution dérivée de Debian, créée par Valve Software
(Half-Life, Steam, Portal, L4D…), et destinée à fonctionner sur les machines
appelées "SteamBox". À noter, n'importe qui peut monter sa propre "SteamBox".

### Installation.

J'avais une partition de 9 Go inutilisée, et une distrib debian sid sous la
main.
Ne souhaitant pas suivre les instructions "officielles", car trop pénibles
(nécessite un UEFI, un disque de 500 Go, une clé usb externe, effacera la
totalité du disque dur, pas de dual boot, support des cartes nvidia
uniquement…[1], faisons ça à la main, de manière artisanale.
Donc, utilisation de debootstrap, chroot, compilation d'un kernel 3.12.6 (j'en
ai profité pour mettre à jour mon kernel sous sid dans la foulée), et création
des paquets .deb.
Installation des paquets, configuration de grub sur la partition sda7, mise à
jour de mon grub "principal", puis reboot.

Et là, c'est le drame.

### Kernel panic ! Unable to mount root.

Bon, reboot sous sid, et regardons ce qui cloche.

Premier point, je compile mes noyaux sans initrd. Ce truc là sert à rien quand
on compile ses propres noyaux, vu que les pilotes requis, genre, ext4, sont
compilés en dur et non en tant que module (où est l'intérêt de les mettre en
module ? faut monter une image intermédiaire qui contient le module pour
monter la partition root pour charger les modules… bref).

Second point, cette andouille de GRUB, malgré l'option ROOT-UUID = false, a
réussi à mettre un root=uuid=<UUID de la partition>. Pour que l'UUID soit
reconnu, il faut charger l'initrd, qui va alors chercher quelle partition
correspond à l'UUID passé en paramètre, puis va corriger la partition root.
Encore un truc tordu écrit par je ne sais qui, et dont l'utilité est
discutable. Re bref.

Je remet à jour grub, via update-grub (sachant qu'au départ, ce qui m'a fait
basculer de lilo à grub, c'est la nécessité de mettre à jour lilo à chaque
modif et que grub, suffisait d'enregistrer le fichier. Désormais, on change un
paramètre de grub, faut lancer une commande qui va générer un fichier de
config totalement incompréhensible. Cf un ancien article).

Cette fois, je vérifie que le grub.cfg ne contient pas d'UUID.

### C'est bon ? On reboot ?

[![Qui a dit : pas de multiboot ?](/images/steamOS/DSC08404-t.jpg)](/images/steamOS/DSC08404.JPG)

Un redémarrage plus tard, arrivée sur Debian Wheezy SteamOS, suivi de Login:.

Bien.

[![Tiens, définissons un mot de passe root, c'est toujours
utile.](/images/steamOS/DSC08400-t.jpg)](/images/steamOS/DSC08400.JPG)

Les utilisateurs et les dépots valve ont été configurés lors de
l'installation, reste à finir les 2-3 trucs qui reste, genre pulse-audio,
drivers…

Démarrage de lightdm, et … plaf ! Écran noir.

### Vive openSSH

Connexion en urgence via ssh (une excellente idée de l'installer avant toute
chose, au cas où), kill de lightdm, et constatation des dégats. Lightdm n'a
pas arrêté de faire "start-error-respawn-error-respawn-error-respawn", en
boucle. Suffisamment de quoi générer 10 Mo de log en 30 secondes.

Démarrage de X via startx, et arrivée sur le bureau Gnome 3.4, en mode
"classique" (ou failsafe).
Steam demandant glx, vérifions que déjà, je suis sur la radeon (ah, tiens ?
j'ai laissé DIGD au lieu de DDIS dans rc.local, corrigeons ça). Arrêt de gnome
et X, basculons sur la radeon (sudo echo DDIS >
/sys/kernel/debug/vgaswitcheroo/switch), relançons X, et… toujours pas de glx
(glxinfo : pas de DRI, pas de DRM, rien).

Bon, ajoutons debian wheezy en apt-pinning, puis mettons à jour les dépots.

Tant que j'y suis, ajoutons les paquets de base, genre htop, vim, mc, et de
quoi configurer alsa.

Bizarre, j'ai bien le driver radeon libre dans les dépots steam, mon kernel
est le même que sur sid, et j'ai pas de problèmes pour faire tourner UT2004
dessus. Doit manquer un paquet ou deux. Installons alors mesa, et tout ce qui
concerne DRI-DRM et radeon.
Effectivement, il manquait quelques paquets.

[La liste complète de tous les paquets installés. Certains ne sont pas
disponible dans les dépots de valve ni de debian. Il s'agit des paquets liés
au linux-*, spécifiques à ma machine.](/images/steamOS/package-list.txt)
À noter, j'ai commencé à faire le ménage dans les paquets, mais il reste des
trucs à virer, genre, apache.


### Ooooh, le beau troll gnome

[![Bureau Gnome](/images/steamOS/SteamOS-radeon-t.png)](/images/steamOS/SteamOS-radeon.png)

Cette fois, gnome démarre en mode "normal", et me montre un beau bureau (/me
tousse), en précisant bien que c'est la radeon qui tourne. glxinfo montre que
DRI est bien actif, et également plein plein d'extensions GL*. Ça semble
fonctionner.
Démarrons alors steam en mode "desktop". Ça marche.
Réactivons alors lightdm, un reboot et une mise à jour steam plus tard, voilà
le mode "Big Picture". Entrons les informations de connexion, et explorons les
menus.

[![Démarrage de SteamOS.](/images/steamOS/DSC08410-t.jpg)](/images/steamOS/DSC08410.JPG)
[![Animation du démarrage de Steam.](/images/steamOS/DSC08411-t.jpg)](/images/steamOS/DSC08411.JPG)
[![Steam, en mode Big Picture](/images/steamOS/DSC08412-t.jpg)](/images/steamOS/DSC08412.JPG)
[![Paramètres.](/images/steamOS/DSC08414-t.jpg)](/images/steamOS/DSC08414.JPG)
[![Et voilà, SteamOS avec une radeon. C'était pas si
compliqué.](/images/steamOS/DSC08416-t.jpg)](/images/steamOS/DSC08416.JPG)
SteamOS avec le pilote radeon libre \o/


Quelques trucs vides ou encore en test, rien de grave. Quelques bugs bien
pénibles, comme un crash de l'overlay steam (pas moyen d'en sortir, obligé de
tuer steam via un tty), ou le redémarrage de steam quand on sort d'un jeu, et…
pas de son.
C'est le moment de configurer correctement alsa, donc je commencer par jarter
pulse-audio. Tant que la base ne marche pas, ça sert à rien de bidouiller la
surcouche. Donc, dans /etc/default/pulse-audio, désactivons son démarrage
auto, puis arrêt du service, /etc/init.d/pulse-audio stop.

Après une heure d'acharnement et de lecture de doc (mais pourquoi ça marche
avec root mais pas avec les utilisateurs), je m'aperçois que c'est simplement
le groupe "pulse" qu'il faut utiliser en plus d'audio ¬_¬'. Hop, usermod -aG
pulse steam.

Reboot, et cette fois, j'ai le son. Je crois que j'ai oublié de réactiver pa.
Je verrai ça plus tard.

### Plus qu'à tester

Faisons quelques tests, en évitant d'appeler l'overlay en pleine partie, et ça
marche. Musique, vidéo, interface "relativement" fluide (avec le driver radeon
libre), et le petit plus : SteamOS fonctionnel avec une radeon, alors que ce
n'est pas (encore) supporté.

Vidéo montrant SteamOS, du boot à l'utilisation, en passant par un jeu et le
navigateur web, pour finir par l'arrêt. [Télécharger au format webm, 640x360,
lisible par vlc](/images/steamOS/SteamOS.webm)

* * *

1 : <http://store.steampowered.com/steamos/buildyourown>