box86

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

View on GitHub

Usage

There are many environment variables to control Box86 behaviour.

BOX86_LOG

Controls the Verbosity level of the logs

BOX86_DUMP

Controls the Dump of elf content

BOX86_ROLLING_LOG

Show last few wrapped function call when a Signal is caught

BOX86_NOBANNER

Disables Box86 printing its version and build

BOX86_LD_LIBRARY_PATH

Path to look for x86 libraries. Default is current folder and lib in current folder. Also, /usr/lib/i386-linux-gnu and /lib/i386-linux-gnu are added if they exist.

BOX86_PATH

Path to look for x86 executable. Default is current folder and bin in current folder.

BOX86_DLSYM_ERROR

Enables/Disables the logging of dlsym errors.

BOX86_TRACE_FILE

Send all log and trace to a file instead of stdout Also, if name contains %pid then this is replaced by the actual PID of box86 instance Use stderr to use this instead of default stdout

BOX86_TRACE

Only on build with trace enabled. Trace allow the logging of all instruction executed, along with register dump

BOX86_TRACE_INIT

Use BOX86_TRACE_INIT instead of BOX_TRACE to start trace before the initialisation of libraries and the running program

BOX86_TRACE_START

Only on builds with trace enabled.

BOX86_TRACE_XMM

Only on builds with trace enabled.

BOX86_LOAD_ADDR

Try to load at 0xXXXXXX main binary (if binary is a PIE)

BOX86_NOSIGSEGV

Disable handling of SigSEGV. (Very useful for debugging.)

BOX86_NOSIGILL

Disable handling of SigILL (to ease debugging mainly).

BOX86_X11COLOR16

PANDORA only: Try converting X11 color from 32 bits to 16 bits (to avoid light green on light cyan windows).

BOX86_X11THREADS

Call XInitThreads when loading X11. (This is mostly for old Loki games with the Loki_Compat library.)

BOX86_X11GLX

Force libX11’s GLX extension to be present.

BOX86_DYNAREC_DUMP

Enables/disables Box86’s Dynarec’s dump.

BOX86_DYNAREC_LOG

Set the level of DynaRec’s logs.

BOX86_DYNAREC

Enables/Disables Box86’s Dynarec.

BOX86_DYNAREC_TRACE

Enables/Disables trace for generated code.

BOX86_NODYNAREC

Forbid dynablock creation in the interval specified (helpfull for debugging behaviour difference between Dynarec and Interpretor)

BOX86_DYNAREC_BIGBLOCK

Enables/Disables Box86’s Dynarec building BigBlock.

BOX86_DYNAREC_STRONGMEM

Enable/Disable simulation of Strong Memory model

BOX86_DYNAREC_X87DOUBLE

Force the use of Double for x87 emulation

BOX86_DYNAREC_FASTNAN

Enable/Disable generation of -NAN

BOX86_LIBGL

BOX86_LD_PRELOAD

BOX86_EMULATED_LIBS

BOX86_ALLOWMISSING_LIBS

Allow Box86 to continue even if a library is missing (renamed from BOX86_ALLOWMISSINGLIBS).

BOX86_ALLOWMISSING_SYMBOLS

Allow dlopen with RTLD_NOW flag to not resolve all symbols.

BOX86_PREFER_WRAPPED

Box86 will use wrapped libs even if the lib is specified with absolute path

BOX86_PREFER_EMULATED

Box86 will prefer emulated libs first (execpt for glibc, alsa, pulse, GL, vulkan and X11

BOX86_NOPULSE

Disables the load of pulseaudio libraries.

BOX86_NOGTK

Disables the loading of wrapped GTK libraries.

BOX86_NOVULKAN

Disables the load of vulkan libraries.

BOX86_ENV

BOX86_ENV1

BOX86_FIX_64BIT_INODES

Fix/Don’t fix 64bit inodes

BOX86_SHOWSEGV

Show Segfault signal even if a signal handler is present

BOX86_BACKTRACE

Show a backtrace (native and emulated) on Signal

BOX86_BASH

Define x86 bash to launch script

BOX86_BOX64

Define where to find box64 binary