Comment construire Super Mario 64 en natif sur Linux
Super Mario n’a pas besoin de présentations : c’est l’un des personnages de jeux vidéo les plus appréciés. Super Mario 64 est sorti à l’origine sur la console Nintendo64 en 1996 et représentait le premier épisode 3D de la franchise Mario. Grâce à un projet github, qui a permis de décompiler complètement le jeu, il est désormais possible de construire un portage Linux natif et d’y jouer sans avoir besoin d’un émulateur Nintendo64. Afin de compiler le portage, une rom originale et légalement obtenue « .z64 » du jeu est nécessaire.
Dans ce tutoriel, nous voyons comment compiler et lancer le portage Linux de Super Mario 64 sur certaines des distributions les plus utilisées.
Dans ce tutoriel, vous allez apprendre :
- Comment installer le logiciel nécessaire à la compilation de Super Mario 64 sur les distributions Linux les plus utilisées
- Comment construire et lancer le port
Installation des dépendances de build
La première chose que nous devons faire pour construire le portage Linux de Super Mario 64 est d’installer les dépendances de construction. Les paquets que nous devons installer varient en fonction de la distribution que nous utilisons. Sur Fedora, nous pouvons installer les dépendances en exécutant la commande suivante :
sudo dnf install git \
libXrandr-devel \
alsa-lib-devel \
pulseaudio-libs-devel \
python3 \
make \
gcc \
g++ \
libusb-devel \
SDL2-devel \
util-linuxSur Ubuntu, à la place, nous pouvons utiliser apt-get pour acquérir le logiciel nécessaire :
sudo apt-get update && sudo apt-get install git \
build-essential \
libusb-1.0-0-dev \
libsdl2-dev \
libc6-dev \
bsdmainutils \
python3
Pour construire le jeu sur Archlinux, nous devons installer les paquets suivants avec pacman :
sudo pacman -Sy git \
base-devel \
python3 \
sdl2 \
xorg-xrandr \
alsa-lib \
pulseaudio
Clonage du référentiel
Une fois que nous avons installé les dépendances nécessaires, nous pouvons cloner le dépôt github qui héberge le code. La commande ci-dessous clone le dépôt distant à l’intérieur du répertoire sm64-port :
git clone https://github.com/sm64-port/sm64-portNous devons maintenant déplacer la rom « .z64 » obtenue légalement de Super Mario 64 dans le répertoire repo, en la renommant en baserom. version}.z64 où « {version} » est la version régionale du jeu : « US », « EU » ou « JP ». Ici, nous supposons que la version « us » de la rom se trouve dans notre répertoire HOME :
mv ~/SuperMario64.z64 sm64-port/baserom.us.z64Construire le jeu
L’étape suivante consiste à entrer dans le répertoire du référentiel et à commencer à construire le jeu à l’aide de make, en fournissant éventuellement l’option -j, qui peut être utilisée pour spécifier combien de tâches doivent s’exécuter simultanément :
cd sm64-port && make -j4Dès que nous lançons la commande, le processus de compilation devrait commencer, il suffit d’attendre qu’il se termine :
==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...
Preprocessing level make rules: levels/level_rules.mk -> build/us_pc/level_rules.mk
==== Build Options ====
Version: us
Microcode: f3dex2e
Target: sm64.us
Compare ROM: no
Build Matching: no
=======================
Building tools...
Building ROM...Si le processus se termine sans erreur, nous devrions trouver l’exécutable du jeu créé dans le répertoire build/{version}_pc à l’intérieur du dépôt. Dans ce cas, pour le lancer, on peut simplement exécuter :
./build/us_pc/sm64.usSi tout se passe comme prévu, nous devrions voir le jeu dans toute sa splendeur :
Conclusions
Dans ce tutoriel, nous avons vu comment construire un portage natif de Super Mario 64 sur Linux : nous avons vu comment installer les dépendances nécessaires, comment cloner le dépôt hébergeant le code, et comment effectuer réellement la construction. Le processus de compilation décrit dans cet article nécessite une rom Super Mario 64 « .z64 » existante pour récupérer les ressources du jeu : vous ne devez l’utiliser que si vous êtes en mesure de l’obtenir légalement.

