Rolling in the VoidVoid is an independently-developed, rolling-release Linux distribution with a number of interesting characteristics, such as its own package management system (called XBPS), a custom init system (runit), integration of LibreSSL instead of OpenSSL in the base operating system, and support for several popular ARM-based devices as well as x86 images. The operating system is available in several editions, including Cinnamon, Enlightenment, LXDE, LXQt, MATE and Xfce. New Void users will also be able to choose whether to run the distribution with the GNU C Library or musl libc library. I opted to download the Xfce edition running on the GNU C Library for 64-bit machines; the ISO was 693MB in size.
Booting from the Void media brought up the Xfce 4.12 desktop environment. The desktop is presented with a panel at the top of the screen which holds the application menu and system tray. At the bottom of the display is a dock where we can quick-launch applications. The desktop has a few icons for launching the Thunar file manager. If Void detects any disk partitions these will also be listed on the desktop for easy access. The theme is mostly grey and relatively plain.
I did not find a launcher for the project's system installer, either on the desktop or in the application menu. The distribution's download page says we can run the void-installer program from a command line to get started.
Installing
Void's installer is run in a virtual terminal window and uses a series of text-based menus. The main menu of the installer acts like a hub, letting us perform configuration steps in the order of our choosing and we can easily jump back to redo a previous step. The steps are fairly typical and involve selecting our keyboard layout and preferred language from long, somewhat cryptic lists. We are also asked to select our time zone from a list and we are given the chance to enable networking (and optionally automatic DHCP network configuration). We are asked to make up a password for the system's root account and create a username/password combination for our main user.
When it comes to partitioning, Void's installer asks us to select which disk we want to use and then launches the cfdisk partitioning tool. It is not the most friendly interface for setting up partitions, but it works. We are then asked which file system should be used, with options including the Btrfs, ext2/3/4, XFS and f2fs file systems. I decided to go with Btrfs for my trial. The installer then copies its files, a task which took under ten minutes, and offers to reboot the computer.
Early impressions
My new copy of Void booted to a graphical login screen where I could sign back into the Xfce desktop. Everything on the desktop was the same as when running the live disc, so there were no immediate surprises. There were no welcome screens, notifications or prompts to install updates either. Void is a distribution which tries to stay out of the user's way, and assumes we know what we are doing.
For experienced users, this focus on efficiency and no-frills computing is probably welcome. However, newcomers may be intimidated at first. Void does a number of things differently from other mainstream distributions (it has its own package manager, a different init system, and some editions run an infrequently used C library) and I recommend reading the project's documentation. The Void wiki has a series of articles (linked on the front page) which will get newcomers started.
Void 20181111 -- The settings panel and application menu (full image size: 325kB, resolution: 1280x1024 pixels)
Hardware
I began experimenting with Void in a VirtualBox virtual machine. The first challenge I ran into was the distribution could not make full use of my display's resolution. I found trying to open the Display configuration module to fix this caused the module to immediate crash with a segmentation fault. I searched for VirtualBox guest packages in Void's repositories and installed them (more on working with the XBPS package manager later). Once the guest modules were installed Void was able to match my display's resolution automatically.
Then I tried void on a desktop computer. Immediately I found Void could not boot in UEFI mode, but I was able to start the distribution in my computer's legacy BIOS mode. Once up and running networking functioned, the desktop was responsive and the Display configuration module worked. However, none of my applications were able to play audio. Sound support, such as PulseAudio, was installed, but not working for some reason. I ended up installing the PulseAudio mixer (there is no sound mixer installed by default) and the ALSA mixer. At first neither tool worked to restore volume. However, once I had rebooted, the PulseAudio mixer I had installed was able to enable sound for my applications.
Void 20181111 -- Trying an alternative dark theme (full image size: 345kB, resolution: 1280x1024 pixels)
Void is a relatively lightweight distribution. The Xfce edition uses just 1.8GB of disk space and consumed 210MB of RAM when signed into the desktop. The distribution was always responsive, booted quickly and was fast when launching programs and performing tasks.
Applications
The distribution ships with a small collection of open source applications. The Firefox ESR web browser is included along with the Orage calendar and Parole media player. Parole has access to media codecs, allowing us to play audio and video formats out of the box. Audio did not work right away, as I mentioned above, but once that was fixed the multimedia experience was solid. Void includes an image viewer, a tool to bulk rename files and the Thunar file manager. The Mousepad text editor is included along with a process monitor.
Void 20181111 -- Running the Parole media player (full image size: 565kB, resolution: 1280x1024 pixels)
There is an entry in the application menu for a mail reader but it does not work as no e-mail client is installed. Void uses the runit init software which is relatively light and worked to quickly bring up and shutdown the system. When I started experimenting with Void the distribution ran on version 4.18 of the Linux kernel, with newer versions becoming available over time.
Software management
The Void distribution uses a package manager called the X Binary Package System (XBPS). XBPS is a collection of utilities rather than one unified tool. I found XBPS's syntax to be short and cryptic and it took me a while to get accustomed to running different tools to complete actions. As an example, on Fedora I might run "dnf search clang" to find the item I want and "dnf install clang" to install the package. With XBPS I would run one tool to find a package, "xbps-query -Rs clang", and then another, such as "xbps-install -S clang", to install it. If I were to run Void for a long time, I would probably create command aliases to help me find, install and remove programs.
I found XBPS does not automatically refresh its repository information and, since Void is a rolling release, our package information can be come outdated quickly. Users should remember to update package information prior to searching for items or installing new software.
Void 20181111 -- Using XBPS to install the Falkon web browser (full image size: 249kB, resolution: 1280x1024 pixels)
When I first started using Void, about a week after the most recent ISO refresh, there were 44 updates totalling 161MB in size waiting for me. I suspect new packages versions will become available quickly and steadily based on my experience so far. Despite the steady flow of new packages, I did not encounter any errors with XBPS. It took me a while to get used to the utility and its approach, but there were no problems with the XBPS software. As far as I can tell, Void does not offer a graphical package manager.
The XBPS package manager has a source-based companion which allows users to build and customize their own packages from source code. I discussed how to use XBPS to work with source packages last year.
Other observations
For the most part, Void stayed out of my way, providing a light and responsive environment in which I could work and play. One of the nicest things I can say about any distribution is that it is pleasantly boring. When I don't have much to write about, that means the operating system is behaving the way I want it to, or not doing anything distracting or weird. For the most part, Void provided this kind of experience, largely due to its minimalism.
There were occasional issues though, usually when I was trying to add new features or adjust settings away from their defaults. For example, I ran into a problem when I tried to set up the Xfce panel on the left side of the screen instead of the top, and removed the quick-launch bar. Removing the bottom bar was easy, and the panel moved to the left, but the text on the panel was always rotated ninety degrees. On other distributions this has not been a problem, for example when I ran MX Linux earlier this year the panel automatically rotated its text to be the right way up. On Void this did not happen and removing and re-adding the items did not fix the problem.
Void 20181111 -- Moving the panel to the left side of the display (full image size: 407kB, resolution: 1280x1024 pixels)
Earlier I mentioned Void uses very little disk space compared to most mainstream distributions. This is because few desktop applications are installed. Once I had most of my typical work tools installed, disk usage grew from under 2GB to over 5GB of space. One item I was surprised to find missing was the cron software. Almost every Linux, UNIX and BSD flavour I have used over the years runs cron to perform periodic tasks, but Void does not. There are several cron implementations in the repositories if we want to install one.
There doesn't appear to be any support on Void for using Btrfs snapshots as boot environments, as I enjoyed recently with openSUSE Tumbleweed and with ZFS snapshots on GhostBSD. I had hoped, with Btrfs enabled, that boot environments might be set up, but this was not the case. The Timeshift utility is available in the distribution's repositories and I had hoped it would work for people who want to take snapshots of their operating system. However, Timeshift does not pull in all of its dependencies so some manual work is required to add the required packages. Then, once Timeshift was installed, I found out Void did not set up Btrfs in a way which is compatible with Timeshift, rendering the snapshot utility unable to function.
Void's software repositories are a little smaller than those of mainstream Linux distributions. There is also less support from third-party software companies. For example, you will not find a XBPS package of Google's Chrome or Steam. And these items are not in the distribution's repositories. One of the few reasons I use any non-free software these days is to watch Netflix and I found Void's Firefox package was able to automatically download an add-on to work with the streaming service. This is the first time I have ever had a Firefox package work with Netflix on Linux without additional tinkering required on my part.
Conclusions
When I started using Void the distribution looked promising. The project clearly is not targeting beginners and people who want to be able to point-n-click their way through things. Void is designed for people who don't mind text-based installers, managing packages from the command line, and manually configuring things, like scheduled jobs. This may be more work up front, but it provides a very slick, high performance, rolling release operating system. Early on, I felt Void was a good match for me, as I like its lightweight nature and I don't mind trading a little convenience for efficiency.
Another thing I like about Void is it is taking a different approach. This is not yet another spin of Ubuntu, or another desktop distribution based on Debian. Void is very much its own creation, with its own package manager, its own ports tree, its own init software, and some different low-level libraries. Void is different enough to be interesting while still able to run most of the same software other GNU/Linux distributions use.
However, by the end of the week I was beginning to realize Void was not going to be a practical distribution for me, personally, to run on an ongoing basis. There were too many little things I had to manage or work around. The lack of working sound early on is a prime example. It's not hard to fix, I just needed to install a mixer tool and reboot, but this pattern of fixing this which simply work on mainstream distributions continued throughout the week. As the days went by I had to install and set up cron to perform house-keeping tasks, work with Firefox with add-ons because Chrome wasn't available, deal with a missing icon for the file search feature, tinker with the panel to try to get text oriented in the right direction, manually track down dependencies for Timeshift, and so on.
I came away from my trial with Void thinking it is a highly interesting distribution and I like its design and style. But it is not a distribution I can "just use" day after day and be productive. It is a distribution more akin to Arch Linux where the user needs to craft their own system, set up the background services and work to maintain it. Which is great for many people, lots of Linux users want to tinker and enjoy the latest available software. And I recommend such people try Void. But if you crave a distribution where everything works out of the box and keeps working without maintenance, then Void is going to be a rough experience.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: