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).
Note: This only applies to users of Void’s glibc version on 32-bit
machines. If the command
xbps-uhelper arch prints something other than
armv6l-musl, you don’t need to do
Void Linux currently packages glibc version 2.30, but is going to update to 2.32 soon, together with the long awaited GCC 10. Since this new version makes use of new system calls, due to the ongoing time64 (support for times after 2038 on 32-bit platforms) work on glibc, applications with restrictive seccomp filters that haven’t been rebuilt for the new glibc version will stop working. Packages with such issues include:
qt5-webengine(and consequently dependants, such as
electron*(and consequently dependants, such as
We will be pushing updates to these packages before the glibc update, if
possible, but it won’t be possible for all of them. This includes
which means you can be locked out of your system if that’s what you use to
access it and you perform a partial upgrade that only includes the
Therefore, even though Void enables partial upgrades, you should perform a full
system upgrade when
glibc appears in the
xbps-install -Su list. Be sure to
test these packages - for
openssh this includes actually opening a session,
sshd itself runs without issue. If for some reason something in your
system stops working, you can of course reinstall the old
glibc package using
xdowngrade(1) from the
# xdowngrade /var/cache/xbps/glibc-2.30_2.x86_64.xbps /var/cache/xbps/glibc-locales-2.30_2.x86_64.xbps
Void Linux currently packages PAM version 1.3.0 and, until today, a standard
PAM configuration that requires the
authentication modules. The
pam_tally module was
deprecated in 1.4.0 and removed in 1.5.0,
pam_lastlog module is no longer built for musl systems. The Void team
plans to upgrade to PAM 1.5.1
by the end of the year.
For the upgraded PAM to function properly, any
pam_tally (and, for musl
pam_lastlog) requirements must be removed from the configuration files
/etc/pam.d. An updated
released today removes the
pam_lastlog requirements from the
standard configuration. If you have not modified the standard PAM
configuration and have not enabled the XBPS
keepconf option described in
xbps.d(5), upgrading the
package should be sufficient to adjust your configuration.
Whether or not you have modified the PAM configuration, please make sure to
pam-base and confirm that no configuration files in
contain references to the
pam_tally module (and
pam_lastlog on musl)
before upgrading to PAM 1.5.1 when it becomes available.