Rust All The Way Down: Testing COSMIC Apps on Redox OS
Actually, I should clarify — I remember back in mid-2024 when the first whispers started circulating about Redox OS developers porting COSMIC applications. At the time, it sounded like one of those “wouldn’t it be cool” weekend projects that eventually dies in a stale GitHub branch. You know the type.
But here we are in February 2026, and I’m staring at a screenshot that shouldn’t exist. It’s the COSMIC Text Editor running natively on a microkernel operating system that isn’t Linux. No Linux kernel, no GNU coreutils—just pure Rust from the drivers up to the cursor blinking on the screen.
And I spent the last weekend messing around with the latest Redox 0.9.5 daily build to see if the reality matched the hype. The short answer? It actually works. The long answer? It’s complicated, messy, and fascinating.
The “Pure Rust” Dream Stack
For the uninitiated, the synergy here is probably obvious but technically brutal. System76 built the COSMIC desktop environment using the Iced toolkit (Rust). Redox OS is a Unix-like microkernel written in Rust. In theory, they should be best friends. In practice, operating systems are probably jealous beasts.
The heavy lifting over the last two years wasn’t really about the apps themselves. It was about the plumbing. Specifically, getting winit (the window handling library) and wgpu (the graphics abstraction) to play nice with Orbital, Redox’s display server.
I decided to try compiling a simple “Hello World” Iced application on my Redox VM just to test the toolchain. I was running QEMU with 8GB RAM allocated, emulating a generic x86_64 box.
# Cargo.toml setup for Redox testing
[package]
name = "redox_cosmic_test"
version = "0.1.0"
edition = "2024"
[dependencies]
iced = { version = "0.14", features = ["canvas", "tokio"] }
cosmic-text = "0.12.1"
# The magic sauce for Redox support
[target.'cfg(target_os = "redox")'.dependencies]
redox_syscall = "0.5"
winit = { version = "0.30.5", features = ["orbital"] }
The fact that winit now has an upstream orbital feature flag that just works is pretty wild to me. Two years ago, you had to patch local crates and pray to the compiler gods.
Hands-on: COSMIC Files on a Microkernel
After verifying the toolchain, I installed the ported cosmic-files package. And this isn’t running through a Linux compatibility layer. It’s talking directly to the Redox filesystem scheme.
Launch time was… okay. On my M3 MacBook Pro (hosting the VM), it took about 4 seconds to draw the window. Not snappy, but for an OS that writes its own filesystem drivers in user space, I’ll take it.
The Good:
- Visual Consistency: It looks exactly like Pop!_OS. The theming engine (
libcosmic) ports over perfectly because it doesn’t rely on GTK or Qt quirks. It draws its own widgets. - Memory Safety: Crashing the file manager didn’t panic the kernel. I managed to freeze the app by trying to mount a weird ISO, but the rest of the OS kept humming along. That’s the microkernel promise in action.
The Bad (The “Gotcha”): Hardware acceleration is still the Achilles’ heel. While wgpu has a software fallback (similar to llvmpipe), it eats CPU cycles for breakfast. Dragging the window across the screen tore the graphics noticeably. If you’re planning to run this on bare metal, unless you have one of the very specific supported GPUs with open drivers, you’re going to be rendering pixels with your CPU.
Why This Actually Matters
You might ask, “Why do I care if a niche OS runs a file manager?”
But it validates the architectural bet System76 made back in 2024. By decoupling the desktop environment from the underlying display server protocols (X11/Wayland) via Iced, they probably inadvertently created the most portable desktop environment since… well, maybe ever.
I looked at the dependency tree for cosmic-edit on Redox. It’s shockingly clean. Because both the OS and the App speak Rust, the Foreign Function Interface (FFI) overhead is probably minimal. There’s no massive C library shim layer needed to translate instructions.
And it also solves Redox’s biggest problem: the “empty store” syndrome. Building an OS is hard; building a suite of apps is harder. By adopting COSMIC apps, Redox instantly gets a text editor, terminal, file manager, and settings app that look professional.
What’s Next?
I ran into a developer on the Redox Matrix channel who mentioned that the next big target is cosmic-comp—the compositor itself. Right now, COSMIC apps run inside Redox’s Orbital desktop. The end goal? Replacing Orbital’s shell with COSMIC’s shell entirely.
That’s ambitious. Probably “late 2027” ambitious. But seeing cosmic-term handle my ls -la commands on a microkernel today makes me think it’s inevitable.
If you have a spare afternoon and know your way around a terminal, grab the latest Redox ISO. Just don’t expect to play Cyberpunk on it yet. But for a glimpse into a Linux-free, all-Rust future? It’s probably worth the download.
