2025-11-03 19:30:31 -07:00
2024-07-23 00:27:03 -06:00
2025-11-11 14:50:52 -07:00

wibo

A minimal, low-fuss wrapper that can run simple command-line 32-bit Windows binaries on Linux and macOS - developed to run Windows compilers faster than Wine.

Download the latest release from GitHub releases or build from source.

Available builds:

  • wibo-i686: Linux x86 (static binary)
  • wibo-x86_64: Linux x86_64 (static binary, experimental)
  • wibo-macos: macOS x86_64 (experimental, Rosetta 2 supported)

Building

cmake --preset debug
cmake --build --preset debug

This will produce an x86 (32-bit) debug Linux binary at build/debug/wibo.

Available presets:

  • debug: Debug Linux x86
  • release: Release Linux x86
  • debug64: Debug Linux x86_64
  • release64: Release Linux x86_64
  • debug-macos: Debug macOS x86_64
  • release-macos: Release macOS x86_64

Usage

wibo [options] <program.exe> [arguments...]
wibo path [subcommand options] <path> [path...]

General Options

Option Description
-h, --help Show usage information and exit
-V, --version Show version information and exit

Runtime Options

Option Description
-C, --chdir DIR Change working directory before launching the program
-D, --debug Enable debug logging (same as WIBO_DEBUG=1)
--cmdline STRING Use STRING as the exact guest command line (must include the program name, e.g. "test.exe a b c")
-- Stop option parsing; following arguments are used verbatim as the guest command line, including the program name

Subcommands

Subcommand Description
path Convert between host and Windows-style paths (see wibo path --help for details)

Examples

Normal usage

wibo path/to/test.exe a b c
wibo -C path/to test.exe a b c

Advanced: full control over the guest command line

wibo path/to/test.exe -- test.exe a b c
wibo --cmdline 'test.exe a b c' path/to/test.exe
wibo -- test.exe a b c

Tests

Self-checking Windows fixtures run through CTest. They require a 32-bit MinGW cross toolchain (i686-w64-mingw32-gcc and i686-w64-mingw32-windres).

On macOS: use brew install mingw-w64.

ctest --preset debug

This will cross-compile the fixture executables, run them through wibo, and fail if any WinAPI expectations are not met.

  • taviso/loadlibrary - Initial inspiration for this project.
  • evmar/retrowin32 - A similar project with different goals and architecture.
  • decomp.me - Collaborative decompilation website; uses wibo to run Windows compilers.

License

wibo is licensed under the MIT License. See LICENSE for details.

Optionally, wibo embeds a custom build of Wine's msvcrt.dll from encounter/winedll. To disable, set -DMSVCRT_DLL=.

Wine is licensed under the LGPLv2.1+. See winedll/LICENSE and winedll/COPYING.LIB for details.

Description
Quick-and-dirty wrapper that tries to run 32-bit Windows command-line executables on Linux
Readme MIT 3.1 MiB
Languages
C++ 73.3%
C 17.9%
Python 4.7%
CMake 2.8%
Assembly 1.1%
Other 0.2%