Box86 - Le Bottin des Jeux Linux

Box86

🗃️ Specifications

📰 Title: Box86 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Emulation 🚦 Status: 04. Released (status)
🏷️ Category: Emulation ➤ Engine ➤ Linux 🌍️ Browser version:
🔖 Tags: Emulation; LINUX 📦️ Package Name: box86
🐣️ Approx. start: 2018-04-22 📦️ Arch package: ✓
🐓️ Latest: 2023-12-15 📦️ RPM package:
📍️ Version: Latest: 💥️0.3.4 / Dev: f191228 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: MIT 📦️ AppImage package:
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: 2D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single & Multi 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb
🎰️ ID: 16127 🐛️ Created: 2021-10-22
🐜️ Updated: 2024-01-03

📖️ Summary

[en]: A libre and multi-platform x86_32 Linux emulator for non-x86 Linux systems, such as ARM (the host system must also be a 32-bit system). It allows you to play Linux games on non-x86 systems (Raspberry Pi, Pandora console, or mobiles). [fr]: Un émulateur Linux x86_32 libre et multi-plateforme pour systèmes Linux non x86, tel que ARM (le système hôte doit aussi être un système 32 bits). Il permet notamment de jouer à des jeux Linux sur des systèmes non x86 (Raspberry Pi, console Pandora, ou des mobiles).

🎥️ Videos


🕯️ How To: (202009), (202012), (201912),


🎮️ Showcase: (202211), (202208), (202107),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202009) ht(202012) ht(201912) d(202211) d(202208) d(202107) d(202005) d(202006) d(201908) d(201911) d(201907) d(201902) d(201902) d(201903) g(202xxx) 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)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Game Compatibility List]

🦣️ Social
Devs (Box86 Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Sebastien Chevalier (ptitSeb) [fr] [en]): [Site 1 2] [PayPal] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202108) 2[fr](201306)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related


📦️ 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: [Boiling Steam on mastodon (20211019)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Box86
🦊️ What's: A libre x86_32 Linux emulator for non-x86 Linux systems such as ARM, allowing to play Linux games on such systems
🏡️ https://box86.org
🐣️ https://github.com/ptitSeb/box86
🔖 #LinuxEmulation #Linux
📦️ #Libre #Arch #RPM
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 0.3.4
⚗️ Code improvement 🚀️
📌️ Changes: https://github.com/ptitSeb/box86/releases
🦣️ From: https://masto.ai/@phoronix/111589959099596786
📶️ https://github.com/ptitSeb/box86/releases.atom

🕯️ https://www.youtube.com/embed/yoIptyr6zV4
🎮️ https://www.youtube.com/embed/Weolem_zOtQ
🎮️ https://www.youtube.com/embed/5JwflzpWDzk

🕶️ The logo of this emulator

Box86 is a libre and multi-platform x86_32 Linux emulator for non-x86 Linux systems, such as ARM (the host system must also be a 32-bit system). It allows you to play Linux games on non-x86 systems (Raspberry Pi, Pandora console, or mobiles).

📕 Description [en]

📕🐧"A libre x86_32 Linux emulator for non-x86 Linux systems, such as ARM, allowing to play Linux games on non-x86 systems"🐧📕

Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices

Box86 lets you run x86 Linux programs (such as games) on non-x86 Linux systems, like ARM (host system needs to be 32bit little-endian).

You NEED a 32-bit subsystem to run and build Box86. Box86 is useless on 64-bit only systems. Also, you NEED a 32-bit toolchain to build Box86. A toolchain that only supports 64-bit will not compile Box86, and you'll get errors (typically on aarch64, you get "-marm" not recognized, and you'll need a multiarch or chroot environnement).

Because Box86 uses the native versions of some "system" libraries, like libc, libm, SDL, and OpenGL, it's easy to integrate and use with most applications, and performance can be surprisingly high in many cases. Take a look at thoses bench analysis for an example here.

Most x86 Games need OpenGL, so on ARM platforms a solution like gl4es is usually necessary. (Most ARM platforms only support OpenGL ES and/or their OpenGL implementation is dodgy (see OpenGL on Android).)

Box86 now integrates a DynaRec (dynamic recompiler) for the ARM platform, providing a speed boost between 5 to 10 times faster than only using the interpreter. Some high level information on how the Dynarec work can be found here.

Many games already work without much tweaking, for example: WorldOfGoo, Airline Tycoon Deluxe, and FTL. Many of the GameMaker Linux games also run fine. (there's a long list, among them are UNDERTALE, A Risk of Rain, and Cook Serve Delicious)

If you are serious about developing Box86, you should install ccache and build Box86 with it. (Use ccmake for example.) To enable TRACE (i.e. dumping to stdout all individual x86 instructions executed, with dump of registers), you'll also need Zydis library available on your system.

Some x86 internal opcodes use parts of "Realmode X86 Emulator Library", see x86primop.c for copyright details

📕 Description [fr]

Un émulateur Linux x86_32 pour systèmes Linux non x86, par la Box86 Team, initié par Sebastien Chevalier (ptitSeb).
En C.

Box86 est un émulateur Linux x86_32 libre et multi-plateforme pour systèmes Linux non x86, tel que ARM (le système hôte doit aussi être un système 32 bits). Il permet notamment de jouer à des jeux Linux sur des systèmes non x86 (comme la Raspberry Pi, la console Pandora, ou des mobiles).

Voir aussi / See also (Linux emulation): Box64, Box86, FEX-Emu,


Box86 - Émulateur x86 de l'espace utilisateur Linux avec une touche d'originalité, destiné aux périphériques ARM Linux.

Box86 vous permet d'exécuter des programmes Linux x86 (comme des jeux) sur des systèmes Linux non x86, comme ARM (le système hôte doit être en 32 bits little-endian).

Vous avez BESOIN d'un sous-système 32 bits pour exécuter et construire Box86. Box86 est inutile sur les systèmes uniquement 64 bits. De même, vous avez besoin d'une chaîne d'outils 32 bits pour construire Box86. Une chaîne d'outils qui ne supporte que le 64 bits ne compilera pas Box86, et vous obtiendrez des erreurs (typiquement sur aarch64, vous obtiendrez "-marm" non reconnu, et vous aurez besoin d'un environnement multiarch ou chroot).

Parce que Box86 utilise les versions natives de certaines bibliothèques "système", comme libc, libm, SDL et OpenGL, il est facile à intégrer et à utiliser avec la plupart des applications, et les performances peuvent être étonnamment élevées dans de nombreux cas. Jetez un coup d'oeil à l'analyse de ces benchs pour un exemple ici.

La plupart des jeux x86 ont besoin d'OpenGL, donc sur les plateformes ARM une solution comme gl4es est généralement nécessaire. (La plupart des plateformes ARM ne supportent qu'OpenGL ES et/ou leur implémentation OpenGL est douteuse (voir OpenGL sur Android).

Box86 intègre maintenant un DynaRec (recompilateur dynamique) pour la plateforme ARM, fournissant un gain de vitesse de 5 à 10 fois plus rapide qu'en utilisant uniquement l'interpréteur. Quelques informations de haut niveau sur le fonctionnement du Dynarec peuvent être trouvées ici.

De nombreux jeux fonctionnent déjà sans trop de modifications, par exemple : WorldOfGoo, Airline Tycoon Deluxe et FTL. La plupart des jeux GameMaker Linux fonctionnent également très bien. (la liste est longue, parmi lesquels UNDERTALE, A Risk of Rain et Cook Serve Delicious).

Si vous voulez sérieusement développer Box86, vous devriez installer ccache et construire Box86 avec lui. (Utilisez ccmake par exemple.) Pour activer TRACE (c.-à-d. le dumping vers stdout de toutes les instructions x86 individuelles exécutées, avec le dump des registres), vous aurez également besoin de la bibliothèque Zydis disponible sur votre système.

Certains opcodes internes x86 utilisent des parties de la "Realmode X86 Emulator Library", voir x86primop.c pour les détails du copyright.