Acadix Software
Auto-admin
Desktop-installer
SPCM HPC Cluster Management
Lightweight Portable Job Scheduler
Biostar-tools Metaport
Another Programmer's Editor
Diskimage Tools
Personal Github Site
Auer Lab Github Site
|
FreeBSD as a Desktop System
What's the "Best" Desktop Operating System?
There's no shortage of rhetoric about which
operating system is "best". You'll often see claims like "FreeBSD is a
better server and Linux is a better desktop". All such assertions are
inherently absurd
because the terms "server" and "desktop" mean completely different things to
different users, depending on their specific needs.
"Server" could mean a web server running open source software, in which case
FreeBSD would be a fabulous choice with its unparalleled reliability and
network performance. It could also be providing a service
requiring a commercial software back-end, in which case you might be better
off with a Mac, RHEL, or Windows server.
"Desktop" could mean a laptop used for web browsing and school work by a
student with little interest in learning Unix. For such people, a
GhostBSD,
Mac
or
Ubuntu system might be the easiest option.
It could also mean a high-end workstation for a Unix-savvy scientist who
benefits greatly from ZFS file system features, such as compression,
and easy deployment of the latest software via FreeBSD ports.
Using FreeBSD and desktop-installer, a
bioinformatician who needs to run an RNA-Seq analysis could go from a blank
hard disk to a functioning desktop workstation ready to process their data
in less than an hour:
- Install FreeBSD, selecting ZFS file system: 5 - 10 minutes
- Run "pkg install -y desktop-installer" (a few seconds)
- Run "desktop-installer" and choose a lightweight desktop environment such
as Lumina, LXQT, or XFCE (about half an hour if all goes well and you
have a fast Internet connection)
- Run "pkg install -y rna-seq" (a few minutes)
Don't rely on other people's opinions, especially those who haven't
asked you a single question about your specific needs or those who evidently
have bizarre emotional attachments to their favorite software.
The only way to really know what's best for your needs is to see for yourself.
Fortunately, it's pretty easy to do these days. We're very lucky to live in
a world where we can try out a wide variety operating systems for free.
The best desktop operating system for you depends only
on your needs.
Be sure to fully understand your needs and objectively select
the operating system that best serves you.
What FreeBSD Offers
-
Probably the foremost reason for choosing FreeBSD is its renowned performance
and reliability. I've personally worked with a wide variety of Unix
systems since the 1980s, beginning with DEC VAX systems running BSD and Ultrix,
followed by DEC Alpha (also BSD and Ultrix), Sun Sparc (SunOS/Solaris),
MIPS, SCO OpenServer and Unixware, and Coherent. Since the mid-1990s I have
been continuously
running both BSD and Linux systems. None of the systems I've used has matched
the reliability of FreeBSD.
To clarify, FreeBSD is a set-and-forget system. Once properly
configured, it will likely run indefinitely without crashing or freezing
during normal use. Unlike many other systems, FreeBSD generally stays
on its feet under
the most extreme loads (though performance will suffer like any overloaded
system) and almost always recovers on its own without requiring
a reboot. I've seen FreeBSD systems run well over a year without a reboot.
(Warning: This should only be allowed in a highly secure environment. All
computers connected to the Internet should immediately receive security
updates as they become available, some of which will require a reboot.)
This is not to say that FreeBSD doesn't have bugs. They just tend to be
more superficial and typically don't cause system outages. Most problems
with FreeBSD come in the form of regressions in upgrades to software
that's not part of the FreeBSD base. For example, if you're using
bleeding-edge packages on a FreeBSD system, you may occasionally run into
new problems after upgrading Xorg, KDE, Firefox, or LibreOffice. Using the
default quarterly snapshots will prevent most such issues.
Most Unix systems show near-optimal performance on modern hardware for
typical use cases, but can differ greatly in resource requirements. FreeBSD
demands less memory than most popular
POSIX systems, leaving
more for your applications. It
therefore performs well on old hardware or as a virtual machine guest.
Have an old iMac no longer supported by Apple? It will probably run FreeBSD
quite comfortably, especially with a lightweight desktop environment such
as Lumina, LXQT, or XFCE. Or, try out FreeBSD under
VirtualBox under your current operating system.
-
FreeBSD has strong support for most popular PC hardware, provided that it's
been on the market long enough to develop open source drivers. Hardware
vendors don't usually provide open source drivers for us. I've installed
FreeBSD on hundreds of different server, desktop and laptop systems and have
yet to find one that would not function as a desktop computer. Most video
chips just work, but a few
might require some trial-and-error with graphics drivers and settings.
Only in rare cases have I had to fall back on VESA drivers, which perform
more than adequately for most purposes on modern hardware. Virtually all PC
motherboards, disks/SSDs, mice, keyboards, Ethernet chips, etc.
will just work. Most WiFi chips should work as well, though some of
the less common ones may not be supported, or may not provide optimal
performance.
This is easy to work around with a USB WiFi dongle, however. There are
many good quality WiFi dongles supported by FreeBSD. I've personally used
the Edimax EW-7811Un
with good results on a ThinkPad x120e until the native WiFi driver matured in
FreeBSD 12. Note that Linux did not have an open source driver for this
WiFi chip at that time either. I've also used the Edimax on Apple hardware
with the troublesome Broadcom WiFi chip sets that have firmware license issues.
Under FreeBSD 12.2, the Edimax USB WiFi provides sustained throughput around
2.4 MB/s
(scp transfer from a wired computer via a Netgear C3000-100NAS router). This
is identical to the throughput of a newer MacBook running Big Sur and slightly
below the performance of FreeBSD's Atheros WiFi driver on a Toshiba Satellite
(2.8 MB/s).
-
The FreeBSD ports system offers over 32,000 software packages that can be
installed in seconds to minutes as binary packages, or just as easily (but
slowly) built from source with custom build options such as non-portable
optimizations and optional software components. The Debian package
collection is the only one I'm aware of that may actually offer more software.
At the time of this writing, Wikipedia indicates that the Debian collection
offers 51,000 packages.
Direct comparison of package counts is not meaningful though.
For example, Debian typically has separate packages for binaries/libraries,
header files, and documentation of the same software, whereas
a single FreeBSD port will typically install all of them. Hence the Debian
package count is inflated relative to FreeBSD ports. Also, the Debian package
system does not support easily building from source. Whereas a single FreeBSD
port can sometimes generate several different build variations, the Debian
collection would offer separate packages for each, generally all built with
only portable optimizations.
Suffice it to say that the vast majority of popular open source software can
be easily installed on FreeBSD using the ports system. Firefox, Chromium,
LibreOffice, Thunderbird and dozens of desktop environments / window managers
can be installed in seconds.
-
The FreeBSD Handbook is
an excellent source of nuts-and-bolts information for new users. The
features and software available for FreeBSD are too vast to document in one
place, but the handbook is a great place to start getting a pretty good idea
about how FreeBSD works under-the-hood and what it can do for you.
What FreeBSD doesn't Offer
-
Probably the main barrier for inexperienced users
is ease of setup. FreeBSD has historically been more popular as a
server OS than a desktop system. While it has all the pieces needed to build
a great desktop system, it does not offer easy point-and-click installation or
systems management. There are numerous configuration steps and pitfalls in
manually setting up a basic FreeBSD installation as a desktop system that
will take time for a new user to discover and mitigate.
If you're new to the Unix world and just want to learn the basics without
investing a lot of time and effort, you may find a basic FreeBSD setup
frustrating. You might be happier
with something like
GhostBSD, or an Apple Macintosh.
Ubuntu Linux,
A fully-configured desktop system is very complex and these systems hide
most of that complexity from you, so you can focus on your work or learning
Unix basics.
GhostBSD is FreeBSD augmented with a graphical installer and graphical tools
for managing software, users, and updates. Much like Ubuntu Linux, it makes
installing and managing a Unix system about as easy as it can be.
For those beyond the beginner stage, there is a tool in the FreeBSD ports
collection called
desktop-installer, which makes it easy to
correctly configure a stock FreeBSD installation with any desktop environments
or windows manager, usually in under an hour. After configuring your system
with desktop-installer, the system is managed using traditional FreeBSD
command-line tools.
GhostBSD
|
Desktop-installer
|
Easier for those new to Unix
| More flexibility for those with a little experience
|
Graphical installer and system management
| Text install and terminal-based auto-admin menu or command-line tools
for management
|
AMD64 (X86_64) only
| Any CPU architecture supported by FreeBSD
|
MATE or XFCE
| Any desktop environment or windows manager in the FreeBSD ports collection
|
ZFS file system only
| UFS or ZFS
|
4 GiB RAM minimum for install (can reduce to 2 GiB after)
| 1 GiB RAM required for Lumina, LXDE, LXQT, XCFE. Less for simple Window
managers like FluxBox of IceWM, more for Gnome or KDE.
|
-
There may be a lag in driver availability for the latest-and-greatest new
hardware. This is true of all open-source software. Linux will often,
but not always have driver support for new hardware before the BSD world.
However, in my 25 years of running both platforms, I've found that when
FreeBSD doesn't support a particular device, Linux usually doesn't either,
or at least not very well. Whether you're running Linux, BSD, Illumos, or
any other open-source OS, you might have an easier time using popular hardware
that has been on the market for a year or so. FreeBSD is very fast and memory
efficient, so you don't need the latest hardware to see great performance.
Tips
Suspend/Resume
FreeBSD supports "suspend to RAM" sleep mode on most popular hardware. This
is most useful on laptops and should be triggered automatically by the lid
switch if properly configured
(desktop-installer
will configure this for you). More
often than not, it just works, but if you run into trouble, don't give up too
easily. Most issues are caused by specific device drivers. A popular
strategy for isolating the problem is to comment out all unnecessary drivers
in /boot/loader.conf. Then reboot and try several suspend/resume cycles to
see if it's working reliably. If so, re-enable one driver at a time and
test through several cycles again to identify the culprit. More detailed
information is available in the
FreeBSD
Handbook.
|