Vinix is Not a Linux Distro, But it Can Run Games, Docker, and QEMU

The project has been around since 2021, runs its own kernel, and is written in V.
Warp Terminal

How does an operating system that isn't proprietary or powered by the Linux kernel manage to run Docker, you ask? Well, it would need features like namespaces and cgroups.

That's exactly what Vinix did, adding its own implementations of those plus overlayfs and seccomp, allowing the stock Alpine Linux Docker engine to run on ARM64.

It also runs QEMU 9.1.2, which can boot a second Vinix inside a window of the first, and for gaming, it can run DOOM, a DOOM 3 demo, Gothic II's demo via OpenGothic, and Minecraft Java Edition.

There are still some limitations.

For instance, the Docker support lacks bridge networking and iptables rules, and QEMU runs on software emulation for now. Minecraft runs in interpreter mode on one CPU core, and DOOM 3 manages about 13 FPS under software rendering.

🚧
This is early-stage software that is not meant to be used daily or in production environments.

Yet another OS?

vinix desktop view

Vinix exists to give MacBooks a fast, minimal, open source OS, with the project's motivation being tied to macOS getting slower and bloated with every passing release. They are initially targeting Apple Silicon devices to eventually cover the whole M-series lineup, though only the M1 is supported right now.

While Linux users have little reason to switch to it, Vinix aims for a setup without systemd and a kernel small enough for one person to read through.

Beyond that, nothing runs in the background unless you start it, and the system sticks to a single init system, desktop, package manager, and binary format. The kernel handles memory manually instead of using a garbage collector, so a cleanup pass can't interrupt a system call or the compositor.

All of it runs on a V programming language foundation, which was picked for its fast compiles and small, readable design. The project doubles as a testbed for bare metal programming in V too!

The security model of the OS is modeled after OpenBSD, with pledge and unveil available, though apps must opt in, and user memory can't be both writable and executable by default. Verifying the bootloader, kernel, and root filesystem isn't supported yet.

It runs Linux apps

At its core, Vinix is a monolithic kernel booted through Limine, with its drivers built into the image. Most of it is V, alongside some C and assembly.

It features a native desktop built with V UI2 that renders through the framebuffer, with X.org and Hyprland sessions as options on ARM64. The developers claim that the OS takes up 50 MB of RAM after boot and roughly 1 GB of disk once installed.

Alpine Linux, the distro behind that Docker engine from earlier, is lightweight and security-focused, and it's built around musl and BusyBox. Vinix targets its aarch64 packages.

Thanks to that, Vinix is able to run Linux apps because it answers the system calls they make, plus the ELF format and musl behavior they rely on, and those binaries run natively, without a VM or an emulator.

New applications can be installed with pkg, a command-line tool that pulls packages from Alpine's aarch64 repositories. Apps like Chromium, GIMP, Sublime Text, and Gnumeric are known to work, as is Wine, the widely adopted compatibility layer.

The catch is that this is limited to ARM64 and selected packages. Software that relies on a Linux kernel feature Vinix doesn't have yet may not run properly.

Additionally, support for the M3, M4, and M5 is coming soon, while GPU drivers are still a work in progress.

Who's behind it?

hyprland demo of vinix
The Hyprland demo for Vinix.

Vinix's history spans many years, with the first commits on GitHub dating back to March 2021 and the original kernel core being the work of Mintsuki, the creator of Limine.

Development then paused for around two years before Alexander Medvednikov, the author of V, took over as maintainer.

Mintsuki's core covered the physical and virtual memory managers and the scheduler, but since the handover, Vinix has gained storage, networking, input, and graphics support, along with a Unix-style userspace and the Alpine compatibility we saw earlier.

Get Vinix

You will find that the official website offers a .dmg installer file for M1 Macs, whereas the project repository hosts two distinct ISOs, one for ARM64 (targeted at QEMU and VirtualBox on Apple Silicon Macs) and the other for x86_64 (targeted at Intel and AMD systems).

If you want to test it on a virtual machine, the requirements are quite modest. Vinix needs at least 4 GB of memory and 4 GB or more storage space. Building from source is also an option.

If this helped you, consider supporting It's FOSS

It's FOSS has been helping people use Linux for the past 14 years. Help us stay independent from big tech. Become a Plus member, enjoy ad-free reading and get 5 eBooks.

Plus yearly

Ad-free, FREE ebooks

Join yearly

Buy us a coffee

Any amount, no commitment

Support on Ko-fi
About the author
Sourav Rudra

Sourav Rudra

A nerd with a passion for open source software, custom PC builds, motorsports, and exploring the endless possibilities of this world.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.