mckinley.cc Home Blog Notes Twtxt

Thoughts on NomadBSD

March 19th, 2022

It's becoming increasingly common for people around me to borrow my laptop for a short time to do some basic tasks. I don't like letting them use my regular Arch Linux install. Other people have a hard time using my machine, and that's by design. Besides, I don't want them to be able to root through my files, even if they have to figure out how to use a tiling window manager first. I realized that this was a great excuse to try out NomadBSD, and here we are.

Historically, for this use case, I've used Tails. I always have a Tails USB stick handy, and if you enable the Unsafe Browser and avoid connecting to Tor on startup, you have something approximating a regular OS. Of course, Tails is the wrong tool for the job. There are a number of problems that arose which I won't get into here. It was time to find the right tool.

NomadBSD is a portable, persistent live system based on FreeBSD, and designed to run off of a USB flash drive. I've heard a lot of good things, but I haven't had a reason to try it myself until recently. Writing the OS to a USB stick is simple enough, and there's a very intuitive GUI installer that sets up persistent storage, language, time zone, keyboard layouts, and software preferences. After that's done, the system reboots and you need to make sure it will boot off of the USB stick again. Just like that, you're at the desktop.

Boot times are reasonable. You can't expect a lightning-fast boot on a portable system like this. I haven't timed it, but on my machine it's probably faster to get to a desktop on NomadBSD than it is to get to the startup options on Tails. It also may be faster to the desktop than my regular Arch Linux install, but only because I have a very long encryption password followed by a very long user password.

Out of the box, NomadBSD comes with an impressive selection of software. It has everything you would expect like VLC, Firefox, Thunderbird, GIMP, CUPS for printing, the LibreOffice suite, and a very nice graphical package manager called OctoPkg. It even comes with lots of software you wouldn't expect like mpv, qpdf, youtube-dl, Midnight Commander, KeePassXC, HexChat, Transmission, Lynx, and a C compiler. There's a complete list of packages included in NomadBSD here. Firefox even comes with uBlock Origin preinstalled!

Overall, I'm quite impressed with the system. It has much more polish than I would ever expect from a preconfigured desktop BSD. Graphics utilizing my full screen resolution, as well as wireless internet and sound, all work right off the bat. Resource usage is reasonable. Not quite Ubuntu, not quite Void. The default interface is functional and stylish with the tint2 bar and the Plank dock on top of the Openbox window manager and the standard Openbox menu. There's a help button on the dock that opens a local copy of the NomadBSD handbook in Firefox. It even comes with a keyboard shortcut that runs dmenu as a program launcher, which was a nice surprise.

However, the default font sizes for just about everything are too small and there is some very noticeable screen tearing when anything moves. The font sizes can be changed easily by tweaking the tint2rc file and using the GUI coniguration tools for other desktop components. As for the screen tearing, I have not yet found a working fix.

I'm using a ThinkPad T430 with Intel HD 4000 graphics. Tearing issues can usually be solved for this machine on GNU/Linux systems by enabling the TearFree option in xorg.conf but that didn't appear to do much on NomadBSD. I've tried several fixes found online for similar hardware, but none of them appeared to do much of anything and I wanted to avoid compromising the portability of the system.

I am not very familiar with the FreeBSD environment and I haven't ever tried installing base FreeBSD on this system. There's a good chance that this tearing issue is not the fault of NomadBSD. It may just be a FreeBSD thing. Or, more likely, it's the same hardware quirk that causes tearing on GNU/Linux systems but I am unable to mitigate it due to my ignorance of FreeBSD.

I've run into a few other small issues that I'll mention below. The NomadBSD Errata page is quite helpful, and the most troublesome issues had simple fixes listed there. Generally speaking, I've had more trouble than this when using some popular GNU/Linux distributions.

In conclusion, I'm very happy with NomadBSD. It works well and looks great. It's a system with which I would be perfectly happy using myself, and I can give it to someone unfamiliar with the geeky side of computing with confidence, knowing that he'll be able to find his way around.