First launched in 2018, the open-source SerenityOS offers its users a stripped-back GUI-based operating system that melds a 1990s desktop aesthetic with a focus on productivity for power users. It isn’t Linux, but SerenityOS is a UNIX-like OS, built on a custom core and uses no licensed components. So, while it can run MP3s, other media and related codecs currently covered by licenses are not supported.
Oh, and there is no downloadable disk image or installer — it needs to be compiled first!
This all makes for an interesting and challenging experience, but I was intrigued enough to spend some time with SerenityOS and learn more.
Easy installation with a VM
Building an OS is character building
As SerenityOS isn’t available as a maintained disk image (and doesn’t have a release cycle), it needs to be downloaded as code from GitHub.
I used the build instructions for Ubuntu/Debian, which requires the QEMU virtualization software (VirtualBox and VMWare are also supported) to be already installed (sudo apt install qemu-system) before installing a host of dependencies:
sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2fsprogs ninja-build qemu-system-gui qemu-system-x86 qemu-utils ccache rsync unzip texinfo libssl-dev zlib1g-dev
After cloning the git and running the build script (I needed to change permissions to the directory first), there is a bit of a wait as the OS image is built. Once complete, the operating system launches within QEMU.
The build command, Meta/serenity.sh run, is also used to launch SerenityOS in QEMU for subsequent use, but as everything is already built, it’s much quicker.
It is possible to run SerenityOS on Raspberry Pi 4 and 5. However, this requires initial setup via QEMU. Here, the operating system is built for distribution via a USB stick – there is no option to boot via microSD card.
Once up and running, I found a standard classic desktop, a terminal emulator, and a collection of preinstalled software. What is most intriguing about SerenityOS, however, is that it is in active development. This isn’t an old OS that has been revived — this non-Linux UNIX-like is only a few years old.
A choice of retro themes
XP, macOS, and others
SerenityOS is described as “a love letter to ’90s user interfaces […] It flatters with sincerity by stealing beautiful ideas from various other systems.” It certainly does this with a collection of apps, utilities, and themes.
But the first thing I did was take a look at the themes, accessible via the Windows 9x Start menu-style “Serenity” menu. The Themes sub-menu offers a broad selection of looks for the desktop, and while most of them are basically different color schemes, some offer a more striking desktop.
An immense selection of 23 themes is included, with Windows 2000, XP, and Vista-alikes, styles based on Linux and Mac desktops, and one that isn’t a million miles away from Amiga Workbench. I added a desktop background as a final personalization step.
What’s SerenityOS like to use?
It has apps, games, and packages to build
The most important aspect of any desktop operating system is usability. While it isn’t as functional as the one you’re reading this on, SerenityOS is not an unpleasant OS to use. It reminds me of the first time I used Linux, around 2006, although the default browser isn’t particularly stable and is not suitable for most modern websites.
Having said that, I found the rest of the pre-installed tools useful enough, and evocative of what I might have found after installing Windows 98 on my first PC. SerenityOS features the standard left-click to select and right-click context menu, and supports mouse scrolling in longer windows, web pages, and documents. All the standard usability is there. The only thing that might hold you back is the selection of apps and the browser.
One of those problems is solved by adding new software.
I installed these apps and games on SerenityOS
They’re included in the build
A host of additional applications, utilities, and games (approximately 50) are included within the SerenityOS build. For example, while there isn’t a GUI-based word processor included, I added a terminal-based text editor, JOE, which evokes the pre-Microsoft Word era of WordStar and similar tools.
A full list of additional software for SerenityOS (included within the build as “Ports”) can be found at ports.serenityos.net.
To install a new app or game, on my desktop OS (Ubuntu), I used the cd terminal command to browse to the /serenity/Build/x86_64/Ports/JOE directory, then ran sudo ./package.sh.
The same process works with all software in /Ports, and there is also a script within that directory called build_all.sh, which installs everything.
Along with classic games (like Half-Life, DOOM, Quake, FreeCiv, and Another World), SerenityOS also includes emulators. Several standalone ones are included, along with RetroArch, which ships with various emulator cores built in. DOSBox is also included as an optional Port to install on SerenityOS.
Some ports fail to install successfully, displaying various error messages. Trial and error is required to find working software, so it is a good idea to save time with the build_all.sh command.
Not your daily driver
There is a use here, but you might not see it
The most important thing about SerenityOS is that while this is a usable operating system, it probably isn’t for you. A distributed team has been working on the project over the past few years, each member bringing their expertise and adding to the code. These are often highlighted as new features are showcased in YouTube videos, like the one above.
However, daily computer use has evolved to such an extent that I doubt this project could be anything other than a specialist platform. I think that is probably okay, though, as its GitHub opens with the words “This is a system by us, for us, based on the things we like.”
If you like the things the devs like, then SerenityOS is worth checking out. The fact that this retro-looking operating system runs era-appropriate software and is in active development is enough for me to keep tabs on it.
An OS for retro PC power users?
SerenityOS is full of interesting inclusions, but it’s still a little way off being suitable for any but the most dedicated power users. The failure of some ports to install individually illustrates this perfectly.
It might be 25 years out, but every aesthetic highlight in SerenityOS is like a throwback to Windows 2000. If that’s the thing you’re looking for, and you’re struggling to boot an old Windows 2000 on modern hardware, SerenityOS might be the answer. Or you could try it out as yet another Raspberry Pi operating system.
Otherwise, crank up a virtual machine and relive your sysadmin days with a real W2K installation and a copy of Half-Life for break time.