x86 apps
On an Intel device, x86 Linux programs are native. On ARM, Box64 runs 64-bit x86 Linux programs, experimentally. Windows programs do not run on either.
Breadstick runs Linux software on your device's own processor, with nothing translated: it installs a Debian 13 built for that processor. Which processor your device has decides what this page means for you.
On an Intel device
An Intel Googlebook, or another Android device with an x86-64 processor, has the same kind of
processor as most Linux PCs. Breadstick installs Debian 13 for amd64 there, so 64-bit x86 Linux
programs are native: install them with apt, or from a .deb with Choose a file, and they run
as they would on a Linux PC. Box64 and the x86 apps pack are not needed, and Recommended apps does
not offer them.
Steam is offered there too, with Pro, as an experiment that is not supported: see Steam. Windows programs do not run on an Intel device either: see Windows programs.
The rest of this page is about ARM devices.
On an ARM device
Nearly every phone and tablet has an ARM64 processor. Debian builds nearly its whole archive for ARM64, so almost everything installs and runs at full speed. What follows is about the exception: programs that only exist for x86 processors.
Box64
Box64 runs 64-bit x86 Linux programs. It translates the program's instructions into ARM instructions as it runs, and hands the program's calls to common libraries (the C library, OpenGL, SDL and others) to the native ARM versions on your system. That is a large part of why it is usable: much of a typical desktop program's work happens in those libraries, natively.
With Breadstick Pro, it installs in one tap. The x86 apps pack on the Recommended apps screen installs Box64 and the short command described below, a download of a few megabytes, with apt's output on screen while it installs.
Where to run it
Box64 is started from a terminal. A command line program runs in any of them. A program with a window needs a Desktop or Floating session running, and then any terminal can open it:
- Terminal on the Linux desktop, in Desktop mode. The window opens on the desktop.
- Terminal from the Apps drawer, in Floating mode. The window opens as its own Android window. Keep that Terminal open while the program runs: closing it ends everything started from it.
- Breadstick's Terminal mode, the shell with tabs. The window opens on the desktop in Desktop mode, or as its own Android window in Floating mode, and the program keeps running when you leave the Terminal, as the shell itself does.
Running an x86 program
An x86 program has to be run through Box64, and the pack adds a short command for that:
bsl-x86 ./program
It is the same as box64 ./program.
The program has to be a 64-bit x86 build (x86_64, amd64 or x64); do not expect i386, i686 or other
32-bit builds to run. An aarch64 or arm64 build needs no Box64 and is always the better choice, so
look for one first. Box64 runs a program file, not a package: an x86 .deb or AppImage will not
install through Choose a file, so look for a .tar.gz or .zip you unpack and run from.
Two things follow from how Box64 is set up here:
- Nothing goes through it on its own. Android does not let Linux hand x86 programs to Box64 automatically, so a menu entry or start script that runs an x86 program directly fails, usually with "Exec format error". Run the x86 program itself through the command above.
- The program's libraries matter. Box64 knows the common ones and uses their ARM versions, which have to be installed like any other package: when it names one it could not load, installing Debian's own version with apt is often the fix. A rarer library has to come with the program, and a missing library is the usual reason one does not start.
What to expect
Performance depends on your device, more than anything else. Box64 translates an x86 program's instructions while it runs, so it is always slower than a native one: a program that mostly waits for you loses the least, and one that computes constantly, such as a compile or a game, pays the full cost. Your processor sets the speed and your memory sets how much can stay open beside it: a recent flagship does best, and on an older or budget device the same program can slow down until it is not usable. No Breadstick setting changes this. Breadstick is free, so you can see how your device runs native Linux software before paying for anything; translated programs run slower than that.
Everything is drawn in software. Box64 has no GPU acceleration here. Programs that lean on 3D, games in particular, run poorly or not at all. An ordinary window is not held back by it.
Every program counts against Android's process limit. A program run through Box64 is one Linux process, plus whatever it starts itself, and each counts against Android's process limit, 32 on most devices, the same as any Linux process.
Windows programs
Windows programs do not run on Breadstick, on ARM and Intel devices alike. Wine, the usual way to run them on Linux, is in Debian's archive, but it cannot start here: Android does not let an app run code it has changed after loading it from a file, and Wine changes its own core library as it starts. That comes from Android's security rules, not from a setting, so no pack installs it, and it is also why Steam's Windows games, which run through Proton, a version of Wine, do not run. For a Windows program, look for a Linux version, something similar in Debian's archive, or a web version.
If you installed the x86 & Windows apps pack from an earlier version of Breadstick, it installed Wine too, and these free the space Wine takes:
sudo apt remove wine
sudo apt autoremove
What this is for
On an ARM device, treat Box64 as a way to run a specific program you need, not as a promise that x86 software works in general. The good cases are small and self-contained, such as a command line tool that only ships 64-bit x86 Linux builds. If there is an ARM64 Linux version of what you want, and that includes anything apt can install, use that instead: it will be faster and it will keep working.
If a program you care about does not run, say so at hello@breadstick.io with its name, where you downloaded it and what the terminal printed when it failed.