Returning to the VoidVoid is an independently developed, rolling release Linux distribution. The Void distribution runs on 32-bit and 64-bit x86 processors as well as several ARM boards including the Raspberry Pi, BeagleBone and Cubieboard2. The Void distribution is available in Cinnamon, Enlightenment, LXDE, LXQt, MATE and Xfce editions with some additional desktop environments offered through the project's software repositories. There is also a plain edition which I believe sets up a minimal command line environment.
There are a number of features which set Void apart from most other Linux distributions. Void uses the XBPS package manager for working with source and binary packages. Void was an early adopter of OpenBSD's LibreSSL library which acts as a drop-in replacement for the OpenSSL security library. Further, Void has an init implementation called runit which is unusually small and simple. Another interesting feature of Void is the distribution can use one of two C libraries. Most Linux distributions use the glibc library. Void does provide glibc and also offers installation media with the lightweight musl library.
I decided to download the Void project's MATE edition which is 637MB in size. Booting from the supplied media brings up a screen where we can choose between starting the distribution's live environment or loading Void into RAM and then launching the desktop environment. The latter option uses more memory, but makes the distribution run faster and frees up the drive or port where our installation media is located.
The live disc boots to the MATE 1.16 desktop environment. At the top of the screen we find a panel containing the MATE menus (Applications, Places and System) along with a system tray. At the bottom of the screen we find a second panel which acts as a task switcher. The desktop's background is a blue-to-green gradient. There are a few icons on the desktop for launching the file manager.
Void 20170220 -- Running Firefox on the MATE desktop (full image size: 96kB, resolution: 1280x1024 pixels)
I did not find any icon or menu entry for launching the Void system installer. We can begin the installation process by opening a terminal window and running the void-installer command as the root user. For people who have not set up a Void system before, I recommend reading the project's wiki page on performing an installation. The documentation points out that Void's system installer does not offer automated or guided partitioning so we may wish to partition our hard drive prior to launching the installer using one of the provided disk management utilities such as cfdisk.
Void's system installer presents us with a text menu run in a terminal window. The menu lists configuration steps the installer must take and we can explore these steps in the order of our choosing. The Void installer reminds me of the system installers used by Slackware and older versions of FreeBSD. Void's installer walks us through selecting our keyboard's layout, enabling & configuring a network connection and selecting a language locale. We are also asked to pick our time zone from a list and create a password for the system's root account. We can then create a user account for ourselves, and choose a location where the boot loader should be installed. The installer asks us to select mount points for available partitions. I found the user must write out the name of each mount point, such as "/", "/home" or "/var" as the installer does not recommend default mount points. Void supports formatting new partitions with a variety of file systems, including Btrfs, f2fs, XFS and ext2/3/4. I decided to use ext4 during my trial. With these steps completed, the installer starts copying the distribution's files to the hard drive, showing the per cent of work completed and the number of files that have been copied.
While Void's installer was working, I left the computer alone and, when I returned, I found the screen saver had activated, locking me out of the live desktop. A password is required to access the desktop environment again. The password for Void's live user is "voidlinux".
When the locally installed copy of Void boots the distribution presents us with a graphical login screen. Signing into the account created during the installation process brings us back to the MATE desktop. The default environment is fairly bare bones. There are a few popular applications available through the MATE Applications menu and there is a settings panel, but otherwise the graphical environment is minimal. There were no pop-up notifications or indicators letting me know if software updates were available.
I explored running Void in a VirtualBox virtual machine and on my desktop computer. At first, Void did not integrate with the VirtualBox environment. Even once I had installed the VirtualBox guest modules from Void's repository, full screen resolution still did not work in the virtual environment. I tried following the instructions for VirtualBox guests without any improvement. I eventually discovered that my Void guest was missing the xrandr package. Once I had installed this package I was able to reboot to get the guest operating system to use my computer's full display resolution.
On the physical desktop computer Void worked very well, detecting all of my hardware and running smoothly. In both environments I found audio was muted by default and the audio level is adjustable from the volume control in the system tray.
Void 20170220 -- Experimenting with the Lumina desktop (full image size: 1.7MB, resolution: 1280x1024 pixels)
What impressed me about running Void was that the distribution uses a minimal amount of resources. The installation ISO for Void's MATE edition is still small enough to fit on a CD. The distribution, when signed into MATE, uses about 230MB of RAM and a fresh installation of Void uses just 2GB of disk space. Void is not in the running for the world's smallest Linux distribution, but it is notably smaller and lighter by default than most of the mainstream distributions. Part of what makes Void smaller is the low number of pre-installed applications, but Void also trims the fat in other areas, particularly the init implementation. Void's runit init software is very small and boots the system quickly.
Void ships with a small number of applications. Looking through the uncluttered Applications menu we find the Firefox ESR web browser (without Flash support), an image viewer and an archive manager. The distribution includes a text editor, a PDF document viewer and a dictionary. There are no multimedia applications included by default, but I found media players and codecs in the distribution's repositories. I found that I had to do some hunting to find all the codecs I wanted, there are a lot of media codec packages and I eventually just installed all of the various GStreamer (gst) packages.
Void 20170220 -- Running LibreOffice on the MATE desktop (full image size: 171kB, resolution: 1280x1024 pixels)
Void's MATE edition ships with the Caja file manager, Network Manager for getting us on-line and the GNU Compiler Collection. The Void installation medium ships with version 4.9.11 of the Linux kernel, but during my trial Linux 4.10 was available as an update. I also found most popular applications such as LibreOffice, VLC and the GNU Image Manipulation Program were available in the software repositories.
Void uses a package manager called the X Binary Package System (XBPS). There are a few separate utilities which make up the XBPS family and which one we use will depend on the function we are performing. I mostly used xbps-query to find packages I wanted to install and the xbps-install utility to actually download new packages and updates. During my week with Void a total of 209 software updates were made available, reaching 445MB in size. This high load of updates is probably unusual, it just so happened that the installation media I was using was three months old and there were several updates available when I began my trial.
Void 20170220 -- Using XBPS to install software updates (full image size: 79kB, resolution: 1280x1024 pixels)
I found the XBPS utilities worked very quickly. The output from the XBPS commands is terse, but I found the provided information to be clear. I was also pleased to find that Void provides an on-line web interface for finding packages in the project's repositories as this may be more appealing for new users than typing command line queries.
One issue I had when installing software using XBPS was not a bug, but rather an inconvenience. I found, on a few occasions, that packages I installed would not automatically draw in run-time dependencies - items that, when using other package managers, might be called "suggested packages". For example, installing VirtualBox guest modules did not pull in xrandr and installing Rhythmbox did not cause any media codecs to be installed. Given Void's lightweight nature, not installing associated packages might be considered a positive feature by Void's community, but I would have preferred having these related components installed automatically.
Apart from XBPS, the Void distribution has recently introduced support for portable Flatpak packages. I couldn't find any information on working with Flatpak in the Void wiki, but there is a blog post which talks a little about Flatpak. To work with Flatpak applications we first need to install the flatpak package using XBPS. Then we can install Flatpak bundles from various places, including Flatpak.org.
I found Flatpak applications would install, but they are not added to the MATE application menu and there are no launch icons added to the desktop. To launch a Flatpak program we need to either run a long terminal command such as "flatpak run org.gnome.gedit" or we can set up a short-cut to run this command for us. I found Flatpak applications would work, though the process of installing the Flatpak framework, installing packages and then launching them from the command line is still a bit cumbersome. For most programs it probably makes sense to stick with using Void's XBPS whenever possible.
Settings and other notes
Void's MATE edition ships with a control centre where we can access modules for adjusting the state of the desktop environment. I like MATE's settings panel as I find it easy to navigate and the controls are presented in a simple, user friendly manner. I also like that MATE makes it easy to move the window controls to the left or right side of application windows as it is a feature I'm finding increasingly useful.
While exploring Void I noticed a few characteristics I found interesting. For instance, the distribution sets up a root account for us and also sets up sudo. This means we can use su to gain administrator access, and select user accounts can also use sudo to perform admin tasks. I found I preferred using sudo as, by default, the root account uses the minimal dash shell while other accounts default to using bash. The root account could be changed to use more feature rich shells, but I try to avoid changing root's shell as, on some systems, this can cause problems.
I think Void is one of the more interesting operating systems I have used this year. While the distribution does not have many eye-catching features on display, there are a number of unusual things going on in the background. Void uses the runit init software rather than the more popular systemd or SysV init implementations. The XBPS package utilities are, I believe, unique to Void and work quite well. Void is also taking an uncommon approach by offering editions with two different core system libraries (glibc and musl).
Void is quite minimal compared to mainstream Linux distributions, but it is not as bare bones out of the box as Tiny Core or Arch. Put another way, Void starts us off with a relatively small platform, but the tedious work of configuring package management and installing a desktop environment are handled for us. I find this middle-weight style very pleasant as the essentials of a desktop system are in place, but little more.
The distribution uses a rolling release model which means the packages available in Void's repositories are up to date. Plus, with Void's new Flatpak support, we have access to a wide range of portable Linux packages from upstream developers.
Void probably will not suit new Linux users. The distribution's text-based system installer and command line only package management suggest the distribution is targeting a more experienced section of the Linux community. Personally, I also found hunting down some packages a bit more work on Void than on mainstream distributions, but this is balanced against Void's relatively light nature.
I think more experienced users, especially those interested in rolling release operating systems, will enjoy Void. However, people who want friendly, graphical configuration tools and package management will not find those on this distribution.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: