deniz.in

Markets

Weather

Loading weather

· via Hacker News – Front Page (native)

Vinix: an OS written in V boots in 100 MB RAM and runs Alpine Linux binaries natively

Vinix, an alpha operating system written in V, boots to a desktop in about 100 MB of RAM, runs unmodified Alpine Linux packages natively, and targets Apple Silicon Macs with homegrown GPU drivers in progress.

Vinix: an OS written in V boots in 100 MB RAM and runs Alpine Linux binaries natively

A kernel written from scratch in V

Vinix is a new operating system whose kernel is written from scratch in the V language — not a Linux distribution and not a repackaged Linux kernel. According to the project's website, which reached the Hacker News front page, the system reaches a desktop within seconds and idles at around 100 MB of RAM with about 1 GB of disk after install, and the project presents those figures as the full system rather than a stripped-down mode.

The kernel is built with garbage collection disabled and uses manual memory management, so no collection pass can interrupt a system call, an interrupt handler or the compositor. There is no systemd, no background indexer and no telemetry, and the desktop draws straight to the framebuffer and composites its own windows rather than sitting on top of a display server.

Maturity is the honest caveat: Vinix is alpha software, under active development, and not intended for daily or production use.

Alpine binaries, with no VM in the way

The compatibility strategy is the standout technical choice. A Linux program does not really talk to Linux — it calls a numbered interface of a few hundred system calls such as openat, mmap, clone and futex. Vinix implements that interface, along with the ELF layout and the musl behaviour those programs expect on entry.

The result is that an unmodified aarch64 Alpine Linux package runs natively: the binary executes on the bare CPU and its system calls land in the Vinix kernel, with no Linux virtual machine, compatibility container or CPU emulation in the path. The project says pkg install chromium fetches the same package Alpine ships and it starts, and lists Chromium, GIMP, Blender, Sublime Text, Gnumeric and Wine as already running. Applications that rely on Linux kernel features Vinix has not implemented yet can still fail, and the developers close those gaps as they surface.

Apple Silicon support and homemade GPU drivers

Vinix officially targets Apple Silicon Macs. The site says only M1 machines are supported as of September, with M3, M4 and M5 listed as coming soon, while its GPU section says M2 through M5 will follow once M1 is finished. Because Apple publishes no GPU documentation or drivers outside macOS, any other OS wanting hardware acceleration on a Mac has to write its own — and Vinix is doing exactly that.

On the M1 that means two drivers: AGX, the GPU itself, and DCP, the display controller. Both are coprocessors reached over Apple's mailbox and RTKit interfaces, and the DART IOMMU isolates the GPU's memory view from the kernel's. Above them sits a minimal DRM subsystem with GEM buffer objects covering just what those drivers need for allocating, sharing and presenting frames, with Mesa and OpenGL on top. Much of the remaining roadmap — a hardware-accelerated desktop, smooth video and eventually games through Wine — depends on this driver work.

Optional sandboxing and opinionated defaults

Vinix offers optional per-app sandboxing, off by default. A sandboxed program gets its own private directory, and that is all of the filesystem it can see: documents, SSH keys and other applications' data are simply not present for it. Run the same binary outside the sandbox and it behaves like any other Unix process under ordinary file permissions. The project frames this as a per-program choice — useful for a browser, a downloaded binary you have not read, or a build script from someone else's repository.

The system is otherwise deliberately opinionated: one distribution, one UI, one package manager, one init system and one binary format, so users are not forced into constant configuration decisions. Themes can make it resemble macOS Catalina or even Windows XP, and the project commits to staying small rather than gaining weight with each release.

Trying it in QEMU

The project ships QEMU-based launchers that build and start the desktop. On Apple Silicon Macs, the launcher uses macOS hardware virtualization for the ARM64 desktop — install QEMU via Homebrew, clone the repository and run the aarch64 desktop script. Other machines use the x86_64 launcher, which leans on KVM when available and falls back to plain QEMU emulation otherwise.

Why it matters

New operating systems usually stall on application availability, and Vinix sidesteps that trap by implementing the Linux syscall surface well enough to inherit Alpine's entire musl-based package set from day one. It doubles as a serious stress test of V as a systems language, in territory where garbage collection pauses are unacceptable. The 100 MB RAM footprint pushes back against the creeping weight of mainstream operating systems, and the AGX and DCP driver effort tackles one of the hardest problems in running anything but macOS on Apple Silicon hardware. The alpha label means none of this is daily-driver material yet, but as systems-software launches go, Vinix covers an unusual amount of ground.

  • #operating-systems
  • #v-language
  • #apple-silicon
  • #linux-compatibility
  • #open-source

Related posts