Last month I started a series in which I try out different operating systems with the aim of using them for my everyday work, and my pick was Slackware 15, the latest version of the first Linux distro I tried back in the mid 1990s. I’ll be back with more Linux-based operating systems in due course, but the whole point of this series is to roam as far and wide as possible and try every reasonable OS I can. Thus today I’m making the obvious first sideways step and trying a BSD-based operating system. These are uncharted waters for me and there was a substantial choice to be made as to which one, so after reading around the subject I settled on FreeBSD as it seemed the most accessible.
First, A Bit Of Context
Most readers will be aware that the BSD operating systems trace their heritage in a direct line back to the original AT&T UNIX, while GNU/Linux is a pretty good UNIX clone originating with Linus Torvalds in the early 1990s and Richard Stallman’s GNU project from the 1980s onwards. This means that for Linux users there’s a difference in language to get used to.
Where Linux is a kernel around which distributions are built with different implementations of the userland components, the various BSD operating systems are different operating systems in their own right. Thus we talk about for example Slackware and Debian as different Linux distributions, but by contrast NetBSD and FreeBSD are different operating systems even if they have a shared history. There are BSD distributions such as GhostBSD which use FreeBSD as its core, but it’s a far less common word in this context. So I snagged the FreeBSD 13.2 USB stick file from the torrent, and wrote it to a USB Flash drive. Out with the Hackaday test PC, and on with the show.
Unexpectedly Easy To Install
Installing FreeBSD was as simple as booting from the live USB drive and running the install script. The feel is very old-school with a text-based interface, but it was all pretty plain sailing. There’s an option for automatically partitioning the disk, and then selecting some base services to install if you need them, and then it goes through the process of installation. At the end you have a working FreeBSD operating system.
A typical popular Linux distro install will try to configure your system and install the software you’ll need. So as part of the setup you’ll create users, and either select from a vast software library or let it install a lot of software among which will be the programs you need. The chances are it will also configure itself to boot into a graphical desktop, and once the install is finished there’s nothing more to do except get on with using it as a desktop machine.
If that’s what you expect from an operating system then it’s fair to say that FreeBSD is not for you, because it takes the approach of giving you a blank canvas upon which you can write your own story. You get FreeBSD, a command prompt into which you can log in as root, and that’s it.
Your first task is to add an everyday user for yourself using adduser
, and before you can even give yourself sudo privileges you have to install sudo
. This gives your first use of the pkg
package manager, which as a long-time user of equivalent Linux distro package managers I found easy enough to use. I wanted a desktop environment, so it was off to pkg again to install X, then a desktop environment (I went with Lumina, but there are plenty of choices), and such useful applications as Firefox, GIMP, OpenSCAD, and KiCAD. None of this was particularly challenging, though I did have to search for a few online guides to configure the desktop environment.
Make Sure Your Hardware Is New Enough (But Not Too New)
So while it requires a little bit of familiarity with a UNIX or UNIX-like OS to get started, getting to a desktop computer for daily use in FreeBSD is pretty straightforward. And that meant that I was ready to write this article, with one exception. My video card is an Nvidia GT520, a pretty ancient GPU that had been dropped into my test PC as a replacement for a younger card that had gone on to new pastures.
FreeBSD doesn’t come with drivers out of the box in the way that a full-featured Linux distro does, so if you have something unusual then it’s up to you to find and install a driver. So I was stuck with VESA resolutions until I could install a driver, and here I hit a snag. Nvidia are good at supporting their cards with FreeBSD drivers, but one this ancient had dropped out of their support long ago. The last one I could find supporting it didn’t want to play ball, so I never managed to unleash my GPU’s potential. This is not in criticism of FreeBSD, it’s an ancient card.
Thus this piece has been written in a very retro-feeling 1024 by 768 VESA resolution, but aside from that I’ve come away rather liking FreeBSD. I like its stripped-down installation on which in contrast to a typical Linux distro you must install everything you need, I like it that the installation process was relatively painless for a medium-expertise Linux user like me. I like its speed, and I’ve found it a very acceptable daily driver indeed. There are certainly Linux distributions whose installation is far less easy.
I’m sure with a newer supported video card I would have had the full resolution, and it’s an OS I may even put on another PC with better spec to continue experimenting with. If I have a gripe with FreeBSD though, it’s in the documentation for newbies. I had my years of experience with Linux to help me find what I needed, but even though the installation process is relatively painless I found the answers to my few queries could be difficult to prise out. It’s definitely an OS to look at, but occasionally you’ll need to exercise elite Google-fu if you’re not a UNIX savant. Go on, give it a try!
“Last month I started a series in which I try out different operating systems with the aim of using them for my everyday work…”
Try NeXTStep, and yes one can get it up to color and sound with some work.
Or MacOS X … an officially certified (03-compliant) Unix with BSD roots.
But OK, that would be too simple ;-)
Hi,
the GeForce GT 520 is officially supported by older Nvidia driver version 390.x.
Details from Nvidia page:
– https://nvidia.com/Download/driverResults.aspx/196217/en-us/
Details about port/package from Freshports:
– https://freshports.org/x11/nvidia-driver-390/
Hope that helps.
Regards.
Since your hardware not supported by NV and Nouveau not ported (due to KMS) you can use https://www.freshports.org/x11-drivers/xf86-video-scfb/ Framebuffer driver.
Common problem with fully proprietary hardware such Nvidia, PowerVR etc. even if old hardware supported, little bit never version of hardware isn’t supported at all, even if an newest hardware supported with numerous asterisk.
pkg install desktop-installer
Guided text-based setup of desktop environments, drivers, etc.
There’s also a linux browser installer script on github that can get chrome, firefox, edge, etc setup to handle DRM encrusted streams.
Here is the URL for Linux-Browser-Installer. Takes 2 clicks and is very easy to install one of : Chrome, Brave, Edge,Opera, Vivaldi. I use Ghostbsd.org for last 6 years as daily driver and am quite satisfied. Ghostbsd.org/download get “latest build” or use Ghostbsd-23.06.01.iso version.
I also User Manjaro Plasma KDE5 on another laptop and have been satisfied with Manjaro.
https://Manjaro.org https://pop.system76.org
Tested Manjaro ARM and POP!_OS ARM on a Raspberry Pi4B from booting a USB Flash drive.
https://www.youtube.com/watch?v=m6kyOHsvrsg FreeBSD running on a Raspberry Pi 400
Some day will get GhostBSD ported to boot from a Raspberry Pi 4B hardware using ZFS file system.
Presently have https://FreeBSD.org/where FreeBSD 14.0-CURRENT running on the Raspberry Pi 4B hardware as a XFCE4.18 or MATE1.26 desktop
https://www.youtube.com/@Robonuggie channel shows how easy to install several different desktop environments on a running FreeBSD O/S.
https://www.youtube.com/watch?v=XjPha2bWvxs
use the Nvidia 304 PKG that should support the GeForce 520 pkg search nvidia
Then lookup the 304 version and install it, maybe try also the next higher versions till the card drops out of support.
The name “X Windows” should not be used.
yeah isn’t that just twm?
“X Windows” has been the standard way to refer to the X Window System since the 80s.
Appreciate the detail, but for me it would be far too ambitious, I’ve gone as far as gentoo and that’s probably scarred me.
I installed FreeBSD on my old laptop a few years back. It was actually pretty nice. I had that same experience of it coming pretty empty but whatever software I wanted was easy to install. And even though my laptop at the time was very old it ran fast. I wasn’t sure but I thought it might actually be faster than a similar lightweight Linux distro.
But… aside from a very convoluted setup involving Wine that I found some people on the internet said MIGHT work there was no way to watch NetFlix. So it was back to the Penguin for me!
I wonder if that has improved since then…. Google time I guess.
I hope Haiku is on the list of operating systems to test drive.
While it lacks device drivers and an up to date web browser. Haiku otherwise shows a lot of promise as an excellent single user desktop operating system.
yes
https://9p.io/plan9/
Looks like very early tests in Xerox Labs.
Assuming you never want to do anything useful, Plan 9 is neat.
I triple boot Arch Linux, windows and FreeBSD, I used OpenBSD before and I can say FreeBSD is faster than OpenBSD, in FreeBSD I can run windows apps through wine and Linux with Linuxulator, currently FreeBSD is my main OS and I also use root on ZFS, ZFS is good in FreeBSD, I tried ZFS on Linux but the experience is better on FreeBSD
I don’t really know what you use to write/connect with the internet but FreeDos with OpenGEM might be interesting, if a bit antiquated. OpenIndiana would also be cool
“This gives your first use of the pkg package manager, which as a long-time user of equivalent Linux distro package managers I found easy enough to use”
Does pkg take care for dependencies? Or does it work like in recently mentioned Slackware?
It does! I was surprised on how good it is.
Also you can customize how a package is build using ports. It’s the same mechanism that inspired Gentoo’s emerge
“Your first task is to add an everyday user for yourself using adduser,”
The installer actually proposes to add everyday users during the install.
“and before you can even give yourself sudo privileges you have to install sudo.”
That’s true.
To PPJ’s question above: yes, pkg takes care about dependencies.
Thank you.
Thanks for the check up on freeBSD. Enjoyed the read. I might try to pop it into a VM and kick it’s wheels again. Last time I looked at it, it seems I had problems installing it. KUbuntu is still my daily driver on all home desktops/laptops/server computers.
I installed FreeBSD on my Raspberry Pi 2. It works quite well and everything is stable. The major problem for me that it has only OpenJava version 8, but without hotspot, so it’s slow.
OpenJDK11 https://www.freshports.org/java/openjdk11/ or JRE https://www.freshports.org/java/openjdk11-jre/ technically supported on ARMv6/7 but
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255662
and you’ll need build package.
Never version seem drop ARMv6/7 https://www.freshports.org/java/openjdk19/
FreeBSD is probably my second-most used *nix, though not as a desktop machine. The web hosting I’ve had since around 2000 moved to a FreeBSD server colo in Manhattan from a Linux based system in Quebec around 2002 or so, if I’m remembering the story right; I still do a lot of work from the command line there. That said, they’ve got a script that lets you use the GNU tools by default, and I long since switched it to a bash shell, so it’s not like I’m in BSD-land much.
In fact, FreeBSD does support the GT520 graphics card. You just need to run the command pkg install nvidia-driver-390, and then execute sysrc kld_list+=”nvidia-modeset”