Quick-and-dirty wrapper that tries to run 32-bit Windows command-line executables on Linux
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Mark Street ae5b4fffaa
Add EnumSystemLocalesA stub (#63)
7 days ago
.github/workflows Build a wibo_debug binary as well (#51) 2 months ago
cmake Explicitly link std::filesystem as needed (#14) 1 year ago
dll Add EnumSystemLocalesA stub (#63) 7 days ago
test 3 funcs needed for some mwcc compilers (#22) 1 year ago
.clang-format Everything needed to run simple Rust programs (#40) 3 months ago
.clang-tidy Everything needed to run simple Rust programs (#40) 3 months ago
.dockerignore Add Dockerfile + build action (#3) 1 year ago
.gitignore Implement enough process handling logic to make psyq4.0 happy (#46) 3 months ago
CMakeLists.txt Ensure we don't reallocate during 2GB address space block (#49) 2 months ago
Dockerfile Build a wibo_debug binary as well (#51) 2 months ago
LICENSE first commit 1 year ago
README.md Add retrowin32 to related projects in README 2 months ago
common.h Handle special handle value from FindFirstFileA in FindNextFileA (#52) 2 months ago
files.cpp Everything needed to run simple Rust programs (#40) 3 months ago
files.h Everything needed to run simple Rust programs (#40) 3 months ago
handles.cpp 3 funcs needed for some mwcc compilers (#22) 1 year ago
handles.h Implement enough process handling logic to make psyq4.0 happy (#46) 3 months ago
loader.cpp Minor cppcheck lint fixes 2 months ago
main.cpp Minor cppcheck lint fixes 2 months ago
processes.cpp Implement enough process handling logic to make psyq4.0 happy (#46) 3 months ago
processes.h Implement enough process handling logic to make psyq4.0 happy (#46) 3 months ago
strutil.cpp GetLocaleInfoW (#47) 2 months ago
strutil.h GetLocaleInfoW (#47) 2 months ago

README.md

wibo

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

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

cmake -B build
cmake --build build
build/wibo

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
  • Implement PE relocations rather than just failing unceremoniously
  • Make the PE loader work for DLLs as well in case we ever want to load some

Related projects: