Skip to main contentBongbetic

Void Linux

Void Linux

A distro with no version numbers and no systemd; it does have opinions. Independent, rolling, runit and XBPS, with a choice of glibc or musl, and an install wizard that only prints commands.

Build my install planOfficial handbook

Facts and history

Locked to 2026-10-09. Void is a rolling release, so anything with a number on it is a snapshot.

Latest image
20250202
GNOME
48
Xfce
4.20
Kernel series
6.18
XBPS
0.60 (.sig2)

A short, accurate history

  1. First void-packages import. Juan Romero Pardines (xtraeme, ex-NetBSD) starts Void as a place to test XBPS, the package manager he had been writing. The first XBPS import dates from 2009-08-17. Source
  2. systemd arrives, then leaves. Void ships systemd from 2011-06-25 and drops it on 2014-07-28 for runit. A short relationship, ended cleanly. Source
  3. musl toolchains. musl toolchains land in the tree, which is why you now get to choose between glibc and musl in the installer. Source
  4. LibreSSL by default. Void becomes the first distribution to default to LibreSSL. It returns to OpenSSL on 2021-03-05. Source
  5. Serious issues. The founder vanishes while holding sole control of the organisation and domain. The remaining team rebuilds the project under the void-linux organisation. Source
  6. Enterprise Edition. A joke set of images appears under live/20250401/ billed as an Enterprise Edition. It is not an enterprise edition. The latest real image is still 20250202. Source
  7. Still no version numbers. Void is a rolling release. The images carry a date, the packages carry the present tense, and the latest image is still 20250202. Source

Yes, there is a live/20250401/ directory labelled Enterprise Edition. It is an April Fools joke. There is no support contract, no sales team and no synergy. The real latest image is 20250202.

One of the fastest, lightest, most cleanly designed Linux distributions.
Jesse Smith, DistroWatch (2023) Source

glibc or musl?

Void ships both. The choice is made at install time and cannot be switched later without reinstalling. If you do not know which you need, you want glibc.

  • glibc

    The default. Everything just runs.

    • Runs proprietary binaries, most Flatpak apps and anything built for 'Linux' in the generic sense.
    • The only choice for the proprietary NVIDIA driver.
    • Multilib (32-bit) support, which Steam and some Wine setups want.
    • Needs a locale step during install.
  • musl

    Smaller and stricter. Fewer surprises, more homework.

    • Lean and standards-minded, with a smaller footprint.
    • Many proprietary programs and some prebuilt binaries will not run.
    • No proprietary NVIDIA driver. Nouveau only.
    • No multilib, and no locale step because it has no libc-locales.

Install wizard

Answer the questions, then follow one step per screen. The commands are built from the Void Handbook; the wizard changes nothing on your machine. Disk steps erase data and are marked.

Your machine

C library

Not sure? glibc.

Firmware

On the live image run ls /sys/firmware/efi. If it lists files, pick UEFI.

Install method

The installer is quicker. The chroot method shows every step and supports btrfs, swap and layout choices your way.

Whole disk, never a partition. SATA and virtio are /dev/sda or /dev/vda. NVMe and SD cards are /dev/nvme0n1 and /dev/mmcblk0 and their partitions get a p before the number (p1).
Root filesystem
0 means no swap. Suggestion by RAM: under 2 GB use double, 2 to 8 GB use the same as RAM, above that at least 4.
glibc only.
Network
Desktop
Graphics

Your answers and progress are saved in this browser only.

Troubleshooting

The usual traps, in rough order of how many people fall in.

  • Run one. If you installed NetworkManager, remove the dhcpcd and wpa_supplicant services, or they fight over the interface.

    rm /var/service/dhcpcd /var/service/wpa_supplicant
  • acpid and elogind both handle power events. With a desktop, run elogind and remove the acpid service.

    rm /var/service/acpid
  • Inside xchroot, link services into /etc/runit/runsvdir/default/. The /var/service directory is a symlink that exists only on a running system.

    ln -s /etc/sv/dhcpcd /etc/runit/runsvdir/default/
  • xbps updates itself first, then stops. Run the update a second time to get the rest.

    xbps-install -Su
    xbps-install -Su
  • A wrong clock breaks TLS and signature checks. Fix the time, then retry. Install chrony and enable chronyd to keep it right.

    xbps-install -S chrony
    ln -s /etc/sv/chronyd /var/service/
  • The repository and the architecture disagree about libc. musl needs /current/musl and x86_64-musl; glibc needs /current and x86_64.

  • linux-firmware 20260309_1 and newer is zstd-compressed and needs a recent kernel. Update the kernel first, or hold the firmware package until you do.

    xbps-pkgdb -m hold linux-firmware
  • Old kernels pile up. vkpurge removes the ones you are not running.

    vkpurge list
    vkpurge rm all
  • Windows keeps local time in the hardware clock. If you dual-boot, set HARDWARECLOCK=localtime in /etc/rc.conf. Otherwise leave it alone.

  • It does not work and cannot be made to. Use nouveau on musl, or reinstall with glibc.

  • WirePlumber is not running. Check that the configuration links and the autostart entry from the PipeWire step exist, then log in again.

    wpctl status

Built on Void

Code by the owner of this site that exists because Void exists.

  • Claude-Desktop-Void-Linux

    Install and update scripts for running Claude Desktop on Void Linux with xbps.

    Shell
    void-linux
    xbps
  • ginnungagap

    Spaces for Void Linux: runit, LXC, elogind and AppArmor. Licensed AGPL-3.0.

    Python
    void-linux
    runit
    lxc

All repos