Void is a general purpose operating system, based on the monolithic Linux kernel. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources with the help of the XBPS source packages collection.
It is available for a variety of platforms. Software packages can be built natively or cross compiled through the XBPS source packages collection.
Visit the Void build server console for package build status updates.
Void Linux is an independent distribution, developed entirely by volunteers.
Unlike trillions of other existing distros, Void is not a modification of an existing distribution. Void's package manager and build system have been written from scratch.
Void focuses on stability, rather than on being bleeding-edge. Install once, update routinely and safely.
Thanks to our continuous build system, new software is built into binary packages as soon as the changes are pushed to the void-packages repository.
Void Linux supports both the musl and GNU libc implementations, patching incompatible software when necessary and working with upstream developers to improve the correctness and portability of their projects.
xbps is the native system package manager, written from scratch with a 2-clause BSD license.
XBPS allows you to quickly install/update/remove software in your system and features detection of incompatible shared libraries and dependencies while updating or removing packages (among others). Refer to the Handbook for an overview.
xbps-src is the xbps package builder, written from scratch with a 2-clause BSD license.
This builds the software in containers through the use of Linux namespaces, providing isolation of processes and bind mounts (among others). No root required!
Additionally, xbps-src can build natively or cross compile for the target machine, and supports multiple C libraries (glibc and musl currently).
Today, we were informed that our long time contributor and maintainer Jürgen Buchmüller (pullmoll) has passed away.
With boundless dedication, Jürgen was one of the most prolific contributors to the Void project and sponsored the project financially, too.
He invested lots of his time in keeping GCC up to date and well tested, supplied tons of patches to port packages to new compilers and platforms and also took care of (co-)maintaining many packages, including several non-trivial ones, like OpenJDK and LibreOffice.
He was not only a dedicated and driven developer in the Void Linux project, he also was one of the friendliest and warmest people we had the pleasure to work with. Jürgen will be missed as a steady force and a calm and wise voice in discussions. Most of all, he will be remembered as a friend to all of us.
Our thoughts and condolences go out to Jürgen’s family, friends, and loved ones.
Thank you, pullmoll.
– The Void Linux maintainers
The previously announced OpenSSL switch is now underway. Because OpenSSL is a dependency of a large number of packages, the full rebuild process is expected to take several days. Syncing between the builders and public repositories has been suspended to ensure that the package tree remains consistent. Consequently, no new package updates will appear until the switch is complete.
Once updates appear, we recommend that you perform a complete system update to simplify the transition. Partial updates are possible, but you will need to manually trace all OpenSSL dependants installed on your system and update them atomically.
Since 2016, the default bootloader configuration in Void Linux has set
the Linux kernel command-line options
provide some level of kernel hardening. Kernel series 5.3 and later offer
init_on_free (see this kernel
Void’s kernels come with the
init_on_alloc option enabled by default where
linux5.11>=5.11.3). In most cases, you should not disable this option, as it
has a fairly minimal impact on performance (within 1%). The
option is more expensive (around 5% on average) and needs to be enabled by hand
init_on_free=1 on the kernel command line. Similarly,
init_on_alloc can be disabled if needed by passing
As a consequence of these changes, Void’s default kernel command-line now omits
page_poison options. There is a chance that your
existing system still has the old options enabled. They still work in newer
kernels, but have a performance impact more in line with
older hardware this can be quite noticeable. If you are running a kernel series
older than 5.4, you can keep them (or add them) for extra security at the cost
of performance; otherwise, you should remove them.