Aperture Institute GLaDOS: an operating system in Rust, with a language model in the kernel
GLaDOS / Screenshots

GLaDOS OS screenshots

Captured from the running system under QEMU, through the emulator's monitor, so these are the framebuffer's exact contents at 1280x800.

GLaDOS OS desktop showing a 98-styled terminal window with the boot log, desktop icons, a Program Manager window, and an icon taskbar with a Start button
Desktop with terminal and Program Manager. The desktop as it comes up. The terminal is showing its own boot log, with Program Manager beside it, icons down the wall, and a taskbar carrying a Start button and one pictogram per window. Title bars ramp through Aperture's colours and carry minimise, maximise and close. Every pixel here was drawn by the kernel into a UEFI framebuffer; there is no graphics library underneath.
GLaDOS desktop with Minesweeper, a text editor and a paint program in overlapping windows
Paintbrush, Write and Minesweeper. Three programs at once. Minesweeper plays the 3.1 rules with the mark for a face; Write is a windowed editor over the same content-addressed namespace the shell's edit uses; Paintbrush is behind it with five tools and the console's sixteen colours. Windows drag by their title bars, and everything also drives from the keyboard, which is how this screenshot arranged itself, headlessly, over a serial port.
The GLaDOS desktop wallpaper showing the aperture mark drawn as vector geometry
Desktop wallpaper. Everything minimised to the bar. The mark on the wallpaper is computed as arcs and lines at boot, because the kernel has no image decoder and adding one to display a logo seemed like the wrong order to do things in. The shell keeps running with no window at all; typing still types at the prompt.
GLaDOS running a language model in kernel space, answering a question about operating systems
The model answering. The resident model answering what is an operating system. The forward pass is running in the same address space as the code that drew the window it is printing into.
The GLaDOS desktop with a mouse cursor and the Program Manager system status list open
A pointer, and the system status menu. PS/2 mouse support, with the cursor drawn and undrawn by saving and restoring the pixels underneath it. The second button opens the menu under the pointer. Behind it the boot log records the model's shape: 576-dimensional, 30 layers, nine query heads to three key/value heads, and 134,515,008 parameters in 132,402 KiB of int8 weights.
A small web browser window in GLaDOS displaying example.com, fetched over the kernel's own TLS 1.3 connection
Enternet, fetching a page. Enternet, the browser. It has fetched example.com over a TLS 1.3 connection this kernel negotiated itself, parsed the HTML and the CSS, and laid the result out in a window. The status line counts what it found: three blocks and one link.
The Enternet browser showing the IANA example-domains page after following a hyperlink
Following a link. The same browser after following that one link to IANA's page about reserved domains: 32 blocks and 30 links, with headings, paragraphs, a bulleted nav list and the anchors highlighted in amber. Keyboard navigation moves between links; there is no JavaScript engine and there is not going to be one.
The Enternet browser having navigated back to example.com from the IANA page
And back again. Backspace walks the history back to where it started, which required keeping the parsed document around so it need not be refetched. The shell behind shows the key sequence that got here: alt-tab, tab, enter, backspace.

What you are looking at

The window chrome is Windows 3.1 construction, done properly: a #C0C0C0 face, two-pixel bevels with the light source at the top-left, and a title bar that fills with the selection colour when it takes focus. Over that sits the Aperture palette, which is where the amber comes from.

There is no graphics library beneath any of it. UEFI's Graphics Output Protocol hands the kernel a base address, a width, a height and a stride, and everything above those four numbers is written by hand: the glyph renderer, the bevel routines, the window manager, the wallpaper geometry and the compositor, such as it is. Every change repaints the entire screen back to front, which sounds wasteful and costs about a million stores at a rate of a few per second, because nothing here animates. See the GUI page for how it fits together, and for the bug that only a screenshot could have caught.