1. 51

  2. 14

    I’ve been using void on my main work machine since April this year (ending a 5+ year ubuntu streak), and I find it a delight to use. There are still some rough edges, especially around support for less-mainstream software, but the speed, stability and general predictability set it a world apart from ubuntu.

    If you can’t for various reasons go full-BSD, but are as exasperated as I was with the pointless complexity and entanglement of modern ‘friendly’ linuxes, give void a try!

    1. 11

      This article totally nailed it. Main reasons I use void for my desktop machine are:

      • No systemd
      • It’s really freaking fast
      • Rolling release
      • Complete transparency
      • It just works :)

      Definitely the best hacker’s distro out there. I haven’t had any problems in the last 6 months I’ve been using it, and I’ve been able to customize it however I want to.

      1. 9
        • Hardened compiler flags by default (PIE, SSP, RELRO)
        • Support for more architectures by default (looking at arch/alarm)
        • xbps tracks shared libraries and won’t allow updates that break dependencies
        1. 1

          Do you have any recommended reading about hardened compiler flags?

        2. [Comment removed by author]

          1. 5

            Creating packages in void is much easier than in Debian.

            1. 5

              For me one of the top features of void is runit, the init system. Although you can install and use it on Debian, a native runit system is much more clear and easy to understand. It’s a delight to add new services, e.g. something compiled from source. Also it keeps'em running supervised.

          2. 7

            I have been playing with Void in a raspi for a few days now. Its simplicity is delightful!

            That said, I still find myself pining for the simplicity of OpenBSD.

            1. 5

              I prefer OpenBSD as well (mainly because it doesn’t have all of Linux’s baggage), but I still run Linux on my desktop machine since it has an nvidia card. Void is really the most BSD-like distro out there, and makes Linux easier to use :D

              1. 4

                I think Void is cool. Just wanted to mention that NVIDIA cards used to be my to go reason for FreeBSD. At least back in the days NVIDIA driver used to be a hard thing to deal with on Linux, while it always was rather easy on FreeBSD. That changed for most distributions though.

                So even if it’s not OpenBSD, you can get your NVIDIA card running on FreeBSD. They have had official FreeBSD drivers for ages, just like Windows, Linux and Solaris.

                FreeBSD or TrueOS, if you wanna have a thicker Desktop and quicker initial setup work pretty well. TrueOS is still pretty experimental though. They appear to be pretty active though, on Gitter, etc.

                However, Linux simply supports a bigger variety of laptops, especially when it comes to very new models. I am lucky with FreeBSD 11 and a 3 year old model though. :)

                That said, I ran OpenBSD on the desktop for quite a while about ten years ago. Your browser didn’t need a modern graphics card (and drivers) back then for most tasks. I loved OpenBSD as a day to day desktop system. However, I’ve struggled a bit on the driver side, which made me switch to FreeBSD and a bit of a laziness of switching set in.

                One day I’ll go back there though! Until then I run it mostly for things that only need OpenBSD base, no packages, so esp. routers.

                1. 1

                  NetBSD recently added support for recent(er) nvidia cards via the open source driver, nouveau.

                2. 1

                  I prefer OpenBSD too, but I run Void Linux since I need qemu + KVM to run windows and macOS. I need to run Unity for testing games. In addition, the JVM doesn’t work very well in FreeBSD or OpenBSD, I had quite a few issues running Cassandra and Elasticsearch.

                3. 1

                  By the way, I’ve been wanting to run OpenBSD on my rpi, however, last time I tried, it still wasn’t supported. Have things changed recently?

                  1. 3

                    Rpi2 and rpi3 support are being worked on: http://marc.info/?l=openbsd-cvs&m=147059203101111&w=2

                4. 3

                  This seems like it might be something I’ve been looking for for a while—a distro with an Arch-like focus on simplicity and DIY ethos, but without Arch’s emphasis on bleeding-edge everything. Can anyone who has experience with Void and Arch compare and contrast the two?

                  1. 9

                    There are already some points listed in the comparison with debian.

                    Arch doesn’t use hardened compiler flags.

                    Voids build system supports cross and native compilations for armv{5,6,7}, i686, x86_64, mips and two libc implementations, glibc or musl.

                    Voids package templates are in one tree, there is no AUR which can avoid some dependency problems.

                    On “bleeding-edge” void chooses to use stable releases from upstream which is similiar to arch, some packages are update before they arrive in arch and some take some more time because there are less contributors.

                    Void has some more kernel versions in the package repository, at the moment linux3.14, linux3.18, linux4.1, linux4.3, linux4.4, linux4.5, linux4.6, linux4.7, linux4.8, linux4.9rc5, arch only keeps the latest stable and the LTS release.

                    Void uses libressl.

                    Void uses http://mdocml.bsd.lv/ for man pages by default.

                    Void uses dash as default /bin/sh.

                    Void provides xbps-alternatives which can switch /bin/sh, /bin/man and more to different implementations.

                    Void has a simple dialog based installation script but you can do chroot installations like pacstrap or deboostrap too.

                    Void has minimal and a few desktop live images with different desktop environments.

                    Some people like it that xbps is splitted into several binaries, xbps-install, xbps-remove, xbps-query, and some hate it. I think its nice and it makes the man pages shorter and the different flags easier to remember.

                    Void splits development files into -devel packages.

                    Voids build system builds packages in a chroot/container/namespace and can run as user.

                    1. 2

                      xbps is split into several binaries

                      Is it like git in that I don’t have to remember how they are split, or do I?

                      Also since you seem to know the difference between Arch and Void, as a 11+ year user of Arch, the only thing I’ve really been annoyed with is networking. From wpa_supplicant, to wifi-menu, to networkmanager, I’m largely sad. Any insight into how void does networking?

                      1. 5

                        You have to remember the binaries, but the name is basically what the binary does http://www.voidlinux.eu/usage/xbps/.

                        • xbps-install(1) - XBPS utility to (re)install and update packages
                        • xbps-query(1) - XBPS utility to query for package and repository information
                        • xbps-remove(1) - XBPS utility to remove packages
                        • xbps-reconfigure(1) - XBPS utility to configure installed packages
                        • xbps-pkgdb(1) - XBPS utility to report/fix issues and modify the package database (pkgdb)
                        • xbps-rindex(1) - XBPS utility to manage local binary package repositories
                        • xbps-alternatives(1) - XBPS utility to handle alternatives

                        Voids ships only dhcpcd by default, which uses wpa_supplicant for wifi. But its the same as with Arch, you can choose which network manager you use, except systemd-networkd. There is no “better” void specific tool.

                        1. 2

                          This is my main critic to Void Linux. I have been running for more than a year and I can’t remember the name of the package manager.

                          1. 3

                            add to .bashrc / .zshrc:

                            function apt-get {
                                local COMMAND=$1
                                shift 1
                                xbps-$COMMAND "$@"
                          2. 1

                            Thank you for your reply!

                      2. 5

                        For me, Void works just as well or better than Arch. Void stays very up-to-date (or at least well enough that I’ve never had to pull the latest source and build it myself). xbps is slightly faster than pacman, and the repos contain much of what I’d usually have to find in AUR.

                        Arch has better documentation (on the wiki), but apart from that it doesn’t win much more in my book. I’ve entirely switched to Void at this point :)

                      3. 3

                        Can anyone comment on how Void compares to Alpine Linux?

                        1. 4

                          Alpine uses by default musl libc and busybox. Void Linux has the option to use musl or glibc. I have nothing against musl, I even think it is better from a developer point of view. However, as a user, in the past I had to deal with quite a few packages that did not work well with musl. Also, Void uses runit and Alpine openrc for the init system. On the other hand, Alpine package manager interface is way more clear and intuitive than Void Linux package manager CLI interface.

                          1. 2

                            However, as a user, in the past I had to deal with quite a few packages that did not work well with musl.

                            From my experience, this is mostly due to people using glibc-isms or just bad portability detection assuming glibc on linux. Not always but generally I find the stuff like this tends to also not build easily on OS X too.

                        2. 3

                          I like that there are such projects around. Void, even though it uses runit, rather than OpenRC by default feels a lot like the desktop complement of an Alpine based server. They both offer current software, simplicity and a fitting amount of stability.

                          The only difference is the init system, but they are both very sane in my opinion. I think for a big number of users they represent the last stand in the Linux world - other than purely source based and older systems (Gentoo, Slackware, …).

                          Those projects seem to be doing well though, so I don’t think that this trend sparks other distributions as well, or at least shows that you don’t have to go for systemd.

                          1. 1

                            Do not forget crux! It is simple, stable and gives.you all the keys to build the system you want. Init system is.still system V, but the daemon scripts really simple. The port system is also a joy, as the Pkgfile format is the simplest I’ve seen in the unix world.

                          2. 2

                            While I’m considering switching my desktop over to freebsd (I’d choose openbsd, but it has an nvdia 580) but my laptop is optimus, so I’m stuck in linux land.

                            I’ve been having some problems getting wifi to work properly (Though it worked perfectly a year ago, before I installed debian on it for work reasons) but in terms of simplicity, power and flexibility, it really is my favorite linux distro.

                            1. [Comment removed by author]

                              1. 1

                                There is support for void linux since the last release (https://github.com/saltstack/salt/commit/f58cdda0868c18cd3f1bf8d3cfee427a8b2f6399).