

To run Linux on an Apple Silicon Mac without dual-booting, install Lumen VM and boot Abyss Linux inside it. Lumen is a free, native Mac app for virtual machines. Abyss is a free, systemd-free desktop built on Void Linux. Both are open source, MIT-licensed, and made by MrZaKaRiA.
They were built separately and they work on their own. Together they make a small, fast Linux workstation that lives in a window on your Mac. This post explains what each one is, how they fit, how to set them up, and where the limits are.
What Abyss Linux is
Abyss Linux is a desktop distribution on top of Void Linux. The idea is simple: small programs you can read in an afternoon. The window manager is dwm, patched and themed in purple. The terminal is st. dmenu, slock and tabbed complete the suckless set.
There is no systemd. Services run under runit, where a service is a directory with a run script. Updates are rolling, so you never wait for a big release. One command, sudo xbps-install -Su, updates the Void base, your apps and the Abyss builds together.
The idle desktop uses about 300 MB of RAM. One Menu button holds apps, files, settings, tools and power. Release 27.0 ships ISOs for x86_64 and for aarch64. That second one matters for Mac owners.
Not a fork of a fork
Abyss keeps Void underneath: Void's repositories, kernel and tools. The patched dwm, st and dmenu come from a separate signed XBPS repository, built by GitHub Actions. New suckless releases can arrive without a new ISO. The suckless philosophy behind those tools is worth a read on its own.
What Lumen VM is
Lumen VM is a virtual machine manager written in Swift and SwiftUI for Apple Silicon Macs. It runs macOS and ARM64 Linux through Apple's Virtualization framework. Windows 11 ARM runs through QEMU with HVF acceleration, as an experimental guest.
It is a native app, not a web wrapper. Your machines sit in one library window. Each machine opens in its own window, sized for Retina, with its own Dock icon. Close the window and the machine keeps running.
Disks are sparse. A new 64 GB disk costs almost nothing on your SSD, because blocks are written only when the guest uses them. The library shows real use, not the maximum. Stopped disks can grow later.
A virtual disk should cost what you write to it, not what you might need one day.
Version 27.1.0 added opt-in Rosetta, so x86-64 Linux binaries can run inside an ARM64 guest. It also added nested virtualization on M3 Macs and later with macOS 15, plus hardening of the app and its helpers.
How the two fit together
Picture the stack from the bottom. Your Mac runs macOS. Lumen asks Apple's Virtualization framework for a machine. Abyss Linux boots in that machine from its aarch64 ISO. You get a tiled Linux desktop in a Mac window, next to your normal apps.
The pieces were made to meet. Lumen lists Void and Abyss Linux as tested guests. Its Linux guest tools set up the clipboard, shared folders, the X11 desktop start and Void's runit services. Abyss, for its part, sets Xft.dpi automatically and uses 2× scaling in Apple Virtualization, so text stays sharp on a Retina screen.
A light guest also suits a laptop. Abyss idles at about 300 MB, so you can give the machine little RAM and keep the rest for macOS. Lumen's footer shows the VM RAM budget and the memory it reserves for macOS, so the trade-off is visible.
Setting it up, step by step
Lumen 27.1.0 ships as source, not as a notarized installer. You build your own Lumen.app with one script, and nothing needs an account.
- Check the Mac: Apple Silicon (M1 or later) with macOS 14 Sonoma or later.
- Install Swift 5.9 or later through Xcode or the Command Line Tools, and install Homebrew.
- Download the Lumen source zip from GitHub, or clone the repository, and verify it with shasum -a 256 -c SHA256SUMS.
- Install the Homebrew dependencies (qemu, swtpm, python@3.14, sevenzip), then run bash scripts/build.sh.
- Download the Abyss Linux 27.0 aarch64 ISO and verify it against its SHA256SUMS file.
- In Lumen, press Command-N or drop the ISO on the library. Pick CPU, RAM and a maximum disk size.
- Boot the ISO, open the Menu, choose Install Abyss Linux, and answer three questions: hostname, root password and your user.
- After the reboot, run Install / Repair Linux Guest Tools from Lumen for the clipboard and shared folders.
Share only the Mac folders the guest should see. Lumen lets you add them one by one, each with its own read-only switch. A project folder read-write and your Downloads read-only is a sensible start.
Daily use
In Abyss, Super is the mod key. Super+Return opens a terminal, Super+Esc opens the menu, and Super+p runs anything through dmenu. Command-C and Command-V carry text between the Mac and the guest once the guest tools are in. Updates stay one command away.
What to expect, and what not to expect
Both projects say plainly what they do not do. That is worth reading before you plan work around them.
- Lumen builds are ad-hoc signed on your own Mac. They are not Developer ID signed or notarized yet.
- Intel Macs are not supported, and neither are Android or ChromeOS guests.
- Windows 11 ARM is experimental. It has a 2D display only: no Direct3D or Metal acceleration, and no snapshots or clones yet.
- You bring your own ISO or IPSW. Guest systems keep their own licences.
- Abyss is a desktop for people who like the keyboard. If you want a full GNOME or KDE desktop, pick Ubuntu or Fedora as the guest instead.
None of this is hidden. The compatibility notes and the feature audit sit in Lumen's GitHub repository, next to the code.
Who this setup is for
It suits developers who deploy to Linux servers and want the same tools at hand on a Mac. It suits people learning Linux who want a system small enough to understand. And it suits anyone who wants a test machine they can wipe without touching their Mac.
Think of a two-person web team. They build on Macs and deploy to a Linux VPS. A Void-based guest lets them test runit services and shell scripts before they reach the server. If you want that server run for you instead, that is what our Linux server management work covers.
It is less suited to Windows-heavy work today, given the experimental status. It is also not a replacement for a real server. A VM on a laptop sleeps when the laptop does.
Frequently asked questions about running Linux on an Apple Silicon Mac
Can I run Linux on an M1, M2 or M3 Mac?
Yes, as a virtual machine. Lumen VM runs ARM64 Linux such as Ubuntu, Debian, Fedora, Void and Abyss Linux through Apple's Virtualization framework on any Apple Silicon Mac with macOS 14 or later. Nested virtualization inside the guest needs an M3 or later with macOS 15.
Are Abyss Linux and Lumen VM free?
Yes. Both are open source under the MIT license, and both are free to download from GitHub. Guest operating systems keep their own licences, and you supply your own installer images.
Does a Linux virtual machine fill up my SSD?
Not with Lumen. Its disks are sparse, so the capacity you set is a limit rather than space reserved upfront. A new machine uses close to zero bytes, and the disk grows only as the guest writes. Linux guests can hand space back through fstrim.
Can x86-64 Linux programs run on an ARM Mac?
Yes, inside a Linux guest with Rosetta turned on. Lumen's Linux guest tools register Rosetta with binfmt, so an x86-64 Linux binary runs inside the ARM64 guest. It is opt-in, per machine.
Why choose Abyss Linux as the guest?
It is small and quick to boot. It idles at about 300 MB of RAM, uses runit instead of systemd, and keeps Void's rolling updates. It is also a tested Lumen guest with HiDPI set for Apple Virtualization. Pick Ubuntu or Fedora if you prefer a full desktop.
Where to go next
The Abyss Linux and Lumen VM pages have the screenshots, the requirements and the download links. If your team needs Linux in production rather than on a laptop, read about self-hosted business tools on a VPS, or get in touch.





