Jouer sous GNU/Linux avec des jeux Windows
Transcription
Jouer sous GNU/Linux avec des jeux Windows
Jouer sous GNU/Linux avec des jeux Windows Stéphane Téletchéa L es jeux sous GNU/Linux progressent en nombre et en qualité mais il existe encore un fossé important entre eux et les jeux commerciaux disponibles sous Microsoft Windows. Cet article présente l'installation et l'utilisation de Cedega sous MandrivaLinux 2008.0 édition Powerpack, l'outil de Transgaming qui permet d'exploiter le meilleur des deux mondes. Les logiciels contenus sur les DVD joints au présent magazine devront être complétés des rpms commerciaux disponibles pour les membres du club Mandriva ou à travers la souscription au service en ligne de Transgaming. Transgaming/Cedega L'entreprise Transgaming, fondée en 2000, a apporté une solution originale dans le domaine des jeux Windows en offrant la portabilité des couches DirectX sous GNU/Linux. Au départ, cette possibilité a été offerte via l'inclusion, à partir du projet Wine, de codecs spécifiquement dédiés au support de DirectX 7. Cette contribution externe, appelée WineX devait initialement être rétrocédée au projet Wine après un délai de 6 mois mais l'expérience a révélé que les annonces n'ont pas été suivies d'effets. Disponibilité de Cedega Si la société Transgaming permet toujours l'accès aux sources de Winex (via la licence Aladdin), à l'adresse http://www. transgaming. com/sources.php, l'utilisation commerciale (avec paiement en contrepartie) est interdite sans accord commercial de leur part. De plus, la redistribution des binaires est « déconseillée ». Vous voilà prévenus, Transgaming ne joue qu'en partie le jeu du libre. Installation sous Mandriva Les accords commerciaux suscités ayant été passés par Mandriva, l'installation com- www.linuxidentity.com plète de Cedega est disponible sous la forme du rpm : cedega-small-mandriva-6.0.21-1.i386.rpm que vous pourrez installer à partir de la version Powerpack (utilisez urpmi ou rpmdrake pour l'installer au besoin) (voir Script 1). Important : la procédure d'activation du moteur de Cedega a changé ; il faut maintenant une clé d'utilisation de Cedega fournie à tout utilisateur du Powerpack sur son compte sur http://my.mandriva.com. Contactez l'administrateur de votre compte my.mandriva si ce n'est pas le cas. Les descriptions qui suivent sont valables pour le dernier moteur disponible (6.0.2 ou supérieur à la date de rédaction) et en grande partie pour l'ancien moteur de la 2007.0 (en version 5.2.6) puisque les deux versions ont servi à rédiger l'article. Sauf commentaire explicite, les rapports Script 1. Installation de Cedega urpmi cedega Pour satisfaire les dépendances, les paquetages suivants vont être installés Paquetage Version (média « "Mandriva Linux - 2008.0 (Powerpack) pygtk2.0 2.12.0 pygtk2.0-libglade 2.12.0 python-cairo 1.2.6 python-gobject 2.14.0 python-numeric 24.2 (média « "Mandriva Linux - 2008.0 (Powerpack) cedega-small-mandriva 6.0.2 Révision Arch - Installer" ») 2mdv2008.0 i586 2mdv2008.0 i586 1mdv2007.1 i586 2mdv2008.0 i586 5mdv2008.0 i586 - Installer"4 ») 1 i386 un espace additionnel de 11Mo sera utilisé. Procéder à l'installation des 6 paquetages ? (O/n) urpmi python-dbus (optionnel mais préférable pour la gestion des médias amovibles) 49 Cedega sur le niveau de fonctionnalités de Cedega concernent la dernière version disponible (6.0.2). Figure 1. Localisation de l'entrée Transgaming Cedega dans le menu, dans l'onglet « Jeux » Figure 2. Assistant de création de compte Cedega 2 Premier lancement et configuration de Cedega Lancez Cedega à partir du menu (voir Figure 1) ou à partir d'une console (en tapant cedega ). Comme avec tout bon logiciel qui se respecte, la première étape consiste à accepter la licence... Cliquez sur Accept. L'assistant de création de compte se lance (voir Figure 2). Remplissez les champs Username et Password avec les identifiants fournis sur my.mandriva.com, puisque Mandriva a passé les accords commerciaux nécessaires (voir Figure 4). Pour les détenteurs du rpm de la version Mandriva 2007.0, vous pouvez laisser ces champs vides. Cliquez sur Forward. L'assistant, après un certain temps vous vous informe en les listant des mises à jour disponibles pour cedega (voir Figure 3). Cliquez sur OK pour les installer, puis sur Accept lorsque la licence vous est proposée. Acceptez la licence Mozilla avant de télécharger le MozControl et acceptez également la licence de Cedega. L'installeur vous informe de la disponibilité d'une nouvelle version (6.0.3, peut-être supérieure au moment où vous lisez ces lignes), et de l'ajout de fonctionnalités supplémentaires. Cliquez sur Oui pour télécharger la nouvelle version (voir Figure 5). Cliquez sur Oui. À priori, l'installation se déroule correctement, l'assistant vous notifie que l'ancienne version est toujours disponible et que vous choisirez la version qui Figure 4. Installation des mises à jour suggérées LINUX IDENTITY KIT Hors-Série vous convient dans l'interface graphique dans Edit –> Global Settings (voir Figure 6). Comme il est possible de changer le moteur à la volée, cliquez sur Oui pour faire de la dernière version téléchargée, votre version par défaut. Le téléchargement terminé, l'assistant nous indique que la mise à jour n'a pas pu être effectuée (malgré deux tentatives à deux jours d'intervalle) (voir Figure 7). Il semble qu'il s'agisse d'un problème temporaire au moment de la rédaction de l'article, vous pourrez en juger par vous-même lors de la lecture de cet article (n'oubliez pas de consulter le forum et le rapport de bug mentionnés en début d'article). Cliquez sur Valider. Pour terminer les mises à jour, téléchargez la base de données des paramètres de jeux. Cliquez sur Valider pour lancer le téléchargement, puis encore une fois sur Valider une fois le téléchargement terminé (voir Figure 8). Cliquez sur Valider pour passer à l'étape 2 de l'assistant. Le récapitulatif de votre système est présenté, pour l'ordinateur de test, seule la mémoire vidéo de la carte graphique n'a pas été détectée (320 Mo), l'ensemble de la configuration est correctement renseigné (attention à l'ouverture AGP pour les possesseurs d'une carte AGP, ne pas mettre une valeur différente de la quantité de mémoire présente sur la carte) (voir Figure 9). Cliquez sur Forward. Pour valider le bon fonctionnement de l'ordinateur, procédez éventuellement aux tests de compatibilité matériel/ logiciel (voir Figure 10). Cliquez sur Run Selected Tests (tous par défaut). Grâce à l'installation standard fournie par la Powerpack, l'assistant indique que tous les tests sont réussis, la configuration est donc optimale pour Cedega ! (voir Figure 11). Remarque : si vous utilisez le bureau accéléré via XGL, le rapport du test matériel indiquera à tort l'absence de rendu direct via OpenGL (voir l'astuce : Cedega et le bureau accéléré XGL). Cliquez sur Forward. La dernière étape de l'assistant indique qu'ef- www.linuxidentity.com Figure 4. L'utilisateur et le mot de passe sont inutiles... Figure 5. À peine installé, Cedega nous informe d'une nouvelle version du moteur. Ils sont réactifs... Figure 6. Assistant de choix de version du moteur. Nous choisissons d'utiliser par défaut la dernière version téléchargée Figure 7. La mise à jour de Cedega ne permet pas d'obtenir la dernière version 3 Cedega fectivement tout s'est bien déroulé, vous pouvez maintenant passer à la suite (voir Figure 12). Cliquez sur Finish. Figure 8. Fenêtre de validation du téléchargement des composants Inventaire de la configuration réalisée par l'assistant L'ensemble des informations recueillies est stocké dans le fichier $HOME/.cedegarc et dans $HOME/ .transgaming_global/. Les fichiers et répertoires nécessaires au fonctionnement de Cedega sont situés dans le répertoire $HOME/.cedega/. Il s'agit d'une arborescence simplifiée s'inspirant de ce qui existe sous Windows, comprenant les informations contenues dans le Tableau 1. Cedega et le bureau accéléré XGL XGL est lancé au-dessus du serveur X principal, et porte le numéro d'affichage (ou DISPLAY) : 93.0. Lors de leur lancement avec Cedega, les applications n'accèdent qu'au serveur X principal, comportant le numéro d'affichage 0.0. Si vous lancez des jeux directement, ils ne s'exécuteront pas avec XGL. Pour corriger ce problème, ouvrez un terminal et tapez : export DISPLAY=0.0 , puis lancez Cedega à partir de ce terminal en tapant cedega . Ces précisions faites, vous pouvez maintenant exploiter tout le potentiel de l'interface principale de Cedega (voir Figure 13). Figure 9. Récapitulatif du matériel détecté Tableau 1. Liste des fichiers et répertoires créés Nom de fichier 4 Derniers réglages Comme indiqué dans la Figure 7), la version de Cedega est maintenant la 6.0.3, cela se vérifie dans les propriétés globales. Allez dans Edit –> Global Settings, et vérifiez que Engine Version est effectivement à 6.0.3 et non à 6.0.2-1 ou inférieur (voir Figure 14). Explication .winex_ver programmes de Cedega .languages contient les fichiers de langue, à télécharger à partir de l'interface de Cedega .global.delta .default_configuration_profiles configuration_profiles contient les fichiers de configuration pour Cedega pour mimer les environnements Windows (win98/2000/XP) .gddb une des valeurs ajoutées de Cedega, contient des réglages spécifiques pour faire tourner au mieux les jeux LINUX IDENTITY KIT Hors-Série Nous en profitons au passage pour changer Winver –> winxp, Desktop –> 1280x1024, Activate TransGaming HUD et Show Memory Usage pour avoir quelques statistiques sur la performance du moteur Cedega (images par seconde et mémoire utilisée). Dans l'onglet Audio, l'idéal est de conserver les réglages alsa par défaut s'ils sont disponibles et dans l'onglet Graphics, précisez la quantité de mémoire de la carte (320 Mo) dans le cadre de cette configuration matérielle. À noter que Cedega nous gratifie encore d'une erreur (voir Figure 15), bien que d'un clic sur Ok, il semble accepter la nouvelle version (6.0.3). Cliquez sur Apply puis sur OK. Dernier raffinement ? Installation de la langue Française pour l'interface Cliquez sur Edit –> Language Preferences, puis dans l'assistant qui s'ouvre, sur Install pour ajouter une nouvelle langue. Autorisez Cedega, en cliquant sur Oui, à contacter le serveur de Transgaming. Choisissez dans la liste proposée (ru, fr, bg, nl, pt, et, nb, de, it, da, en, pl, es, fi, se) la langue qui vous convient (à priori « fr ») et cliquez sur Valider. Fermez et relancez Cedega. La langue de l'interface est maintenant plus accessible au plus grand nombre. Possesseurs de cartes graphiques NVIDIA récentes (pilotes 100.x.x), sachez qu'une incompatibilité avec Cedega oblige à désactiver l'extension ARGB GLX dans le fichier de configuration de Xorg ou à lancer Cedega avec la commande : XLIB_SKIP_ARGB_VISUALS=1 cedega Vous pouvez rendre cette commande définitive en éditant votre fichier .bashrc comme suit (si vous lancez cedega à partir d'une console : export cedega=''XLIB_SKIP_ ARGB_VISUALS=1 cedega'' (voir http://www.cedega.com/support/ cedega_release_notes//#argb_ glx_visuals). Figure 10. Tests de compatibilité à effectuer Figure 11. Résultat des tests de compatibilité. Tout est vert, nous pouvons poursuivre Passer à l'essentiel — jouer ! Bien entendu, si Mandriva et Transgaming nous ont fourni un produit www.linuxidentity.com Figure 12. La fin de l'assistant vous confirme que tout s'est bien déroulé et indique les améliorations apportées depuis la version 5.2 de Cedega 5 Cedega bien ficelé et facilement accessible, il ne faut pas oublier que notre objectif principal reste le jeu ! Passons aux choses sérieuses avec des jeux anciens (Warcraft III) et plus récents (en version de démo pour certains). Warcraft III Figure 13. Interface principale de Cedega, pour l'instant aucun jeu n'est installé et configuré Figure 14. Paramètres de configuration globale de Cedega Comme pour beaucoup probablement, Warcraft III a été un grand consommateur de temps (des heures, des heures, et des heures, à bâtir et démolir...) et une grande source de plaisir, c'est donc sur ce grand classique que le premier test a porté. Pour lancer Cedega (voir l'astuce : Cedega et le bureau accéléré XGL au besoin), insérez le CD du jeu et cliquez sur le bouton Installation. Un petit assistant apparaît demandant le nom du jeu, l'emplacement de l'installeur, etc. La valeur ajoutée de Cedega dans ce domaine consiste à proposer via le menu déroulant gddb le profil spécifique du jeu à installer. Comme ce profil existe pour Warcraft III nous le choisissons. Les paramètres de fonctionnement pour certaines cartes sont aussi indiqués (voir Figure 17). Éventuellement, cliquez sur Détecter le disque de jeu, qui dans ce cas précis, revient au même puisque l'auto-détection a fonctionné. Cliquez sur Continuer. Et ... problème ! (voir Figure 18). L'installation n'a donc pas fonctionné ; seule solution propre : recommencer la préparation depuis le début, mais ne pas télécharger la dernière version... Nous laissons cette partie au cas où le problème de migration serait résolu lors de la parution de l'article (l'assistant de configuration est rapide à exécuter). Pour repartir de zéro : cd $HOME rm -rf .transgaming_global/ .cedega .cedegarc Figure 15. Cedega ne reconnaît pas la version 6.0.3, pourtant il l'a téléchargée lui-même. Pour connaître le rôle des options, il suffit de laisser le curseur de la souris positionné sur chacune d'elles et ainsi faire apparaître une petite aide contextuelle 6 L'assistant relancé et correctement configuré (c'est-à-dire sans faire la mise à jour du moteur), nous reprenons les tests. Ce problème devrait être résolu lors de la publication de l'article LINUX IDENTITY KIT Hors-Série (voir les liens a là fin d'article). En attendant, vous avez un petit descriptif des problèmes possibles. L'interface classique de Warcraft III apparaît et l'installation du jeu commence (voir Figure 19). Après validation de la clé et copie des fichiers, vous voici prêt à jouer : lancez Cedega, cliquez sur le jeu et sur l'exécutable avec le CD inséré dans le bon lecteur (à ce sujet il faut trouver le bon timing entre l'insertion du CD et le moment du clic sur Lancer dans Cedega, un peu de calibrage sera nécessaire...). Globalement, le jeu répond bien, pas de bug visuel notable (même dans les cinématiques), son impeccable. Presque une déception, tout fonctionne... (voir Figure 20). Si vous avez déjà utilisé une version antérieure de Cedega, le problème suivant est susceptible d'apparaître (probablement lors du lancement de Cedega après mise à jour du rpm) : cedega /usr/lib/transgaming_cedega/ gddb.py:19: RuntimeWarning: Python C API version mismatch for module gddb_ parser: This Python has API version 1013, module gddb_ parser has version 1012. import gddb_parser Traceback (most recent call last): File "/usr/lib/transgaming_ cedega/Point2Play_gui.py", line 2629, in <module> Point2Play_gui_ref = P o i n t 2 P l a y _ g u i ( Point2Play.Point2Play( config_file) ) File "/usr/lib/transgaming_ cedega/Point2Play_gui.py", line 505, in __init__ if proggrp not in os.list dir(self.Point2Play.SYSTEM WIDE_GAMEDIR): OSError: [Errno 2] Aucun fichier ou répertoire de ce type: '/usr/lib/ transgaming_games/' Il est particulièrement agaçant, une fois le jeu installé, de ne plus pouvoir utiliser Cedega ! www.linuxidentity.com Figure 16. Réglages personnalisés et aide contextuelle en action sur « Mozilla Control » Figure 17. Détail des paramètres d'entrée pour Warcraft III. Notez les conseils pour les patchs et les cartes ATI mentionnés dans l'onglet « Tout » Figure 18. L'assistant n'arrive pas à accéder à la version 6.0.3... 55 Cedega Figure 19. Warcraft III sous GNU/Linux, c'est possible. Notez la taille de la fenêtre virtuelle de 1280x1024, sur un écran de 1680x1050, cela prend quand même de la place Comme le message d'erreur l'indique, le chemin de recherche des jeux est mal configuré. Pour corriger ce problème, créez sous root un lien symbolique : ln -s /usr/lib/transgaming_ cedega /usr/lib/ transgaming_games tenu et lancez l'installation comme vu ci-dessus pour Warcraft III. ( h t t p : / / w w w. 2 k g a m e s . c o m / bioshock/) unzip bioshock_demo.zip Archive: bioshock_demo.zip creating: BioShock PC Demo/amd dual core timing fix/ inflating: BioShock PC Demo/amd dual core timing fix/ AMD Dual Core Timing Fix.exe inflating: BioShock PC Demo/background1.bmp inflating: BioShock PC Demo/background2.bmp inflating: BioShock PC Demo/background3.bmp inflating: BioShock PC Demo/data1.cab inflating: BioShock PC Demo/data1.hdr [....] inflating: BioShock PC Demo/setup.exe inflating: BioShock PC Demo/setup.ini inflating: BioShock PC Demo/setup.inx creating: BioShock PC Demo/vs redist/ inflating: BioShock PC Demo/vs redist/vcredist_x86.exe inflating: BioShock PC Demo/_Setup.dll Cette-fois-ci, il est impossible d'installer le jeu (donc de jouer). Il n'est pas listé dans la liste des jeux compatibles avec Cedega (voir Figure 22). Cedega se lance alors correctement et indique qu'il faut effectuer une migration de la configuration (à cause de la mise à jour de la base de données des jeux cddb, effectuée auparavant) (voir Figure 21). Cliquez sur Start. La migration est rapide et les « 3 » jeux sont convertis (chaque entrée de Warcraft III compte pour « 1 » jeu). La conversion des fichiers étant réalisée, supprimez maintenant le lien symbolique désormais inutile : unlink /usr/lib/transgaming_game Et relancez Cedega pour jouer. Comme Warcraft est assez ancien (DirectX 8), il convient donc de vérifier la compatibilité des jeux récents (au moins DirectX 9) avec Cedega. Bioshock Décompressez le fichier bioshock_ demo.zip pour en extraire le con8 Figure 20. Même en recommençant de zéro, il a fallu être raisonnable pour ne pas repartir dans l'épopée de Blizzard. Notez en haut à gauche le nombre d'images par secondes (plutôt autour de 100FPS durant le jeu, avec tous les réglages au maximum) et l'utilisation mémoire LINUX IDENTITY KIT Hors-Série Avec la version de Cedega dont nous disposons, il n'est a priori pas possible de le lancer selon la page de compatibilité le concernant (http://games.cedega.com/ gamesdb/ratings/view.mhtml? game_id=3984). L'assistant démarre puis reste bloqué sur l'EULA, impossible d'activer la case J'accepte (voir Figure 24) (http://learn.whatisfear.com). The Settlers (sorti le 4 octobre) Non supporté, non fonctionnel (erreur sur la détection de IE7/ netscape...) (http://thesettlers.fr. ubi.com/home.php). Earth 2160 Figure 21. Migration des paramètres de configuration de la base de données des jeux F.E.A.R Comme réalisé ci-dessus, nous installons le jeu (fichier f.e.a.r._demo_ jouable_1_simple_joueur_anglais_ 14981.exe) en spécifiant cette foisci qu'il s'agit d'une version de démo (donc pas de lecture CD), en cochant la case Gros EXE (voir Figure 23) dans l'onglet Avancé de l'assistant d'installation (au passage, désactivez la surveillance du CD-ROM puisqu'il n'est pas utilisé). L'installation s'est déroulée sans problème et le jeu se lance correctement, je n'ai pas passé l'étape de création de clé de validation (il faudrait encore recréer une clé spécifiquement ce qui invaliderait l'ancienne). À priori, ce jeu fonctionne correctement avec la dernière version de Cedega (non fonctionnel avec Cedega 5.2.6oem) (http:// www.earth2160.com). Far Cry 2 Un petit dernier pour la route... Le jeu s'installe correctement (le profil est disponible dans la cddb), les options de jeu se configurent et de nombreux conseils sont prodigués pour améliorer les performances. Far Cry 2 fonctionne très bien, mais nécessite un peu de travail pour améliorer les performances du jeu (ne pas commencer par toutes les options à Very High par exemple...). Petite astuce : il est possible de jouer avec toutes les options très élevées (même l'anti-aliasing, en 1680x1050) sauf pour l'option Special Effects Quality, avec un paramètre différent de low, il y a des corruptions de textures (l'écran apparaît entièrement gris) (http:// farcry.fr.ubi.com/ -démo-). Bilan et perspectives Figure 22. Incompatibilité entre Bioshock et Cedega, comme confirmé sur leur site : http://games.cedega.com/gamesdb/games/ view.mhtml?game_id=4858 www.linuxidentity.com Les jeux sous licence propriétaire ont de beaux jours devant eux. Tirés majoritairement par le marché des consoles, où non seulement le jeu 9 Cedega est propriétaire mais aussi le système d'exploitation et l'architecture matérielle, les jeux vendus pour plusieurs plates-formes ont peu de chance de voir le jour. D'un autre côté, comme l'a indiqué Richard Stallman lui-même (lors d'un salon Solutions GNU/ Linux à Paris), le cas des jeux est un peu à part du monde des logiciels libres. Dans un jeu, il y a beaucoup de création artistique (images, son, vidéo, ...) couplée à de l'ingénierie logicielle. À quoi sert un moteur sans les niveaux, les textures, les animations ? Transgaming/Cedega fournit une solution spécifique et fonction- nelle pour un grand nombre de jeux (à en juger par la longue liste disponible en ligne). La base de données des jeux est mise à jour régulièrement et vous pouvez faire confiance au retour des utilisateurs pour connaître le degré de fonctionnalité du jeu sous Cedega. Selon vos habitudes de jeu, vous devrez donc faire votre choix. En ce qui concerne les performances, l'expérience montre qu'il faut passer un peu de temps pour trouver des réglages adaptés et qu'une configuration sérieuse est plutôt recommandée (enfin, en fonction de la résolution de l'écran, des réglages graphiques, etc). Néanmoins, à l'usage le jeu devient en général très agréable à prendre en main (quand cela fonctionne), et le fait d'avoir une station GNU/ Linux-Mandriva/Cedega à la place de Windows est vite oublié... Mandriva a réalisé un très bon travail d'incorporation de la solution TransGaming Cedega dans cette édition 2008.0 (édition DVD Powerpack), ce qui vous permet d'avoir un aperçu très significatif des possibilités logicielles qui restent à développer. En effet, si GNU/Linux progresse bien dans le domaine du « bureau », les éditeurs de jeux ne semblent pas encore convaincus du marché commercial potentiel que notre OS représente. La solution intermédiaire fournie par Transgaming est donc un compromis entre la liberté apportée par la GPL et le fait de pouvoir utiliser les jeux achetés. Pour aller plus loin Figure 23. Prise en charge d'une démo (sans CD) avec l'option « Gros EXE » http://www.linuxgames.org http://www.happypenguin.org h t t p : / / w w w . l i b s d l . o r g/ games.php http://linuxfr.org/topics/ Game.html http://garagegames.com http://www.transgaming.org/ gamesdb http://www.transgaming. com/sources.php Figure 24. EULA bloqué... 10 LINUX IDENTITY KIT Hors-Série