https://arstechnica.com/gadgets/2021/08/not-a-linux-distro-review-serenityos-is-a-unix-y-love-letter-to-the-90s/ Skip to main content * Biz & IT * Tech * Science * Policy * Cars * Gaming & Culture * Store * Forums Subscribe [ ] Close Navigate * Store * Subscribe * Videos * Features * Reviews * RSS Feeds * Mobile Site * About Ars * Staff Directory * Contact Us * Advertise with Ars * Reprints Filter by topic * Biz & IT * Tech * Science * Policy * Cars * Gaming & Culture * Store * Forums Settings Front page layout Grid List Site theme Black on white White on black Sign in Comment activity Sign up or login to join the discussions! [ ] [ ] [Submit] [ ] Stay logged in | Having trouble? Sign up to comment and more Sign up i'm in this picture and i like it -- Not-a-Linux distro review: SerenityOS is a Unix-y love letter to the '90s Although it's nowhere near ready for prime time, there's a lot to love here. Jim Salter - Aug 18, 2021 11:10 am UTC reader comments 122 with 83 posters participating, including story author Share this story * Share on Facebook * Share on Twitter * Share on Reddit * If this desktop doesn't look hauntingly familiar to you, you either didn't live through the 1990s--or perhaps just didn't live through them right. Jim Salter * SerenityOS's built-in theme support will, like much of its UI/UX, look instantly familiar to anyone who lived through the 1990s. Jim Salter * Here we see SerenityOS's Windows Explorer-esque file manager and its text editor--which manages to keep looking like Notepad despite Markdown support and two-frame design. Jim Salter * SerenityOS's console and System Monitor apps continue its overarching theme of instantly familiar framework, populated with new and entirely different data. Jim Salter * If you aren't unreasonably excited about the idea of a built-in font editor, I'm not sure we can be friends. Jim Salter * You want Minesweeper? SerenityOS has Minesweeper. Like everything else, it's a complete rewrite under the hood. Jim Salter Today, I test-drove an in-development operating system project that seems almost disturbingly tailored to me specifically: SerenityOS. I cannot possibly introduce SerenityOS more accurately than its own website does: SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems. Roughly speaking, the goal is a marriage between the aesthetic of late-1990s productivity software and the power-user accessibility of late-2000s *nix. This is a system by us, for us, based on the things we like. Every word of this introduction is almost surgically accurate. To someone in SerenityOS's target demographic--someone like myself (and likely many Arsians), who grew up with NT4 systems but matured on modern Linux and BSD--SerenityOS hits like a love letter from the ex you never quite forgot. SerenityOS isn't Linux--and it's not BSD, either What that brief intro doesn't get across is the scale of the project. You might think that SerenityOS is just a Linux distro with an unusually ambitious vaporwave aesthetic, but it's actually an entire operating system built from the ground up. That means custom-built kernel, display manager, shell... everything. According to founding SerenityOS developer Andreas Kling, there is absolutely no third-party code in SerenityOS. "When we started," Kling told Ars, "we imported four or five C standard library functions from NetBSD or something like that. But those were gotten rid of over time. We're free of third-party code now, with the exception of the build process." Advertisement The build process Kling refers to is something you'll need to get familiar with if you want to test-drive SerenityOS. There aren't any actual releases at this point, and there's no ISO file to download. Instead, you'll need to git clone the project onto your own machine and compile the OS from source. This produces--and automatically runs--a special SerenityOS virtual machine. Further Reading Open source licenses: What, which, and why Although SerenityOS doesn't use code from either Linux or BSD under its hood, it does borrow a couple of concepts from FreeBSD--its license (2-clause BSD), and a "ports tree" software management system similar to FreeBSD's. There is a catch to SerenityOS's implementation of the ports tree, though: it does not operate within SerenityOS itself. Instead, the user builds the port on the host operating system, then rebuilds the SerenityOS image to include the freshly built port. "It's a Unix system! I know this!" * On the minus side, SerenityOS's browser threw an exception--on the plus side, that Crash Reporter is a thing of beauty! Jim Salter * Behold the Utah Teapot--a sort of "Hello World" for 3D rendering. Jim Salter * Building SerenityOS also automatically fires up its custom VM, leaving a running console log on the host. (Ext2? Yikes...) Jim Salter Although I had technically never used anything in SerenityOS before, the system felt immediately familiar. Unixlike consoles, stack traces, and hardware information blend seamlessly with simple, '90s-era tabbed interfaces--if you're familiar with both Windows NT and with any vaguely modern Unixlike operating system, you'll be familiar with SerenityOS from the moment you see its desktop. Further Reading Unix at 50: How the OS that powered smartphones started from failure Heck, SerenityOS looks enough like Windows NT to be Windows NT at first glance. It even includes a theme system that looks and works incredibly like the ones found on late-90s era Windows operating systems. But inside the old-fashioned Start menu, simple window dressings, and aggressively plain system font are Unix underpinnings used to good effect. Advertisement In a console, a fully featured shell similar to Bash awaits. The shell has many of the system utilities you'd expect to find on a Unixlike system--including but not limited to find, grep, and sysctl. If you manage to crash one of SerenityOS's applications--and if we're honest here, you probably will--the Crash Reporter dialog looks like one on Windows. It features, however, a stack trace, contents of the CPU registers, and environment variables in a simple tabbed interface. My least favorite feature of SerenityOS is its current filesystem, which self-reports as "Ext2FS." Linux's ext2 filesystem was pretty good for its time--it's just that time ended in 1998. I hope SerenityOS eventually gets a more modern filesystem, with proper journaling support for powerloss/crash safety. 1990s-era performance... in a good way The system is also fast, in much the same way NT 4.0 was fast in its day. And SerenityOS' performance is consistent in a way that operating systems haven't seen in a long time. For the moment, SerenityOS's kernel is not Symmetrical Multi-Processing (SMP) aware--its special virtual machine only uses a single thread of your host computer's physical CPU. Obviously, a lack of SMP support will limit the system for many real-world tasks. SerenityOS is only able to get away with its single-threaded model because the entire thing was built with that expectation, but that expectation forced Kling and the contributors who came later to write exceptionally clean, cruft-free code. The result of this single-threaded environment? Beautiful simplicity . SerenityOS can't run any faster than a single CPU core of your host computer does--but it doesn't run any slower, either. Although SerenityOS is currently limited to a single thread, Kling tells us that he's working on upgrading the kernel. "For the last two weeks, I've been working on multi-core support... [but] it's still not stable enough for everybody to live on it. So far, the system usually deadlocks within a few minutes [if SMP is enabled]." Page: 1 2 Next - reader comments 122 with 83 posters participating, including story author Share this story * Share on Facebook * Share on Twitter * Share on Reddit Jim Salter Jim is an author, podcaster, mercenary sysadmin, coder, and father of three--not necessarily in that order. Email jim.salter@arstechnica.com // Twitter @jrssnet Advertisement You must login or create an account to comment. Channel Ars Technica - Previous story Next story - Related Stories Today on Ars * Store * Subscribe * About Us * RSS Feeds * View Mobile Site * Contact Us * Staff * Advertise with us * Reprints Newsletter Signup Join the Ars Orbital Transmission mailing list to get weekly updates delivered to your inbox. Sign me up - CNMN Collection WIRED Media Group (c) 2021 Conde Nast. All rights reserved. Use of and/or registration on any portion of this site constitutes acceptance of our User Agreement (updated 1/1/20) and Privacy Policy and Cookie Statement (updated 1/1 /20) and Ars Technica Addendum (effective 8/21/2018). Ars may earn compensation on sales from links on this site. Read our affiliate link policy. Your California Privacy Rights | Do Not Sell My Personal Information The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of Conde Nast. Ad Choices