Modern home computers are appliances with ever-tightening constraints on what the user can do with them. The successful deployment of UEFI in the market, with Microsoft largely controlling which operating systems receive a key that permits it to be booted, poses a very real and existential threat to system- and application-software and hardware development freedom.
In February of 2026, the U.S. state of Colorado introduced a bill which would mandate all operating systems on all desktop and mobile devices to implement age attestation. If this state bill passes, it gives other states incentive to introduce bills of a similar nature. Eventually, this will become enshrined in Federal law, as it must, since operating systems sales and support necessarily crosses U.S. state lines.
To avoid racking up significant and company-busting fines, Microsoft, ARM, Intel, et. al. can all require proof of age attestation before offering UEFI keys necessary to boot into an OS of your “choice”. Home-/hobbiest systems will not be able to run anymore. The mere act of building your own computer from scratch will (in the long term) become a Federal offense, even if it was just to satisfy a curiosity.
Now, as I’ve written this, the bill hasn’t passed. And, it very well may never. But, that’s not the point. We’ve already tripped and stumbled, and there are no hand railings on the slippery slope to electronic prohibition. Let’s hope we regain our footing, and soon, before some other sub-human politician decides to try their hand at a similar bill and manages to succeed.
— vertigo
While some look to prominent Linux suppliers as an escape from the Intel/Microsoft/Hollywood oligarchy, I note that this is now the least of our collective concerns. Legislation is pending world-wide, not just here in the USA, which would affect commercial and hobby systems alike. The difference is that commercial companies can afford the lawyers, marking machines, and technical resources needed to comply with these new laws. You and I do not, and cannot.
I have taken a different route — I decided to build my own computer completely from scratch. My architecture is fully open; anyone can review the source, learn from, and hack it to suit their needs. But more importantly, it also means that it’s a relatively simple matter to emulate.
The Kestrel-2EX is currently a fantasy platform, similar to TIC-80 or PIC-8; an emulation of an idealized RISC-V-based homebrew computer designed for easy construction. There’s no point in building a real computer, though, unless and until there is a reasonable software base to run on it. This emulator is intended to help with that specific problem.
The Kestrel-2EX sports the following features:
The Kestrel-2EX Emulator is written in such a way so as to support easy emulation as well as easy hardware construction. The emulator is the source of truth by which the hardware will ultimately be judged.
Mantle is the native operating system kernel for the Kestrel-2EX. It is largely inspired by the GEOS operating system for the Commodore 64, by GS/OS for the Apple IIgs, and by the Uxn/Varvara fantasy platform.
It currently provides a single-tasking, purely event-driven application model. True (preemptive) multitasking support is planned for future releases; however, for now, I just want to build a reasonable and useful OS environment with the simplest possible environment that I can muster.
As I write this, I (vertigo) am the sole developer of both the Kestrel-2EX emulator as well as Mantle. Thus, it is important that I follow the worse-is-better approach to evolving Mantle and its “user-land.” Otherwise, nothing will ever get done.
Currently, Mantle is an integrated component of the Kestrel-2EX emulator. This greatly simplifies the design of both the emulator and allows me to focus on more important software design issues right now.
Future iterations of the emulator will off-load Mantle components to run in RISC-V machine- or supervisor-mode, as necessary.
Mantle itself is not POSIX compliant, and this is by design. As the years progress, my plan is to evolve Mantle more in the direction of Plan-9 from Bell Labs with a gentle splash of inspiration from AmigaOS thrown in for good measure.
POSIX is complex, and thus defeats the purpose and value proposition of the Kestrel-2EX as a platform offering. If someone else wants to port and maintain a POSIX compatibility layer, more power to you! I won’t say no!
POSIX’s complexity comes from the need to make several (now long obsolete) Unix vendors happy, and from the need to maintain backward compatibility.
However, I want to make sure my time hacking on this project is highly leveraged for maximum benefit. I want to write a number of applications and don’t want to spend a lot of time or resources doing so.
This application illustrates how to invoke services from Mantle using its raw system call interface, as well as how to handle system-level events.
Coming soon.