Study how Windows PE64 binaries can be translated to run on Apple Silicon
Run small test Windows console programs on macOS without a Windows install
Experiment with running the real Windows build of 7-Zip on a Mac
Compare just-in-time translation performance against a simple interpreter mode
| vladislav-kalinkin/wie | abc3dz/mixxx | abyo-software/ferro-stash | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Rust | Rust | Rust |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires building from source with Cargo and, for full testing, separately obtaining a real Windows binary.
WIE is an early, experimental project that tries to run 64-bit Windows programs directly on an Apple Silicon Mac, without Windows itself being installed. It is written in Rust and works by translating the Windows program's instructions and memory operations into something the Mac's own processor and operating system can execute, rather than by running a Windows program. The author is upfront that this is a research prototype and not yet something that can run ordinary Windows applications. It focuses narrowly on small, self-contained programs of a specific type, plus the small set of Windows system calls that real command-line tools tend to use. Many of the underlying interfaces the project needs to imitate are only partly built out for now, just enough to support its test programs and prove the core engine works. It does not try to support older 32-bit Windows software or aim for complete historical compatibility. One of the more developed examples in the project is running the real Windows version of the 7-Zip archive tool, used for compressing and extracting files. To try this, a user has to separately download the official Windows build of 7-Zip themselves, since it is not included in the project. Once provided, WIE can create archives, list their contents, and extract them, including using multiple threads at once, with files read from and written to a designated folder standing in for the Windows C: drive. The project also has working support for basic Windows-style multithreading features such as creating and waiting on threads, critical sections, events, and semaphores, though the underlying processor emulation itself currently runs one instruction stream at a time even when multiple guest threads are active. Settings exist to switch between a faster just-in-time translation mode and a simpler step-by-step interpreter, mainly for testing and comparison. The full README is longer than what was shown.
An experimental Rust project that tries to run 64-bit Windows console programs directly on an Apple Silicon Mac by translating them on the fly.
Mainly Rust. The stack also includes Rust, Cranelift, JIT.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.