Void Linux: Built From Scratch for Full Independence

Void Linux is a bit out of the ordinary. It offers an unusually interesting alternative to many of the traditional Linux distros affiliated with a larger Linux family, such as Debian or Ubuntu, or Arch.

Void Linux is an independently developed, rolling-release, general-purpose operating system. That means that its software is either homegrown or plain-vanilla compiled.

Some of Void Linux’s under-the-hood specifics include its own package management system, dubbed “XBPS,” for X-binary Package System, an initialization system called “runit,” and integration of LibreSSL instead of OpenSSL for Transport Layer Security (TLS) protocol.

In fact, Void Linux was among the first distributions to switch to LibreSSL by default, replacing OpenSSL when developers forked from OpenSSL in 2014. Their goal was to modernize the code base, improve security, and apply best practice development processes.

The latest release, version 20181111, comes with an interesting selection of desktop environments: Base system, Enlightenment, Cinnamon, MATE, Xfce, LXDE, and LXQt.

Void Linux Cinnamon desktop

The Cinnamon desktop is one of the most complete options with Void Linux.

However, Void Linux is not a computing platform for everyone. It is not a typical distro. It works out-of-the-box with barebones basic system tools and a few software packages, such as a Web browser, file manager, and text editor.

Anything else you must add from a limited Void Linux repository. More software is available from binary packages that you must compile before use.

Void Linux Enlightment desktop

The Enlightenment desktop on Void Linux offers features not found on other desktops.

Under Void’s Hood

Void Linux supports the Intel x86 and x86_64, ARM, and MIPS processor architectures. This distro offers surprising flexibility. For instance, it runs in the cloud. The developer provides ready-to-upload images for the Google Cloud Platform that are compatible with the always free tier.

You can easily build images for other cloud providers from ready-to-run x64 tarballs. The rootfs tarballs can run anywhere you want a Void Linux chroot.

They are available for all architectures the developer currently supports. All packages are built with xbps-src, and the source templates are hosted on Github.

The i686 images have these requirements: Pentium 4 CPU (SSE2), 96 MB RAM, 350 MB disk, and Ethernet/WiFi for network installation. These images need at least 256 or 512 MB of RAM in order to work correctly.

Unique Package Managing

The package manager and xbps-src take getting used to, but once you get beyond the technical jargon, the template files are actually pretty user-friendly. xbps-src is the xbps package builder, written from scratch with a BSD license.

Unlike some other open-source licenses, it does not require the developer to distribute the source code. So you get a unique homegrown package manager that is different from industry standards. It builds the software in containers through the use of Linux namespaces.

This method provides isolation of processes and bind mounts without requiring root permissions. Additionally, xbps-src can build natively or cross-compile for the target machine and supports multiple C libraries (glibc and musl currently).

Roll Over Progress

One of the unique features of Void Linux is its approach to rolling releases. This distro uses its own hybrid binary/source package management system that lets you install, update and remove the software.

It also lets you build software directly from sources using the XBPS source packages collection. However, this aspect of the homegrown system maintenance is a potential stumbling block for new users with little hands-on Linux experience.

Compiling from source code is done in a terminal window. Once you learn the commands and understand that every space and mark you enter must be absolutely accurate, the process will work fine. However, having somebody who knows the process available — like a Youtube video demonstrator — will ease the fear and the frustration.

The rolling release method is another special feature not available in many other Linux distros. Once you install Void Linux, you are done with reinstalling it every few months when new versions are released.

That means daily updates to keep the system up-to-date. The continuous build concept provides new software built into binary packages as soon as the changes are pushed to the Void Linux packages repository.

Stepping Into the Void

Visit the Void Linux website and go to the Download page. Read the brief instructions on installing the distro to get a basic understanding of the process. If you need more handholding, visit the detailed manual Wiki.

Void Linux installation

The Void Linux installation is handled by a simple text-based installer that you load with terminal commands.

This distro has individual live session ISOs for each supported hardware and desktop choice. You can not get the ISO files from the Download page. Instead, go here.

The live sessions ran well on my hardware collection without any glitches. I ran several of the available desktop environments, each on a different machine. You must use a creation tool to burn the ISO files to a DVD or USB drive. Then reboot the computer to load the live session.

Void Linux MATE desktop

The MATE desktop is one of the traditional environments available with Void Linux.

Whether you try out Void Linux by rebooting your computer into a live session or running it within a virtual machine, you must log in using the default user name, “root,” and password: voidlinux.

ISOs do not always play well with virtual machines. They can balk at loading until the suitable parameters are selected in setting up the virtual environment.

I had none of those troubles. They all worked fine with the recommended (default) Virtualbox settings.

Caution: Beware the Catch

The live session ISOs — run either in a virtual machine or loaded from a Live session DVD — made it easy to load the various desktop choices and effortlessly check out the look and feel of each offering in a sandboxed environment without changing anything on the computers.

The convenience ended there. Void Linux’s live ISOs do not have an installation launcher icon on the desktop. Nor do they have a menu option to launch an installation routine.

This is where users with little technical familiarity slam into a stone wall. Void Linux uses a simple, straightforward text-based installer, but you must run it from a terminal window.

Voiding the Installation

The live session ISO for your chosen desktop must be running on the computer you want to install Void Linux. Go to the main menu icon and scroll through the Accessories category.

Find Terminal and click on it to open a command line window. To start the installer, enter this command at the pound sign prompt: # sudo void-installer {Hit the ENTER key.}The prompt will ask you for your password, which is still voidlinux. Remember to hit the enter key again.

The most critical step is when the installer gets to the manual process of setting up the hard drive partition. The installer uses CFdisk for this task.

The procedure is much like what other Linux installations require. You must enter the exact specifications to create a partition on the hard drive and install the boot manager.

Ample Internet videos can talk you through this process. When you get to the last step, the installer will have you press the ENTER key to complete the installation process.

Working With Packages

I am not pleased with the manual package installation that Void Linux uses. It is a throwback to the Command Line Interface or CLI system. This process stands in the way of less experienced Linux users.

I am sure that users with a love of Arch-based systems or a strong background in Unix and Linux IT skills will feel right at home with installing and removing commands strictly via command line typing. On occasion, CLI is part and parcel with any operating system.

The process is simple enough, however. Start by opening the terminal window.

To find the exact name of packages from which to select a new installation, type this command:xbps-query -Rs package_nameTo install that package, type this command:xbps-install -S package_nameTo Remove anh installed package, type this command:xbps-remove package_nameTo fully synchronize and update the system, type this command:xbps-install -SuSee the Wiki pages mentioned above for a complete listing of all xbps commands.

Keep in mind that everything you install will be plain vanilla packages with standard themes. The developers added no special integration or customization for a unified Void Linux view.

Using It

The desktop experience is very similar to the system software. You get the standard, unaltered version of the desktop interface. That is not necessarily a bad thing. It gives you an uncomplicated look on the computer screen.

I am familiar with all of the desktop flavors that Void Linux offers. Having used each one in other Linux distros, I have experienced the tweaking that some developers build into the desktop to create a consistent of appearance. Some of the tweakings adds nice enhancements that you do not get in other distros running the same desktop flavor.

As I continued to explore Void Linux, I expected to find system settings and desktop preferences to be based on CLI episodes, similar to using the package manager. Happily, that is not the case.

Of course, the extent of GUI options varies with the particular desktop option you install. For instance, each desktop interface provides settings panels and customization options that are consistent with what you find in other Linux distro iterations.

That brings an element of user-friendliness to Void Linux that I did not expect to find. So you get a mixed bag of likes and dislikes with this distro. Newcomers to Linux in general and new adopters of Void Linux who lack comfort with CLI configurations will have a steeper learning curve.

Once you have Void Linux installed and running, however, the desktop environment offers a comfortable daily user experience.

Bottom Line

Void Linux was developed by a relatively small group of volunteers who built the system and its package manager from scratch.

Command line issues aside, this distro comes with a nice range of desktop options. Unless you are an advanced user, I suggest not bothering with the base install ISO. All of the desktop options have a minimalist collection of default software.

The Base edition is little more than an OS with nothing else visible in menus except what is needed to get you started with accessing the Web and installing everything else from scratch.

The result with all desktop flavors in Void Linux is a stable computing platform that is always up-to-date and contains only what you want in it.

Void Linux could be the ultimate bloat-free Linux operating system.

Suggest a Review

Is there a Linux software application or distro you’d like to suggest for review? Something you love or would like to get to know?

Email your ideas to me and I’ll consider them for a future column.

And use the Reader Comments feature below to provide your input!

Jack M. Germain

Jack M. Germain has been an ECT News Network reporter since 2003. His main areas of focus are enterprise IT, Linux and open source technologies. He has written numerous reviews of Linux distros and other open source software.Email Jack.


  • I installed the Xfce version of Void. I really want a Kde version, but it’s not available. There a Kde wiki, but got errors when I attempted to install kde5. Meh… Don’t really like Void. It doesn’t seem any faster than Arch and Puppy Linux leaves it in the dust as far as speed goes. Don’t see what it brings to the table, so I’ll probably remove it from my system. I’d give it 3 stars. It’s not difficult to install from the live version. I already had a partition set up ahead of time so didn’t have to deal with that.

    • I take back some of what I said about Void. It was a challenge, but got Kde up and running on it. It seems speedy and stable. Chromium doesn’t work after I installed Nvidia drivers though. Runit is a bit crude, as you have to put a symbolic link to a service in a special folder to enable that service. Got OctoXBPS, a graphical package manager identical to Octopi on Arch, running as well.

Leave a Comment

Please sign in to post or reply to a comment. New users create a free account.

More by Jack M. Germain
More in Reviews

LinuxInsider Channels