{"id":15026067,"url":"https://github.com/ptitseb/box64","last_synced_at":"2025-05-13T18:10:34.220Z","repository":{"id":37004729,"uuid":"317493442","full_name":"ptitSeb/box64","owner":"ptitSeb","description":"Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices","archived":false,"fork":false,"pushed_at":"2025-05-10T10:03:42.000Z","size":41652,"stargazers_count":4518,"open_issues_count":405,"forks_count":340,"subscribers_count":78,"default_branch":"main","last_synced_at":"2025-05-10T11:19:17.369Z","etag":null,"topics":["arm64","box64","dynarec","emulator","linux"],"latest_commit_sha":null,"homepage":"https://box86.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ptitSeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"ptitSeb","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"paypal.me/0ptitSeb"}},"created_at":"2020-12-01T09:42:50.000Z","updated_at":"2025-05-10T10:37:30.000Z","dependencies_parsed_at":"2023-09-24T14:58:22.155Z","dependency_job_id":"6e83ad83-7002-472e-99fb-bbc596b514ef","html_url":"https://github.com/ptitSeb/box64","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptitSeb%2Fbox64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptitSeb%2Fbox64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptitSeb%2Fbox64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptitSeb%2Fbox64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ptitSeb","download_url":"https://codeload.github.com/ptitSeb/box64/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000854,"owners_count":21997442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm64","box64","dynarec","emulator","linux"],"created_at":"2024-09-24T20:03:39.890Z","updated_at":"2025-05-13T18:10:34.169Z","avatar_url":"https://github.com/ptitSeb.png","language":"C","funding_links":["https://github.com/sponsors/ptitSeb","paypal.me/0ptitSeb"],"categories":[],"sub_categories":[],"readme":"![Official logo](docs/img/Box64Logo.png \"Official Logo\")\r\n\r\n# Box64: Linux Userspace x86-64 Emulator with a Twist\r\n\r\n[Changelog](https://github.com/ptitSeb/box64/blob/main/docs/CHANGELOG.md) | [中文](https://github.com/ptitSeb/box64/blob/main/README_CN.md) | [Українська](https://github.com/ptitSeb/box64/blob/main/README_UK.md) | [Report an Error](https://github.com/ptitSeb/box64/issues/new)\r\n\r\n![Build Status](https://app.travis-ci.com/ptitSeb/box64.svg?branch=main) ![Stars](https://img.shields.io/github/stars/ptitSeb/box64) ![Forks](https://img.shields.io/github/forks/ptitSeb/box64) ![Contributors](https://img.shields.io/github/contributors/ptitSeb/box64) ![Pull Requests](https://img.shields.io/github/issues-pr/ptitSeb/box64) ![Issues](https://img.shields.io/github/issues/ptitSeb/box64)\r\n\r\n---\r\n\r\nBox64 enables running x86_64 Linux programs, including games, on non-x86_64 Linux systems such as Arm (64-bit little-endian host system required).\r\n\r\nCheck out Box64 in action on YouTube:\r\n- [MicroLinux](https://www.youtube.com/channel/UCwFQAEj1lp3out4n7BeBatQ)\r\n- [Pi Labs](https://www.youtube.com/channel/UCgfQjdc5RceRlTGfuthBs7g)\r\n- [The Byteman](https://www.youtube.com/channel/UCEr8lpIJ3B5Ctc5BvcOHSnA)\r\n\r\nBox64 leverages native system libraries (libc, libm, SDL, OpenGL), offering ease of integration and surprising performance in many applications. For performance benchmarks, check [this analysis](https://box86.org/index.php/2021/06/game-performances/).\r\n\r\nWith DynaRec for ARM64, RV64 and LA64 platforms, Box64 achieves a speed boost 5-10x faster than the interpreter alone. For a deeper look at DynaRec, see [Inner workings](https://box86.org/2021/07/inner-workings-a-high%e2%80%91level-view-of-box86-and-a-low%e2%80%91level-view-of-the-dynarec/).\r\n\r\n\u003cimg src=\"docs/img/Box64Icon.png\" width=\"96\" height=\"96\" alt=\"Box64 Icon\"\u003e\r\n\r\n_Logo and icon by @grayduck - Thank you!_\r\n\r\n---\r\n\r\n## 📖 Usage\r\n\r\nBox64 offers environment variables to control its behavior. For details, see [Usage Documentation](docs/USAGE.md).\r\n\r\n---\r\n\r\n## 🚀 Compiling and Installation\r\n\r\n- [Compilation Instructions](https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md)\r\n- [Bundle x86 Libraries](https://github.com/ptitSeb/box64/blob/main/docs/BUNDLE-X86-LIBS.md)\r\n- [Wine Installation for Box64](https://github.com/ptitSeb/box64/blob/main/docs/X64WINE.md)\r\n\r\n---\r\n\r\n## 🔄 Version History\r\n\r\nSee the [Changelog](docs/CHANGELOG.md) for version updates.\r\n\r\n---\r\n\r\n## 🖥️ Platform Compatibility Notes\r\n\r\nBox64 requires 64-bit libraries on the host system, as it directly translates x86_64 function calls. For 32-bit binaries, use Box86.\r\n\r\n**Notes** \r\n\r\n1. Box32 mode is in the making, which aims to support 32-bit binaries on Box64, you can enable it at build time, but do not expect everything to work. There is actually a few things that work, many that don't. It's a known issue, no need to create tickets about it for now.\r\n2. Some installers may default to x86 on 64-bit host OSes, causing compatibility issues. Workaround: Use a fake `uname` that returns \"x86_64\" for `-m`.\r\n\r\n---\r\n\r\n## ⚙️ Configuration\r\n\r\nBox64 has configuration files located in `/etc/box64.box64rc` and `~/.box64rc`, both formatted as `.ini` files. If you don’t want to use the default `/etc/box64.box64rc` file, copy it to `~/.box64rc` to ensure compatibility.\r\n\r\nSettings priority: `~/.box64rc` \u003e `/etc/box64.box64rc` \u003e Command line.\r\n\r\n---\r\n\r\n## 📄 Additional Platform-Specific Notes\r\n\r\n### Unity Game Emulation\r\n\r\n- Many Unity games require OpenGL 3+, which may be challenging on ARM/RISC-V SBCs.\r\n- **Tip for Pi4 and Pi5 Users**: Set `MESA_GL_VERSION_OVERRIDE=3.2` with `BOX64_DYNAREC_STRONGMEM=1` to prevent freezes and enable strong memory mode.\r\n- **Using Panfrost**: For better compatibility on ARM, enable `PAN_MESA_DEBUG=gl3` to force higher OpenGL profiles. This can help if a game starts but quits unexpectedly before showing any content.\r\n\r\n### GTK Programs\r\n\r\nBox64 wraps GTK libraries, supporting both gtk2 and gtk3.\r\n\r\n### Steam\r\n\r\nSteam requires Box86 due to its 32-bit client app, but uses 64-bit local server binaries. Systems with less than 6GB RAM may need a swap file for optimal performance.\r\n\r\n### Wine\r\n\r\nBox64 supports Wine64 and Proton. For 32-bit components, Box86 is required. Systems with both Box64 and Box86 can run 32- and 64-bit Windows programs.\r\n\r\n**Note**: You can use Wine WOW64 build to run x86 Windows programs in Box64-only environments, this is still experimental, but it works in most cases.\r\n\r\n### Vulkan\r\n\r\nBox64 wraps Vulkan libraries.\r\n\r\n----\r\nFinal word\r\n----\r\n\r\nI want to thank everyone who has contributed to box64 development.\r\nThere are many ways to contribute: code contribution, financial, hardware and advertisement!\r\nSo, in no particular order, I want to thank:\r\n * For their major code contribution: rajdakin, mogery, ksco, xctan\r\n * For their major financial contribution: [Playtron](https://playtron.one), tohodakilla, FlyingFathead, stormchaser3000, dennis1248, sll00, [libre-computer-project](https://libre.computer/), [CubeCoders Limited](http://cubecoders.com/)\r\n * For hardware contribution and LoongArch migration: [xiaoji](https://www.linuxgame.cn/), Deepin Beijing Develop Team\r\n * For their hardware contribution: [ADLINK](https://www.adlinktech.com/Products/Computer_on_Modules/COM-HPC-Server-Carrier-and-Starter-Kit/Ampere_Altra_Developer_Platform?lang=en) with [Ampere](https://amperecomputing.com/home/edge), [SOPHGO](https://www.sophon.ai/), [Radxa](https://rockpi.org/), [StarFive](https://rvspace.org/), [Pine64](https://www.pine64.org/), [AYN](https://www.ayntec.com/), [AYANEO](https://ayaneo.com/), [jiangcuo](https://github.com/jiangcuo)\r\n * For their continuous advertisements for the box64 project: salva ([microLinux](https://www.youtube.com/channel/UCwFQAEj1lp3out4n7BeBatQ)), [PILab](https://www.youtube.com/channel/UCgfQjdc5RceRlTGfuthBs7g)/[TwisterOS](https://twisteros.com/) team, [The Byteman](https://www.youtube.com/channel/UCEr8lpIJ3B5Ctc5BvcOHSnA), [NicoD](https://www.youtube.com/channel/UCpv7NFr0-9AB5xoklh3Snhg), ekianjo ([Boilingsteam](https://boilingsteam.com/))\r\n\r\nAnd I also thank the many other people who participated even once in this project.\r\n\r\n(If you use Box64 in your project, please don't forget to mention it!)\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptitseb%2Fbox64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fptitseb%2Fbox64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptitseb%2Fbox64/lists"}