PyBoy - Le Bottin des Jeux Linux

PyBoy

🗃️ Specifications

📰 Title: PyBoy 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Emulation 👁️ Visual: 2D & 3D
🏷️ Category: Emulation ➤ Engine ➤ Nintendo 🏝️ Perspective: Third & First person
🔖 Tags: Emulation; NINTENDO; gb; gbc ⏱️ Pacing: Real Time
🐣️ Approx. start: 2016-01-24 👫️ Played: Single
🐓️ Latest: 2025-04-01 🚦 Status: 04. Released (status)
📍️ Version: Latest: 💥️ 2.5.2 / Dev: dfe7088 ❤️ Like it: 3. 👍️⭐⭐⭐ (very good)
🏛️ License type: 🕊️ Libre 🎀️ Quality: 2. 🏅️⭐⭐⭐⭐ (good)
🏛️ License: LGPL-3 ✨️ (temporary):
🐛️ Created: 2025-02-22 🐜️ Updated: 2025-04-08

📦️ Deliverables

📦️ Package name: pyboy ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap:

🚦 Entry status

📰 What's new?: 🐞️ Hotfix 👻️ Temporary:
💡 Lights on: ✓ 📰 Previous News: ✓
🎨️ Significant improvement: 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🦺️ Work in progress:
👫️ Contrib.: goupildb 🚧️ Some work remains to be done:
🎰️ ID: 16483

📖️ Summary

📜️[en]: A libre, multiplatform, command-line Game Boy and Game Boy Color console emulator. It was developed as a student project to test/train IAs, but works perfectly well as a simple emulator. It has an HLE BIOS (no need to obtain an external BIOS), and offers support for multi-factor scaling (for the convenience of today's large screens), drag-and-drop window resizing, sound, good fluidity and game compatibility. It lacks an interface and gamepad support. A good emulator. 📜️[fr]: Un émulateur de consoles Game Boy et Game Boy Color en ligne de commande, libre et multiplateforme. Il a été développé en tant que projet étudiant pour notamment tester/entraîner des IAs, néanmoins il fonctionne tout à fait en tant que simple émulateur. Il dispose d'un BIOS HLE (il n'est pas nécessaire de se procurer un BIOS externe), et offre notamment le support de la mise à l'échelle par facteur multiplicateur (pour le confort des grands écrans actuels), du redimensionnement de sa fenêtre par glisser-déposer, du son, une bonne fluidité et compatibilité avec les jeux. Il lui manque une interface et le support du gamepad. Un bon émulateur.

🎥️ Videos


📰 Progress: Mr. Sujano (202502),


🎲️ Gameplay: (202012), (202012),


🎮️ Showcase: (Derivative projects) (202310), (202412),

🕸️ Links

🏡️ Website & videos
Website: [Homepage] [Dev site] [Features/About] [Screenshots]
Videos: t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx) g(202012) g(202012) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)]
Doc: [WIKI] [FAQ]
Updates: [RSS] [Changelog 1 2 3]

💰 Commercial
• (empty)

🍩️ Resources

🔘️ Forks or similar projects
• PokemonRedExperiments (Train RL agents to play Pokemon Red, MIT): [Homepage] [Dev site] 🎬️ gd(202310)
• Stable Baselines3 (a set of reliable implementations of reinforcement learning algorithms in PyTorch, MIT): [Homepage] [Dev site] 🎬️ gu(202412)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (PyBoy Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [Lemmy] [reddit] [Discord]

🐝️ Related
[Wikipedia (Game Boy) [fr] [en] [de]]
[Wikipedia (Game Boy Color) [fr] [en] [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Mr. Sujano (202502)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: PyBoy
🦊️ What's: A libre Game Boy & Game Boy Color emulator
🏡️ -
🐣️ https://github.com/Baekalfen/PyBoy
🔖 #LinuxEmulation #Nintendo
📦️ #Libre #Arch
📖 Our entry: https://lebottinlinux.vps.a-lec.org/LO.html

🥁️ Update: 2.5.2
⚗️ Hotfix 🐞️
📌️ Changes: https://github.com/Baekalfen/PyBoy/releases
🦣️ From: 🛜️ https://github.com/Baekalfen/PyBoy/releases.atom

🎲️ https://www.youtube.com/embed/ZFUKaQrF-ts
🎲️ https://www.youtube.com/embed/iVII6k6cBes
🎮️ https://www.youtube.com/embed/DcYLT37ImBY
🎮️ https://www.youtube.com/embed/IXGaYbrZYyc

🕶️ A view of the game “102 Dalmatians - Puppies to the Rescue” running under PyBoy (v.2.5.1 on Linux): the 102nd Dalmatian stands on a rising platform, narrowly avoiding the toy car moving below.

📚️ PyBoy is a libre, multiplatform, command-line Game Boy and Game Boy Color console emulator. It was developed as a student project to test/train IAs, but works perfectly well as a simple emulator. It has an HLE BIOS (no need to obtain an external BIOS), and offers support for multi-factor scaling (for the convenience of today's large screens), drag-and-drop window resizing, sound, good fluidity and game compatibility. It lacks an interface and gamepad support. A good emulator.

📕 Description [en]

📜️ "A libre Game Boy & Game Boy Color emulator" 📜️

Game Boy emulator written in Python

Features:

✅️ Hacking games
✅️ Link Cable
✅️ Debugger (VSCode, GDB, terminal or otherwise)
✅️ AI - use the api or game wrappers to train a neural network
✅️ Game Wrappers - make wrappers for popular games

If you want to implement something which is not on the list, feel free to do so anyway. If you want to merge it into our repo, then just send a pull request and we will have a look at it.

📕 Description [fr]

Un émulateur libre de consoles Game Boy et Game Boy Color en ligne de commande, par la PyBoy Team.

PyBoy est un émulateur de consoles Game Boy et Game Boy Color en ligne de commande, libre et multiplateforme. Il a été développé en tant que projet étudiant pour notamment tester/entraîner des IAs, néanmoins il fonctionne tout à fait en tant que simple émulateur. Il dispose d'un BIOS HLE (il n'est pas nécessaire de se procurer un BIOS externe), et offre notamment le support de la mise à l'échelle par facteur multiplicateur (pour le confort des grands écrans actuels), du redimensionnement de sa fenêtre par glisser-déposer, du son, une bonne fluidité et compatibilité avec les jeux. Il lui manque une interface et le support du gamepad. Un bon émulateur.


Emulateur Game Boy écrit en Python

Caractéristiques :

✅️ Bidouillages de jeux
✅️ Câble de liaison
✅️ Débogueur (VSCode, GDB, terminal ou autre)
✅️ AI - utilisez l'API ou les wrappers de jeux pour entraîner un réseau neuronal
✅️ Game Wrappers - créer des wrappers pour des jeux populaires

Si vous voulez implémenter quelque chose qui n'est pas sur la liste, n'hésitez pas à le faire. Si vous voulez le fusionner dans notre repo, envoyez simplement une pull request et nous y jetterons un coup d'oeil.

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

📦️ Installation à partir du/des paquet(s) Manjaro/Arch :
• Il(s) est/sont dans les dépôts Manjaro/Arch, il suffit d'installer le(s) paquet(s).


📄️ Installation à partir du source

• Si vous souhaitez quelque-chose de très récent (versions de développement) et/ou qu'il n'y a pas de binaire disponible pour votre distribution/architecture (32/64-bits), la compilation du source est une bonne idée, voir un passage obligé.

▸ Installation des dépendances (en dépôt) :
• Installez au préalable le(s) paquet(s) suivant(s) (ou version ultérieure) : sdl2 python python-pipx

▸ Installation avec pipx :
• Peu importe le répertoire où la console se situe, lancez successivement :
$ pipx install pyboy
$ pipx ensurepath
💡 Nota : Cette dernière commande va ajouter un raccourci dans le PATH de votre console (~/.bashrc), permettant de rendre le jeu accessible quelque-soit l'endroit où elle se trouve.
↪ vous obtenez (notamment) le(s) raccourci(s) : ~./local/bin/pyboy


🚀️ LANCEMENT DE L'ÉMULATEUR

▸ Classique :
• Si vous l'avez installé à partir d'un paquet / dans l'un des répertoires système ou l'avez compilé et mis à jour le PATH (voir ci-avant), lancez : $ pyboy -s6 "game.gbc"
ou (ne change rien) : $ pyboy -b gbc_bios.bin -w SDL2 -s6 "game.gbc"

💡 Nota : les guillemets sont nécessaires si le nom du fichier comporte un/des espace(s)


📑️ PARAMÉTRAGE

$ pyboy
UserWarning: Using SDL2 binaries from pysdl2-dll 2.30.10
usage: pyboy [-h] [-b BOOTROM] [--no-input] [--log-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}]
[--color-palette COLOR_PALETTE] [--cgb-color-palette CGB_COLOR_PALETTE] [-l [LOADSTATE]]
[-w {SDL2,OpenGL,null}] [-s SCALE] [--no-renderer] [--gameshark GAMESHARK] [--dmg | --cgb]
[--no-sound-emulation] [--sound | --sound-volume SOUND_VOLUME]
[--sound-sample-rate SOUND_SAMPLE_RATE] [-d] [--autopause] [--record-input] [--rewind]
[--breakpoints BREAKPOINTS]
ROM

⌨️🖱️🎮️ CONTRÔLES :

• Il se contrôle au clavier.
(Liste des contrôles non exhaustive)

• Bouton "A" de la console : [A]
• Bouton "B" de la console : [S]
• Bouton "Start" de la console : [ENTER]
• Bouton "Select" de la console : [BACKSPACE]
• Déplacements : [↑←→↓]

• Sauvegarder (sauvegarde d'état) (fonctionne même après avoir quitté le jeu) : [Z]
• Charger une partie (sauvegarde d'état) : [X]
• Quitter : [ESC]

• FPS illimités (pour info, car incontrôlable) : [SPACE]

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : le 22 février 2025 sous Manjaro. Par : goupildb. ⏱️ Durée du test : 15 minutes. 🎯️ Objectif : Initialisation de l'entrée, tests et prise d'une copie d'écran



🫕️ Installation :
▸ (🧪️not_tested) Paquet Arch/AUR : NON TESTE.
▸ (✔ v. 2.5.1) Source : FONCTIONNEL.
🟢️ Son source se compile facilement et fonctionne bien,


🏗️ Réalisation :

‣ 📟️ Interface
🟠️ Pas d'interface de paramétrage, l'outil se lance en ligne de commande
🟢️ Néanmoins en jeu, son interface offre notamment un redimensionnement de sa fenêtre par glisser-déposer, la sauvegarde de la progression, un tableau des scores,
🟠️ Point(s) faible(s) relevé(s) : il lui manque une interface de paramétrage, un mode plein écran fonctionnel (il n'a pas fonctionné sur mon matériel),

‣ 🎮️ Contrôles
⚪️ Il/Elle se contrôle au clavier exclusivement.
🟠️ Point(s) faible(s) relevé(s) : il lui manque le support du gamepad,

‣ 🎧️ Son
🟢️ Le jeu est accompagné d'une bande son adaptée,

‣ 🏞️ Graphismes
🟢️ Un graphisme pixel art très réussi,
🟠️ Point(s) faible(s) relevé(s) : il lui manque la possibilité d'améliorer son graphisme via des filtres semblables à ceux des émulateurs (SuperEagle, 2xSaI, Super2xSaI, hq2x, ...),

‣ 🍯️Contenu
🟠️ Point(s) faible(s) relevé(s) : il lui manque le support du contenu compressé,


🧪️ Tests effectués :

⚪️ J'ai d'abord été surpris par la touche [SPACE], pensant (avant d'avoir lu la doc) qu'il s'agissait d'une touche d'action, et voyant le jeu s'emballer. En fait il s'agit d'une touche déclenchant un nombre de FPS illimité. Son intérêt se révèle sans doute dans l'entraînement d'IAs.
🟢️ Par défaut l'écran est petit, néanmoins avec le paramétrage SCALE (-s 6 ou autre facteur en ligne de commande), on peut adapter la fenêtre dès le démarrage.

‣ 🎲️ Résultat des tests

🔍️ 102 Dalmatians - Puppies to the Rescue : Un jeu de plateforme sur le thème des 101 Dalmatiens : (⭐⭐⭐)
🟢️ Le jeu est parfaitement fonctionnel et assez sympa. On doit commencer par trouver la clé dans le niveau en cours, ce qui permet ensuite de libérer les autres chiots enfermés dans des cages (à chaque niveau, un nombre de chiot indiqué en bas à droite de l'IU, doit être libéré), en évitant le véhicule et robots du niveau. La touche [S] fait aboyer le chien, ce qui immobilise momentanément les robots (mais pas la voiture).

🔍️ Action Man - Search for Base X : un shooter en plateforme, au travers de la jungle (pour le 1er niveau) : (⭐⭐⭐)
🟢️ Le jeu est parfaitement fonctionnel et assez sympa, mais assez difficile. Les tirs des abeilles extra-terrestres ne sont pas faciles à éviter et l'on a que 3 vies.


🧭️ Conclusion :

🕵️ Impression globale : 👍️
❤️ Like it: 👍️⭐⭐⭐ (very good)
🎀️ Quality: 🏅️⭐⭐⭐⭐ (good)

🟠️ Il manque encore quelques fonctionnalités (une interface de paramétrage, le support du gamepad, des filtres graphiques, le support du contenu compressé).
🟢️ Néanmoins il est parfaitement fonctionnel, et s'installe facilement.
🟢️ Un bon outil
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son/ses auteur(s) !