2025-09-26 11:41:02 -06:00
2025-09-26 12:01:15 -06:00
2025-09-26 12:01:15 -06:00
2025-09-26 12:01:15 -06:00
2024-07-23 00:27:03 -06:00
2025-09-26 01:51:25 -06:00
2025-09-26 00:55:35 -06:00
2025-09-26 12:01:15 -06:00
2025-09-26 12:01:15 -06:00
2025-09-26 12:10:56 -06:00
2025-09-26 12:01:15 -06:00

wibo

A minimal, low-fuss wrapper that can run really simple command-line 32-bit Windows binaries on Linux - with less faff and fewer dependencies than WINE.

Don't run this on any untrusted executables, I implore you. (Or probably just don't run it at all... :p)

Building

cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --target wibo

cmake -B build -DCMAKE_BUILD_TYPE=Release to produce an optimized binary instead.

Running

./build/wibo /path/to/program.exe
# or, with debug logging:
WIBO_DEBUG=1 ./build/wibo /path/to/program.exe

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).

With the toolchain installed:

cmake -B build -DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build --output-on-failure

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


Rough to-do list:

  • Implement more APIs
  • Do something intelligent with Windows HANDLEs
  • Convert paths in environment variables (and the structure of PATH itself, maybe) to Windows format

Related projects:

Description
Quick-and-dirty wrapper that tries to run 32-bit Windows command-line executables on Linux
Readme MIT 2.3 MiB
Languages
C++ 84.3%
C 13.9%
CMake 1.6%
Dockerfile 0.2%