While Gentoo is a great way to spin your own flavour of Linux, after a year I’ve found that recompiling packages every time you do an update becomes a bit of a drag. With that in mind I decided to look around for an alternative distribution, and while nothing is 100% perfect I have to say I really am very happy with Void Linux. There are a number of “live” iso images which will happily boot from a USB stick, I only looked at two of the images Cinnamon and Xfce, while Cinnamon was all very pretty and all that, I couldn’t get the audio volume widget to show itself and besides I didn’t see any real advantage. I’ve long been a fan of Xfce basically because of what it doesn’t try to do, you don’t get the kitchen sink (thankfully) but what you do get works solidly.

Now its entirely possible that I missed something obvious with the void_installer script but it has two distinct behaviours depending on what installation source you choose. If you choose to install from the internet what you get is a bare minimum of packages (command line only) and you’ll be left with a fair bit of configuration to do for yourself – this isn’t always a bad thing if for example you have some specific use maybe an embedded kiosk for example. For more usual desktop use, its better to choose the installation media itself as the source, this basically copies and configures the “live” image onto your machine. I did find that after an update I had to manually delete the old kernel, but once I did that and a few more of the usual chores one normally expects when installing a new system – (eventually after correctly using the installer!) I found myself in possession of a really nice system.

Void is a sleek system, obviously well engineered and the best thing has to be the package manager – xbps comprises in a small suite of interrelated console applications, which do just one narrow function each, for example given the choice of xbps-install, xbps-query, xbps-remove etc you can make a good guess at what they do. As you’d expect each xbps app if run without parameters gives you a quick run down of commands and parameters. One thing I did notice with xbps is its fast, and no mistake! There is a graphical package manager too (octoxbps) which is both familiar but refreshingly slightly different (and not just for the sake of it either) I didn’t manage to find an update reminder but the xbps tools are easy to work with and I was able to make a simple script to do a dry run update (so nothing’s changed) from this I can infer the number of updates that need to be done.

#!/bin/bash n=`xbps-install -Snu | wc -l` if [ $n -gt 0 ] then if [ $n -eq 1 ] then m="there is a system update to do" else m="there are $n system updates to do" fi zenity --info --text="$m" fi

I auto run this when the desktop environment starts, keeping package information synced and warning me of updates – this will be most useful when installed on machines that I maintain for others who let us say just need a gentle reminder about updates…

Of course everything was going far too well (spoiling my fun! just working like that) the only one big issue I had was with steam, but the Void forum soon came to my aid with a work around, a particular version of the Xorg driver for Intel gpu’s was causing some kind of networking issue (of all things) I won’t bore you with the details but suffice to say its working with a “little” persuasion!

I did notice pulse audio is installed by default, which seemed a little odd as I’m not sure it provides a great deal for the extra overhead, uninstalling pulse audio doesn’t break anything and getting Alsa going is just a case of enabling the daemon in the alsa-utils package and adding the usual Alsa configuration (~/.asoundrc)

pcm.!default { type plug slave { pcm "hw:1,0" } } ctl.!default { type hw card 1 }

I’ve since found a better way to configure ALSA – a quote from their website

Neither .asoundrc or /etc/asound.conf is normally required. You should be able to play and record sound without either (assuming your mic and speakers are hooked up properly). If your system won’t work without one, and you are running the most current version of ALSA, you probably should file a bug report.

That said it did assume the HDMI output was the default so an even simpler config for the kernel module itself allowed me to disable HDMI sound which I have no use for…

/etc/modprobe.d/alsa-base.conf options snd_hda_intel enable=1 index=0 options snd_hda_intel enable=0 index=1

Your system might differ but its not really a problem, its just nice there are no enforced and/or needless package dependencies like there are with some other distributions.

Further testing centred on Java development, I knew if I was going to hit any major show stoppers that Jgles2 (with its multiple build systems) would likely show up issues. Not unusually for Void, Ant’s package was bang up to date (wish I could say the same of Gentoo – as at the time of writing Ant is languishing at version 1.9.2 which isn’t enough to compile Lwjgl….) installing g++, make and pkg-config had the complete build system for Jgles2 working as I’d expect.

While its still early days, and its not impossible I could find some wrinkles – all in all so far Void seems a positive experience and well worth considering.

Introducing Chris C, our occasional guest writer.

This article, re-published here with permission, was originally published at his personal website here.