Void 20210218Void is an independently developed, rolling release distribution. The project features the XBPS package manager which allows for a hybrid approach to using both binary and source packages. Void also includes the runit init software which is minimal, lightweight, and works very quickly to bring the system on-line. The distribution offers several editions, including a minimal Base flavour, and several desktop editions that ship with the Cinnamon, Enlightenment, GNOME, LXDE, LXQt, Xfce, and MATE user interfaces. The distribution further supplies editions with two separate C libraries. The project offers separate install media for the glibc and musl libraries. These, along with multiple hardware architecture support that includes x86_64, i686, and ARM, means there are a lot of download options. The smallest edition of Void is Base which is about 468MB and the largest is GNOME at 1,050MB. Since I last tried the Xfce on musl combination, I decided to switch over to glibc and explore Xfce running on a glibc base, which is a 788MB download.
Booting from the Void media brings up a graphical login screen. We can sign into a regular user account or the media's root account using the password "voidlinux". The login credentials for the live media are published on the distribution's Download page. Signing into an account brings up the Xfce desktop. A thin panel is placed across the top of the screen. An application menu sits in the upper-left corner while the system tray is in the upper-right. The middle of the panel functions as a task switcher. At the bottom of the screen we find a dock with quick-launch buttons on it. On the desktop we find icons for launching the Thunar file manager.
Looking through the application menu I did not find any launcher for the Void system installer. The project's website says we can run the command line program void-installer as root (or via sudo) to get started. The Void website also warns us not to use on-line package sources when setting up a desktop environment, though not the reason behind this advice: "To install the packages for the desktop environment, DON'T choose 'install from network' choose the 'local install' option."The installer uses text-based menus and resembles the Slackware and FreeBSD system installers. The Void installer allows us to perform configuration tasks in the order of our choosing. Going down through the list we are asked to choose our keyboard layout and enable networking, with the option of using DHCP. We are asked whether we wish to use local (live disc) or on-line sources for software packages. Following the project's advice, I opted to use the local packages. We are then walked through selecting our time zone from a list and making up a root password. We also have the option of creating a non-root user account.
The system installer gives us the option of setting up the GRUB boot loader and which disk should hold it. When it comes to setting up disk partitions Void's installer offers to launch either the fdisk or cfdisk console-based partition managers. We can then select which filesystem to set up on the root partition with options including Btrfs, ext2/3/4, F2FS, and Xfce. I decided to run Void on Btrfs which worked well.
With the configuration steps completed, Void's installer copies its packages to the hard drive while showing detailed progress information. When it is finished it offers to restart the computer or simply exit so we can continue using the live environment.
My fresh copy of Void booted to a graphical login screen with a soft blue background. Signing into the Xfce 4.16 desktop brought up the same interface I experienced on the live media. The desktop uses a mostly bright theme with thick window title bars by default. The appearance can be adjusted using a range of Xfce configuration modules.
When we start using Void there are no pop-ups, no welcome screens, no initial configuration wizards. The distribution immediately leaves us to use and customize the system the way we want.
One of the first things I noticed about Void was that applications like Firefox and Parole made no sound. This seems to go hand-in-hand with Void not shipping an audio control in the system tray the way most distributions do. There was also no obvious command line audio mixer such as alsamixer. I got around this limitation by installing the pnmixer package and setting it to run automatically at each login. This gave me a system tray volume control, though it still did not work. I had to open the mixer's configuration and provide it with the full path to the pamixer executable. This then allowed me to unmute the sound system and play audio through my speakers.
The muted audio and lack of system tray volume control seems like an odd omission to me. The PulseAudio and ALSA sound systems are installed for us already so it's not as though Void is saving disk space by not supporting audio playback out of the box. Making the user install and configuring the front-end mixer controls just seems like a lot of extra steps for something most distributions do automatically and I don't see a benefit to not including this functionality on the desktop edition of the operating system.
Void 20210218 -- Setting up an audio mixer (full image size: 207kB, resolution: 1280x1024 pixels)
When I started using Void it was in a VirtualBox environment. I found the distribution was quick to start and responsive. The Xfce worked quickly and well in the virtual machine. The desktop would not resize itself automatically to match the VirtualBox window, but I could adjust Xfce's resolution using its Display configuration module.
When I moved on to trying Void on my workstation the distribution ran into trouble at first as it was not able to boot in UEFI mode. However, when I switched to booting in Legacy BIOS mode the distribution ran smoothly. All my hardware was detected and the system was responsive.
Void is a relatively lightweight distribution. The operating system consumes 245MB when signed into the Xfce desktop, which is below average for memory consumption. A fresh install of the distribution requires just 2GB of disk space, which is about a third of the space most mainstream Linux distributions consume these days. Granted, Void doesn't ship with many applications so by the time I added all the programs I wanted, Void had doubled in size.
Looking through the sparse application menu, which is presented in a classic tree style, we find the Firefox web browser and Parole media player. The system ships with media codecs allowing us to play audio and video files out of the box. The Thunar file manager is present along with the Ristretto image viewer.
The Xfce 4.16 desktop ships with a handful of configuration modules and a settings panel which help us modify and customize the desktop environment. No modules for handling the lower level configuration of the operating system are included.
Void ships with manual pages for installed software and boots using the runit init software. I find runit to be light and fast. Enabling new services is straight forward and covered in the project's documentation. In the background Void runs version 5.10.17 of the Linux kernel. As Void is a rolling release we can expect packages to gradually get upgraded over time.
Package management on Void is handled by the command line XBPS utilities. Unlike some distributions where the package manager is one program that handles a range of functionality, XBPS is broken into separate tools. This means we search for software using one tool (xbps-query) while performing installations and upgrades using another (xbps-install) rather than having one tool, such as DNF or APT handle everything.
Void 20210218 -- Downloading system updates with XBPS (full image size: 238kB, resolution: 1280x1024 pixels)
The syntax XBPS uses is unusual. Instead of using easily recognizable terms such as "search", we end up running commands like "xbps-query -Rs package name". I find this can take a little while to get used to. However, despite the unusual syntax, XBPS operates quickly and I encountered no problems with it during my trial.
The first day I was running Void there were just 19 updates available, totalling 19MB in size. These new packages were all downloaded and applied to the system without any trouble. I had similar success adding the applications I wanted to use, such as alternative media players, productivity suite, and the Thunderbird e-mail client. In fact, despite its relatively small size, the Void team seems to have been able to supply a solid collection of popular software.
Though not installed by default, the Flatpak portable package framework is available in the repositories, providing access to additional desktop programs.
One curiosity I ran into with Void is that XBPS is not set up with any remote package repositories when running on the live media. This effectively disables the package manager when we are running the live desktop. Once Void is installed to a hard drive XBPS is automatically configured with the official repositories.
Earlier I mentioned installing Void on a Btrfs volume. This worked fairly well and I was hopeful the distribution might make use of the advanced filesystem in some way. However, this was not the case. Void does not appear to support boot environments. Btrfs was set up with a simple volume (and no sub-volumes) and, oddly enough, had file access times enabled, which distributions often turn off for better performance.
I tried installing Void's Timeshift package and it fails due to Timeshift only working with Btrfs snapshots when the filesystem is set up the same way Ubuntu creates Btrfs layouts. However, it is possible to manually create Btrfs snapshots using the filesystem's command line tools.
Also on the subject of filesystems, Void is one of the few distributions I can recall using recently that locks down the user's home directory, granting exclusive access to the user (permissions 700). I like this as I feel some distributions are too open with their home directories.
In the past I've installed Void a few times and it has often made a mixed impression due to one problem or another. In hindsight I suspect these past issues, often with application functionality or package management, might have been the result of trying musl editions of the distribution rather than the more mainstream glibc editions.
Even during this trial, which I feel went really well for the most part, things got off to a rocky start. Void is unusual in that it makes users sign into the live disc, it didn't boot in UEFI mode on my computer, and package management seems to be disabled on the live disc. When it comes to installing, Void's installer is functional and easy to navigate, but its text interface does look dated next to system installers such as Ubiquity and Calamares. Though I will give Void credit for having an installer that should work exactly the same whether run from a desktop or the command line.
Once Void was installed, the initial rough impression continued when I had to manually install and configure a system tray audio mixer in order to enable sound in applications such as Parole and Firefox.
After Void was installed and audio was working things really turned around. Void is unusually lightweight and fast. The Xfce desktop worked smoothly and I like that the distribution ships with a relatively small collection of applications, leaving the application menu mostly free of clutter. XBPS, despite its unusual syntax, works remarkably quickly and soon had all the extra applications I wanted installed.
Void is quick to start up and stays out of the way. I was not bogged down in configuration steps or first-run wizards. There were no flashy effects or distractions. Void is relatively minimal for a desktop distribution, but what is included works smoothly. I like the simplicity of the design, especially where runit and service management are concerned. Most distro-specific features, like runit and XBPS seem to be well documented.
What I particularly find interesting is Void feels unique. In a world with a lot of Debian and Arch Linux spins, sometimes it is nice to find a distribution that is doing something, or several things, different. Void runs most of the same software other distributions do, but a lot of the underpinnings (init, package management, core system libraries) are different. They work, they're lighter than average, and they mostly seem to be set up to make system administration simple.
Void is certainly not a beginner distribution, it feels like it is intended for more experienced users. Ones who want to squeeze more performance out of their machines, customize their experience, and will be comfortable on the command line. I certainly fall into this category and felt at home with Void once I got used to the alternative tools, like XBPS, being used. If you are familiar with the command line and crave both speed and a rolling release experience, Void feels like a great choice.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: