Yapping about Void Linux first
Sometime ago, i watched videos about Void Linux from both DistroTube and Mental Outlaw, and was very fascinated by it. Iâve wanted to use it on my main desktop for a long time, but every time i tried to main a Linux distro, i always had some issue that made me boot back into my Windows install or had to play a Anti-Cheat enabled game. Also my GTX 750 Ti seems to really work best on Windows for whatever reason. I should probably get a RX 580 and retire my 750 Ti for good not just so i can have a better experience with using Linux but also so my games run better and also be able to play DX12 only games.
Now that iâve pretty much moved away from Windows, i can finally use Linux in peace and not ever think about switching back to that piece of shit!
Anyways, Void Linux yeah.
Itâs an independant Linux distro, not based on Debian or Arch, just based. It gives you the option to use either glibc or musl C libraries, uses ârunitâ instead of âsystemdâ which, letâs be real, no normal Linux user cares what init system you use. Systemd works, OpenRC works, runit works, they all work and thatâs the only thing that should matter, not how bloated they are.
It uses itâs own âXBPSâ package manager, which is super super fast, but also very weirdly named. Itâs definitely gonna take some time to get used to typing XBPS when you first use it, not to mention that the commands used arenât:
sudo xbps installsudo xbps removesudo xbps update
etc, but are all a single word:
sudo xbps-install <pkgname>for installing,sudo xbps-remove -o <pkgname>for removing packages and their dependenciessudo xbps-install -Sufor synchronizing repos (-S) and updating the system (-u).
Of course you can alias all of those command in your .bashrc or whatever shell you prefer to speed things up if you want:
|
|
â ď¸ Update:
xiis a tool included with thextoolspackage. If youâre planning to install xtools, keep in mind that you wonât be able to use it because of the alias!
I can go on and on and on about Void, i genuinely enjoy using the distro, but i should probably stop writing about it and move to actually installing it and trying it out.
Booting up Void Linux
Void unfortunately only ships with a plain XFCE ISO for desktop choices, but thatâs okay because we can use it to at least first try and see if everything works out of the box, then we can install it and then chroot into the install to prepare our system for first time boot, like installing necessary services like dbus, elogind, NetworkManager, a display manager, bluetooth etc, window manager or desktop environment, all the applications you need and apply any system tweaks, like configuring LightDM with a proper theme and wallpaper before we even boot into the install!
Head over to the download page and download the XFCE image, or the base image if youâre okay with just a tty prompt.
Either create a virtual machine or use Etcher or dd and put the ISO onto a USB flash drive and boot it up.


The installer
As you might have noticed, there is no âInstall Void Linuxâ desktop icon to install the distro. The installer is entirely in ncurses, so we have to bring up a terminal to launch the installer.
Simply type in sudo void-installer and it should launch.


From here, simply go through each step of the installer until you reach âSourceâ.

You will be given a choice of installing âLocalâ or âNetworkâ.
The âLocalâ option will install all packages that are in the live system, including the desktop environment. So if you want to use the XFCE desktop or donât really care and just want to get Void up and running, choose âLocalâ.
â ď¸ Make sure to update the system after installing if you pick âLocalâ install!
If youâre planning to install a different desktop or window manager, choose âNetworkâ. This will install a fresh and up to date system with only a tty prompt.
For this tutorial, iâm going to pick Network and install KDE.
Continue going through the install until you need to partition the drive.
Partitioning
Select âcfdiskâ.

Now, depending on how old your computer is, you either choose âgptâ for UEFI or âdosâ for legacy BIOS.
If youâre running Void in a virtual machine, pick âdosâ since thatâs usually the default option in VMs.
If youâre running Void on real hardware, to check which BIOS type your computer uses, open another terminal window and type ls /sys/firmware.
If thereâs a folder called âefiâ, then youâre using a UEFI BIOS and you can pick âgptâ. If not, select âdosâ.
BIOS partitioning
If youâre in a VM/using legacy BIOS, you only need to create one partition that takes up the entire drive and is type âLinuxâ
If youâre running on real hardware, create a partition for Void and leave some space for a swap partition, usually either as much RAM you have, or twice that amount.
A swap partition is usually unnecessary when running inside VMs.

UEFI partitioning
If youâre using a UEFI BIOS, you need to create a extra 512M-1GB partition with a type âEFI Systemâ. This is necessary for booting the system, otherwise it wonât boot.
The rest you can freely allocate for Void and swap.

File systems
For file systems, things are pretty straight forward:
- If on UEFI, the âEFI Systemâ partition needs to be formatted with vfat (FAT32), and itâs mount point set to
/boot/efi, - the Linux partition can be formatted with either btrfs or ext4, and itâs mount point set to
/ - and the swap partition need to be formatted with⌠swap.
Iâm going to choose BTRFS since, again it doesnât really matter what you use as long as itâs one of the two formats i mentioned above.

Hit âDoneâ.
Installing Void
From here, select Install, and confirm that you want to erase the partitions we created.
Now for a bit of fun, prepare a stopwatch and run it through the install to count how long the install takes.
youâd be blown away :3c
Oh and also, if you chose the âNetworkâ install, youâre gonna have to press OK at one point to continue with the install.

Iâd say that took like 2 minutes, more or less.
:3c
If you chose the âLocalâ install, feel free to reboot from here and afterwards, install and configure everything you need, but since i chose the âNetworkâ install, iâm gonna pick No and chroot into the system to install KDE and enable services.
Just pick Exit from the step list and youâre back to a bash prompt.
(Network) Installing a desktop/window manager
This is where the fun begins!
When you exit out of the installer, it automatically un-mounts the partitions, but we can simply just re-mount the Linux partition and chroot into it:
|
|
From here we can start installing the packages we need for a desktop.
These are the essential packages we need for getting any GUI up and running:
vim nano dbus elogind polkit xorg xorg-fonts xorg-video-drivers xorg-input-drivers dejavu-fonts-ttf terminus-font NetworkManager pipewire alsa-pipewire wireplumber xdg-user-dirs unzip gzip xz 7zip
Choice of desktop
If you head over to the packages page on their website, you can search for any package available in their repository.
Here you can check if your window manager or specific program is available for install.

For real though iâm actually a bit shocked that hyprland isnât in the repos.
But obviously things like GNOME, KDE, Cinnamon, XFCE, LXQt, MATE, i3/sway, dwm, openbox etc. are there and can be installed.
Here is a list of which desktop environments are installable and how to install them:
GNOME:
|
|
or a full install:
|
|
KDE:
|
|
Cinnamon:
|
|
XFCE:
|
|
MATE:
|
|
LXQt:
|
|
Aswell as these, it is possible to install:
- Budgie
- Enlightenment
- LXDE
- AwesomeWM (i dunno how to categorize this,,,,,)
- Stacking window managers, like Openbox, Fluxbox, JWM, IceWM etc.
- Tiling window managers, like i3/sway, dwm, qtile, herbstluftwm etc.
- And many others that i canât remember :P
Getting everything up and running
Did you install everything you need? Great!
Now itâs time to get everything up and running.
We need to enable quite a few services and have Pipewire start on login.
Since Void uses runit, the way you enable services is different than on a distro running systemd, even openrc! Because to enable services in runit, you create a symbolic link from any service in /etc/sv into /etc/runit/runsvdir/default/.
So to enable for example dbus:
|
|
And then we make sure itâs running by executing:
|
|

So here is a extensive list of all services we need to enable in order to get a desktop running:
|
|
Now to configure Pipewire for audio:
|
|
âšď¸ If youâre using a window manager or youâre getting an error that says dbus isnât running,
you need to edit the xsession .desktop file of the WM or DE that youâre using
located in/usr/share/xsessions/and adddbus-launchto the beginning of
theExec=line in the file in order for dbus to work properly.
Now type exit a bunch of times until you close the terminal and reboot the system.
If all went well, you should see a regular GRUB boot menu and after selecting Void Linux installed on your driveâŚ




And running pretty smoothly even in a VM with the QXL video card.
If the Internet is working properly, you should probably disable dhcpcd since itâs not used anymore:
|
|
NVIDIA
One more thing before moving on to :3c-ing our perfectly clean and vanilla desktop.
If youâre using an NVIDIA GPU, you need to enable the nonfree repository in order to install the driver.
This also allows us to install Steam but not Discord (probably because Void devs and contributors donât want to ship bulky electron apps,,,,,)
To install the driver, simply install the void-repo-nonfree package, synchronize the repos with sudo xbps-install -Su and then install the appropriate version of the driver:
nvidiafor GTX 750 Ti (<3), 800 series and abovenvidia470for 600 and 700 seriesnvidia390for 400 and 500 series
And then reboot your system.
If all goes well, you should be booted back into your system with NVIDIA drivers instead of Nouveau.
The :3c-ing in question (:3c)
Now itâs time to customize the desktop!

⌠tho this already looks good enough
personally if i was using kde instead of xfce iâd be fine with this
probably not with the light theme but even then, the kde desktop by itself with no theme change already looks really good and really nice
hmmâŚ

:3c i love being a menace
In all seriousness though, here are some extra things you can do after installing Void.
Firewall
Uncomplicated Firewall.
Very uncomplicated, and very much a firewall. Definitely what you should be running on a computer for security.
Just install the ufw package (bonus install gufw for a GTK GUI, or plasma-firewall if youâre on KDE), enable the ufw service, then run sudo ufw enable to start it!
Steam
Iâve mentioned Steam before so i will mention it again for those who installed âLocalâ
You first enable multilib, nonfree and multilib-nonfree repositories by installing the void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree packages, then sync the repos with sudo xbps-install -S, and then you can just install the steam package. Iâm not entirely sure if the multilib repos are needed but just in case.
Flatpaks
Something not available in the official repos? Missing Discord? (and i know you are >:3)
Flatpaks! Probably the best thing to come out of the GNOME Foundation in my humble opinion.
They were even nice enough to put Void Linux on their setup page which has instructions on how to install and setup Flatpak with the Flathub repo.
But just so you donât have to open another page, here are the commands you need
|
|
Afterwards, re-login and you can start installing Flatpaks!
If youâre on GNOME, you can install gnome-software for a GUI to install Flatpaks, or if youâre on KDE, they recently (as of the writing of this post) added Discover (discover kf6-purpose), which you can use for installing Flatpaks.

You can also if youâre on KDE, install flatpak-kcm to manage permissions of each Flatpak right from the settings app! Super convenient!!!
You can also install Warehouse to manage and install Flatpaks which you can use on any desktop, even though itâs a libadwaita app.
OctoXBPS
If you donât want to bother with opening up a terminal every time you wanna install, remove or update your system, you can install octoxbps and then add âOctoXBPS Notifierâ to startup applications and have a system tray that checks for system updates periodically and changes to color red when updates are available.
That is if youâre on a non-KDE based desktop, because in KDE, it appears just like every other update notification icon.

Wrapping up
There are a lot more things that can be done and installed on Void. What i mentioned in this post is only just a handful of things i know. Thereâs also xbps-src, which is basically the distros equivalent of the AUR but more official (i think?). I didnât cover it since i didnât really use it that much. And even though that is the official way to get Discord up and running on the distro, i prefer to run Discord from a web browser and use the pipewire-screenshare extension to get audio screenshare working.
Void also isnât perfect. There were a lot of issues with the distro that iâve encountered before. For example: the Cinnamon desktop has been orphaned for some time and was a lot of versions behind the official release, and because of that you werenât able to see wallpapers in the wallpaper settings because of a missing dependency. Even now while making this post and getting Discover running, i wasnât able to click on any app because kf6-purpose was missing, so i had to install it manually in order for Discover to work.
But once you get everything up and running, it works and itâs great. Iâd say better than Arch Linux even, and Arch is already super fast!
Once i get an AMD card, no longer do i have to suffer from issues with the NVIDIA drivers and finally use Wayland with no problems.
I hope this guide helped you and hope you enjoy using Void Linux!
please send me an email if you encounter an oddity in the guide or you hit some weird and arbitrary roadblock.