Humble Bundle et Archlinux
Je me suis enfin décidé à acheter un Humble Bundle, ces célèbres paquetages de jeux réalisés par des studios indépendants et disponibles sur plusieurs plate-formes sans DRM. Ça fait un bon moment que Mathieu en parlait mais cette fois-ci je me suis laissé tenter, sûrement à cause de Sword and Sworcery. Les jeux proposés sont tous compatible Linux. Et ça c'est une bonne nouvelle! Mais ils sont pour la plupart prévus pour fonctionner simplement sur Ubuntu, les installer et jouer sur Arch c'est une autre histoire...
État des lieux
Ce bundle est donc livré avec 5 jeux : Sword and Swordery, Psychonauts, Bastion, Amnesia et Limbo. les détails de ce bundle sont disponibles ici.
Pour jouer, je ne dispose que de mon Macbook sous Archlinux avec une carte graphique Intel, si elle a l'avantage de disposer d'un pilote libre, elle n'est vraiment pas très véloce. Néanmoins 3 des 4 jeux qui fonctionnent (un dernier ne fonctionne pas du tout mais nous y reviendrons) le font de manière très fluide.
Sword and Swordery, vous avez dit Multilib?
C'est le premier jeu que j'installe et que je teste, et là c'est le drame, il ne veux tout simplement pas me lancer le jeu en me disant que l'exécutable n'est pas un répertoire ni un fichier. Un petit test s'impose:
[ephase@eph-macbook SwordAndSworceryEP]$ file bin/swordandsworcery bin/swordandsworcery: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0x9d1860c252df1f189d8043213d9bdc84bfdd1555, not stripped
Mon jeux est un programme 32 bits, mon système étant 64bits le problème est tout trouvé. Sur Ubuntu il suffit d'installer le paquet ia32-libs[1] et tout rentre dans l'ordre, mais sur Arch c'est un peu plus compliqué...
Activer multilib
Multilib est un dépôt Arch contenant les librairies 32 bits à installer sur un système 64bits pour assurer la compatibilité, pour activer ce depôt il suffit d'éditer le fichier pacman.conf
avec votre éditeur de texte favori (et en root bien sûr)
[root@eph-macbook /]# vim /etc/pacman.conf
et de dé-commenter les lignes suivantes
[multilib] SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist
installer les librairies 32bits
Il faut maintenant mettre à jour la base de donnée des paquets disponibles puis installer les librairies gcc 32bits afin de rendre compatible les programmes 32 bit. en une ligne de commande celà donne :
[root@eph-macbook /]# yaourt -Sy lib32-gcc-libs
Il reste ensuite à installer tout un tas de librairies utiles pour notre jeu :
[root@eph-macbook /]# yaourt -S lib32-mesa lib32-alsa-lib lib32-alsa-plugins lib32-libpulse lib32-zlib
Et enfin de profiter de ce jeu magnifique...
Amnesia, s3tc et pilote libre Intel
Pour ceux qui ne sont pas très au fait côté jeux trois dimension, le s3tc (s3 Texture Compression) est un algorithme de compression des textures (vous savez les jolies images qui donne l'impression que ce Cube 3d est une caisse en bois) directement dans la mémoire de la carte graphique. Il est alors possible d'en stocker plus et/ou mieux définies.
Cette technologie a été mis au points et brevetée par la société S3. Les principaux fabricants de carte graphique payent donc des royalties à S3 pour intégrer cette fonctionnalité essentielle de tout contrôleurs graphique 3d qui se respecte. Or dans le pilote libre Intel pas question d'intégrer le s3tc, moralité : chaque fois que j'ai lancé Amnesia, le second jeux testé, il annonçait une erreur de segmentation.
une solution simple
Le salut se trouve dans Mesa, l’implémentation libre d'OpenGL, il est possible d'installer une librairie Mesa que se charge de la partie "s3tc", celle ci se nomme libtxc_dxtn et ô joie celle-ci est disponible dans AUR il nous suffit de faire dans un terminal
yaourt -a libtxc_dxtn
Et voilà, il ne reste plus qu'à profiter de ce jeu tout simplement MAGNIFIQUE!
Pour Psychonauts, toujours du s3tc mais version 32bits
Après avoir Téléchargé et installé Psychonauts, impossible de le lancer par le menu, j'essaye donc dans une console qui me dit gentiment :
ERROR: Missing required OpenGL extensions: - GL_EXT_texture_compression_s3tc
Damned! Moi qui pensait avoir installé la librairie adéquate pourtant... Oui mais non, je l'ai installée en 64 bits mais pas en 32, a communauté Arch a tout prévu, il y a le paquet adéquat sur AUR :
yaourt -a lib32-libtxc_dxt
Après l'installation tout démarre bien, sauf que c'est injouable : le jeux n'est vraiment pas fluide, mais vraiment pas. C'est d'ailleurs incompréhensible : Amnesia paraît plus détaillé, techniquement plus avancé mais extrêmement fluide alors que celui-ci est injouable, allez comprendre!
Bastion : rien à redire...
Bastion est le seul jeux qui ne m'as pas posé de problèmes : installation parfaire, version 64bits disponible, et fonctionne très bien.
Limbo fait de la résistance
Je n'ai pas encore réussi à faire tourner ce jeu, qui utilise Wine, même s'il est livré prêt à fonctionner avec les exécutables et les scripts de lancements. Mais j'y travaille!
Pour conclure
Jouer sur Linux n'est pas encore très simple, mais grâce à ces bundles, nous commençons à voir sur notre plate forme quelques jeux et de très bonne qualité en plus. Croyez-moi, je ne regrette pas les deux dernières nuit à faire fonctionner tout ça!
Note
[1] Librairies de compatibilité pour les programmes 32 bits