MacTux is a compatibility layer that enables you to run Linux binaries on macOS.
🚧 INCOMPLETE PROJECT 🚧
Only x86_64 is currently supported. Note that running MacTux on ARM Macs with Rosetta 2 is supported, too.
See INSTALL.md for details.
Currently, we have tested:
- musl-libc
- glibc
- GNU Coreutils
- busybox
- toybox
- Opus Tools
- SQLite 3
- bash
- dash
- Python 3
- TinyCC
- OpenSSH Client
We suggest you to run dynamically linked or static-pie binaries, due to macOS's ASLR policy have not yet been solved completely.
We have our own VFS stack, so filesystem mounts are independent to the macOS filesystem. See tools/mkrootfs/fstab for
details.
~/.mactux/rootfs is the emulated root directory. Currently a minimal Alpine Linux rootfs can be installed and work.
We plan to support multimedia APIs, like D-Bus, OSS, ALSA, X11, Wayland, etc.
Currently, we have a working (but naive) implementation of OSS audio output.
We currently prioritizes to implement:
- Multi-thread support
- Epoll support
- sysfs support