Lors de l’installation ou l’utilisation d’un jeu vous rencontrerez sûrement à un moment un problème, qu’il vous faudra résoudre. Bien sûr cette FAQ ne serait être exhaustive, mais elle sera un bon point de départ dans la résolution de vos problèmes.
Les paquets Loki ont l’avantage d’installer une version déjà compilée d’un jeu, cette installation se fait par interface graphique ce qui facilite la vie des débutants.
Q : L’installation est en mode texte lorsque j’utilise un installeur loki ?
R : Les installeurs loki nécessites la librairie libgtk1.2 pour fonctionner.
Pour vérifier que votre système comporte les fichiers nécessaires, tapez :
ls /usr/lib/libgtk-1.2*
Si aucun fichier n’est trouvé, vous devrez installer le paquet correspondant.
Pour Ubuntu/Debian :
apt-get install libgtk1.2
Pour les autres distributions, veuillez vous renseigner sur la méthode d’installation de ce paquet.
Q : J’obtiens un message d’erreur « Aucune permission d’écriture » lors de l’installation ?
R : Sous Linux, en utilisateur standard, vous n’avez pas le droit d’écrire dans tous les répertoires de votre disque dur. Deux solutions sont alors possibles :
1) Vous installez le jeu dans votre répertoire personnel (appelé home), qui est :
/home/mon_nom/repertoire_du_jeu
Où mon_nom est le nom de votre utilisateur, ou encore :
~/repertoire_du_jeu
2) Vous installez le jeu avec les droits « super-utilisateur », dans ce cas tous les utilisateurs de votre système pourront profiter du jeu.
Pour obtenir les droits super-utilisateur, vous devez utiliser la commande su et tapez le mot de passe de l’utilisateur root, puis lancez l’installation du jeu.
pikatchu@pikatchu:~$ su
Password:
root@pikatchu:/home/pikatchu# ./tremulous-1.1.0-installer.x86.run
Sur certaines distributions, la commande sudo permet de se passer de su.
Dans ce cas, tapez :
pikatchu@pikatchu:~$ sudo ./tremulous-1.1.0-installer.x86.run
Et saisissez votre mot de passe.
Q : J’obtiens un message d’erreur « Error in MD5 checksums » au lancement de l’installeur ?
Exemple de message d’erreur :
./serious.sam.tfe_1.05beta3-english.run
Verifying archive integrity...Error in MD5 checksums: c7610598de8155d769386df724e9d385 is different from 2afec672b342314766c7a22adeba1a4f
R : Le fichier que vous avez téléchargé est endommagé, essayez de le retélécharger.
Q : L’installeur me demande de monter un cd-rom ?
R : Vous devez placer le cd-rom demandé dans votre lecteur de cd-rom, puis le monter (si votre système est dépourvu de l’automount).
mount /mnt/cdrom
(le chemin /mnt/cdrom peut être différent suivant les systèmes.)
Si malgré le montage du cd-rom, l’installeur vous demande toujours de monter le cd-rom, essayez d’exporter la variable d’environnement.
export SETUP_CDROM=/path/to/your/mounted/cdrom
(/path/to/your/mounted/cdrom à remplacer par le chemin exact de votre point de montage.)
Les jeux Loki étant nombreux, nous avons réuni les procédures spécifiques à chaque jeu sur une page spéciale.
La compilation des sources d’un jeu se résume souvent au trio configure/make/make install, pour pouvoir compiler il est nécessaire d’installer les compilateurs sur votre système. En général, il vous faut : make, gcc, g++ et diverses librairies. Certaines distributions prévoient des meta-paquets permettant de tout installer en une seule étape.
Pour Debian ou Ubuntu, il vous faut installer le paquet build-essential.
S’il vous manque l’un des compilateurs, regardez attentivement les logs de compilation :
make[1]: entrant dans le répertoire « ~/dark-oberon-1.0.2-RC1/src »
exctags * 2> /dev/null || ctags * 2> /dev/null
make[1]: [tags] Erreur 127 (ignorée)
g++ -g -Wall -O -I/usr/X11R6/include -I/usr/X11R6/include/GL -I../libs -DDATA_DIR='""' -DUNIX=1 -DSOUND=0 -DDEBUG=0 -c doalloc.cpp
make[1]: g++ : commande introuvable
make[1]: *** [doalloc.o] Erreur 127
make[1]: quittant le répertoire « ~/dark-oberon-1.0.2-RC1/src »
make: *** [build] Erreur 2
Dans l’exemple, le compilateur g++ est introuvable.
Si un jeu refuse de se lancer, ou alors qu’il se referme aussitôt, aucun message d’erreur n’apparaîtra à l’écran. Pour pouvoir voir la raison de l’échec du lancement du jeu, vous devez ouvrir une console et lancer le jeu en tapant :
cd /repertoire/du/jeu
sh nom_du_jeu.sh
En règle générale, les fichiers que vous pouvez exécuter, ont pour extension *.run, *.sh ou sans extension.
Une fois que vous avez lancé le jeu, celui-ci devrait afficher des messages d’erreur qu’il va falloir décrypter.
Q : J’ai le message « cannot open shared object file : No such file or directory » ?
exemple de message d’erreur :
./savage
Traceback (most recent call last):
File "<string>", line 11, in ?
File "iu.py", line 277, in importHook
File "iu.py", line 362, in doimport
File "/home/slothy/cvs/src/s2update/builds2update/out1.pyz/wxPython", line 20, in ?
File "iu.py", line 277, in importHook
File "iu.py", line 338, in doimport
File "iu.py", line 184, in getmod
File "archive.py", line 386, in getmod
File "iu.py", line 46, in getmod
ImportError: libtiff.so.3: cannot open shared object file: No such file or directory
There was an error (error 65280 - Unknown error 65280) running the updater! bailing out
R : Le jeu recherche une librairie qu’il n’a pas trouvée. Dans notre exemple, il s’agit de la librairie libtiff.so.3. Apparemment, ce fichier n’existe pas sur votre système, pour en être sûr il suffit de le vérifier. Pour cela, il faut chercher le fichier en question dans les répertoires contenant les librairies.
Il existe plusieurs répertoires qui contiennent vos librairies :
/lib : contient les librairies vitales au système d’exploitation
/usr/lib : contient des librairies diverses et variées
/usr/local/lib : contient des librairies que vous avez compilées vous-mêmes
Vous êtes à peu près sûr que la librairie que recherche votre jeu (non vitale et pas compilée par vous même) se trouve dans /usr/bin.
Pour vérifier si notre fichier existe, vous devez taper dans un terminal :
ls -l /usr/lib/libtiff.so*
(remplacez libtiff.so par la librairie demandée par votre jeu)
Qui dans mon cas répond :
lrwxrwxrwx 1 root root 16 2006-08-03 19:44 /usr/lib/libtiff.so -> libtiff.so.4.1.4
lrwxrwxrwx 1 root root 16 2006-08-03 19:44 /usr/lib/libtiff.so.4 -> libtiff.so.4.1.4
-rw-r--r-- 1 root root 327428 2006-08-02 14:20 /usr/lib/libtiff.so.4.1.4
Un fichier libtiff.so.4.1.4 existe, de ce fichier 2 liens symboliques ont étaient créés libtiff.so et libtiff.so.4.
En fait, ce que le jeu réclame c’est la librairie libtiff en version 3 et qui a pour nom libtiff.so.3. Notre librairie est plus récente, donc devrait parfaitement faire l’affaire, à condition qu’elle ait le nom demandé. Il n’est pas question de renommer cette librairie sinon c’est d’autres programmes qui ne fonctionneraient plus. On va donc créer un lien symbolique de ce fichier, avec pour nom libtiff.so.3.
Pour cela, tapez dans une console (en utilisateur root) :
# cd /usr/lib
# ln -s libtiff.so.4.1.4 libtiff.so.3
(Pour plus d’information sur la commande ln -s, consultez cette page)
Essayez de relancer votre jeu, et voir si l’erreur est corrigée.
Attention cette méthode ne fonctionne pas forcement à tous les coups.
Si jamais aucune librairie ne répond au nom de libtiff.so*, vous allez devoir l’installer. Pour cela, renseignez-vous sur les forums spécifiques de votre distribution ou effectuez une recherche dans votre gestionnaire de paquet (synaptic, yum, ...).
Le jeu ne se lance pas, sans raison apparente
Si le jeu ne se lance pas et même si il ne vous affiche rien dans le terminal, il est possible que ça vienne d’une ou plusieurs dépendance(s) non satisfaite(s). Heureusement on peut vérifier les dépendances de binaires avec la commande ldd.
Par exemple, avec Savage (la liste n’est pas complète) :
ldd ./silverback.bin
linux-gate.so.1 => (0xffffe000)
libglib-2.0.so.0 => ./libs/libglib-2.0.so.0 (0xf7f47000)
libpng12.so.0 => ./libs/libpng12.so.0 (0xf7f23000)
libSDL-1.2.so.0 => ./libs/libSDL-1.2.so.0 (0xf7eb9000)
libz.so.1 => /emul/ia32-linux/usr/lib/libz.so.1 (0xf7e80000)
libGL.so.1 => /emul/ia32-linux/usr/lib/libGL.so.1 (0xf7deb000)
libGLU.so.1 => /emul/ia32-linux/usr/lib/libGLU.so.1 (0xf7d6c000)
libjpeg.so.62 => /emul/ia32-linux/usr/lib/libjpeg.so.62 (0xf7d4c000)
libfreetype.so.6 => ./libs/libfreetype.so.6 (0xf7ce2000)
....
Comme précédemment, on peut dans ce cas vérifier si tout est bien installé comme il faut.
R : Les problèmes de son, sont un problème récurrent sous Linux. La plupart des jeux natifs Linux utilisent OSS pour la gestion du son, et OSS ne gère pas, de façon logiciel, le mixage des sons. En gros, un programme utilisant OSS s’approprie la carte son et tout autre programme qui essayera de produire un son échouera.
Certaines cartes son permettent le mixage matériel (mais elles sont rares), dans ce cas pas de problème. Sinon, si votre matériel ne gère pas le mixage hardware, vous devez vous assurer qu’aucun autre programme n’utilise la carte son (en passant par OSS).
Pour mieux comprendre comment fonctionne le son sous Linux, vous pouvez consulter cet article.
Une fois tous vos programmes fermés (amarok, rhythmbox, xmms, ...), vérifiez qu’aucun serveur de son n’est lancé. Kde utilise le serveur arts et gnome le serveur esd. Pour vérifier si ces serveurs sont lancés, il vous suffit de taper :
ps ax | grep esd
ps ax | grep arts
puis pour les tuer, tapez :
killall esd
killall arts
ensuite relancer votre jeu.
Si malgré cela, vous n’avez toujours pas de son dans votre jeu, vous devez vérifier que votre noyau est bien compilé avec le support OSS. Pour cela, cherchez dans le fichier de configuration du noyau :
cat /boot/config-`uname -r` | grep OSS
Si cette commande renvoie :
CONFIG_SND_OSSEMUL=y
CONFIG_SOUND_OSS=m
C’est que votre noyau prend en charge le support OSS, il ne vous reste plus qu’à vérifier que les modules sont chargés :
lsmod | grep oss
Si votre noyau ne prend pas en charge le support OSS ou qu’aucun module n’est chargé, vous allez devoir reconfigurer/recompiller votre noyau, mais le sujet est trop vaste pour être abordé sur ce site. Dans ce cas, parcourez les forums dédiés à votre distribution pour trouver plus d’aide.
Q : je veux utiliser Teamspeak et je n’ai pas de son dans mon jeu ?
R : La réponse juste au dessus explique en partie le problème, en effet teamspeak utilise encore OSS (la version 3 devrait utiliser Alsa). Il existe certaines « bidouilles » pour faire fonctionner un jeu utilisant OSS en même temps que teamspeak, mais rien n’est garantie.
L’astuce fonctionne principalement avec Ennemy territory et Quake3. Ouvrez une console, et tapez ceci :
cat /proc/asound/cards
Qui chez moi retourne :
0 [Live ]: EMU10K1 - SBLive! Platinum [CT4760P]
SBLive! Platinum [CT4760P] (rev.5, serial:0x80401102) at 0xd000, irq 217
1 [UART ]: MPU-401 UART - MPU-401 UART
MPU-401 UART at 0x330, irq 10
(Dans mon cas, ma carte son est la carte0, si ce n’est pas votre cas, remplacez card0 par cardx dans les lignes qui suivent.)
Logguez vous en root, et tapez :
# echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
# echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss
Croisez les doigts, puis lancez teamspeak, puis votre jeu.
Autres solutions : émuler oss grâce à alsa : alsa-oss ( aoss ).
Lancez votre jeu avec l’option aoss :
aoss nom_du_jeu
Il existe aussi les serveurs de son qui permettent de faire du mixage logiciel (dans le cas ou plusieurs applications utilisent oss ) qui sont arts ( Kde ) et esd ( Gnome ).
pour arts
artsdsp nom_du_jeu
pour esd
esddsp nom_du_jeu
Les astuces ne sont pas toujours fonctionnelles, et parfois on a même une latence avec le son (décalage).
Si malgré tout, vous n’avez pas résolu vos problèmes et qu’une recherche sur google reste infructueuse, vous allez devoir parcourir différents forums propres à Linux ou au jeu vidéo. Commencer d’abord par les forums spécifiques de votre distribution, ainsi que les forums anglophones.
Vous trouverez une liste sur notre page de liens, à laquelle on peut rajouter :
Forum de The Linux Game Tome (en)
Forum de LinuX-gamers.net (en)
Forum de jeuxlibres.net (fr)
Forum de LinuxGames (en)
Forum de loki (en)
Forum Linux de jeuxvideo.com (fr)
Rubrique Os alternatifs du forum Hardware.fr (fr)
Et bien sur, notre forum.