Un émulateur Dreamcast natif sous Linux ?

Logo lxdream
LxDream est un émulateur Dreamcast sous licence GPL pour les systèmes Linux et Mac OSX. Assez jeune (2007), et donc encore en développement, il reste malgré tout très prometteur. Même si pour le moment, on ne peut pas encore jouer dans de bonnes conditions, LxDream permet tout de même de faire tourner quelques jeux commerciaux, démos et homebrews ( une liste de compatibilité assez succinte est disponible sur le site lxdream.org ). Il manque encore malheureusement pas mal de choses sur la version actuelle (0.9.1 à l'écriture de ce tuto), pas de réglages son, ni vidéos possibles. Espérons que son auteur, Nathan Keynes, poursuive rapidement le développement. :)

Features :

  • Effets d'ombrage, de brouillard et de fumée.
  • Support du format GDI.
  • Émulation du lightgun.
  • Support du Pixel Buffer d'OpenGL.
  • Support des CDI (Diskjuggler) et NRG (Nero) créés par les versions récentes de ces logiciels.
  • Émulation du clavier et de la souris.
  • Implémentation des instructions MMU (Instructions supplémentaires des processeurs récents)

Configuration minimale :

  • Pentium 4 3Ghz
  • Carte graphique : GeForce FX5 minimum
  • GTK 2.6+
  • Drivers OpenGL ATI ou nVidia récent (2008)

Installation

Par le dépot Debian de LxDream (recommandé)

LxDream fournit depuis la fin juin 2009 un dépôt pour les distributions Debian & Debian-based (comme Ubuntu). C'est assurément la méthode la plus pratique qui vous permettra de bénéficier sans vous prendre la tête des mises à jours de l'émulateur. L'ajout de dépôts tiers à votre distribution est également expliqué dans la documentation d'Ubuntu.

Ouvrez Synaptic (menu Système>Administration>Gestionnaire de paquets Synaptic). Ouvrez ensuite l'utilitaire de configuration des dêpots (Configuration>Dépots).

Screenshot Synaptic

Dans l'onglet "Autres logiciels" cliquez sur "Ajouter" et entrez la ligne suivante :

deb http://www.lxdream.org/debian unstable main #lxdream

Screenshot Synaptic
Ouais je sais, j'ai déjà un paquet de dépôts tiers dans mon sources.list. :)

Screenshot Synaptic

Fermez, rechargez la liste et installez lxdream

Screenshot Synaptic

Si lxdream n'apparaît pas après avoir rechargé la liste (ça peut arriver), entrez la commande suivante dans un terminal, ça réglera le problème :

sudo apt-get update && sudo apt-get install lxdream

Par le paquet .deb

Un paquet .deb est disponible sur la page de téléchargement du site de LxDream, téléchargez la version qui correspond à votre architecture (i386 ou amd64) et installez le simplement en double-cliquant dessus.

Screenshot Gdebi LxDream

Par compilation

Installez build-essential et ses dépendances si ce n'est pas déjà fait, ainsi qu'un certain nombre de paquets necessaires à la compilation de LxDream et checkinstall qui permettra d'installer les sources compilées :

sudo apt-get install build-essential checkinstall libpng12-dev libgtk2.0-dev

Téléchargez les sources disponibles sur le site lxdream.org et décompressez l'archive dans votre home. Rendez-vous ensuite dans le dossier fraichement décompressé en tapant dans votre terminal :

cd lxdream-0.9.1

Ensuite :

./configure

Si il n'y a pas d'erreurs :

make

Et l'installation :

sudo checkinstall

Et voilà. :)

Un fois installé, quelle que soit la méthode, vous pouvez lancer LxDream par le menu Applications>Jeux>lxdream.

Présentation rapide de l'interface

LxDream possède une interface simple et claire, qui pourrait peut-être trahir l'état d'avancement de son développement.

Screenshot presentation

Screenshot presentation

Configuration

Etant encore en développement, toutes les options de configuration ne sont pas encore implantées. Il est donc possible pour le moment de ne configurer que les chemins vers les bios, les contrôles et les raccourcis clavier.

Les bios de la Dreamcast ne sont, pour des raisons légales, pas fournis avec LxDream, mais ils sont assez facile à trouver sur le net.
Une fois trouvés et téléchargés, il vous faut configurer les chemins vers vos bios via le menu Settings>Paths....

Screenshot path config

  • Bios ROM & Flash ROM : Là où sont stockés vos fichiers dc_bios.bin (des fois appelé dcboot.bin) et dc_flash.bin. Le nom des fichiers importe peu.
  • Default disc path : Le dossier par défaut où sont stockés vos isos et où la fenêtre de navigation se positionnera.
  • Save-state path : Le dossier où sont stockées vos sauvegardes.
  • VMU path : Le dossier où sont stockés vos fichiers VMU.
  • Bootstrap IP.BIN : Le dossier où sera stocké un IP.BIN qui permettra de booter des binaires DC. Une fonction plutôt utile aux développeurs qui codent sur DC.

A savoir que seuls les chemins pour le Bios ROM et la Flash ROM sont important, le reste est optionnel, vous pouvez le laisser tel quel.

Vous pouvez ensuite configurer vos manettes, claviers, souris et lightgun via le menu Settings>Controllers... :

Screenshot controllers config
Ici, LxDream configuré avec une manette PS2 sur un adaptateur USB.

Si vous le souhaitez, vous pouvez aussi configurer divers raccourcis clavier via le menu Settings>Hotkeys... :

Screenshot hotkeys config

Vous pouvez aussi changer manuellement la configuration en éditant le fichier lxdreamrc qui se trouve dans le dossier caché .lxdream de votre home (ctrl+h pour les afficher).

Lancer un jeu...

...Avec un ISO

LxDream lit par défaut les images disque propriétaires au format .cdi (le format qu'on trouve le plus souvent pour les jeux Dreamcast) et .nrg.

Ouvrez simplement le menu Files>GD-Rom>Open image File..., et choisissez votre fichier .cdi ou .nrg.

Screenshot iso

Et lancez LxDream via le bouton de lecture.

...Avec un CD-R ou GD-ROM

Le support du CD-R n'est pour le moment pas disponible, une news du 25 février 2010 explique le pourquoi du comment.

...En ligne de commande

LxDream peut être lancé en ligne de commande avec un certain nombre d'options supplémentaires.

-A <audio-driver> Sélection d'un driver audio. Options courantes : esd ou null
-V <video-driver> Sélection d'un driver video. Options courantes : gtk ou null
-a AICA-only - lancement de l'émulation sonore seule
-c <config-file> Spécifier l'emplacement du fichier de configuration
-d <disc-image-file> Specifier un disque (CDI ou NRG) à monter au démarrage
-H Lancement sans interface graphique (mode headless)
-p Démarre le jeu immédiatement sans attendre que le bouton 'play' soit cliqué
-x Désactiver le traducteur SH4 (mode émulation seule)
-D Afficher la fenêtre de débuggage au démarrage

Note : Pour les ordinosaures, pensez à désactiver Compiz-fusion pour gagner en performances.

Problèmes rencontrés

Outre le manque de performances de mon ordinosaure, et les performances un peu aléatoire de l'émulateur, j'ai rencontré quelques soucis non résolus.

  • Track start marker not found, error reading cdi image : une erreur qui peut apparaître sur certains isos. L'image n'est simplement pas supportée, le problème est connu.
  • Problème de son. Je n'ai pas du tout réussi à avoir un son correct, le son sature et crachote. Assez insupportable.

Quelques captures...

Screenshot menuScreenshot logo Sega

Screenshot noiz2saScreenshot  ChuChu Rocket

Screenshot  Puzzle FighterScreenshot  Space Channel 5 Part 2

Voilà pour ce petit tour d'horizon. Si vous rencontrez un problème quelconque, n'hésitez pas à passer sur le forum en section Émulation de la Dreamcast, on tentera de solutionner ça. :)