r/osdev • • 11h ago

Chimera now has real Mesa GPU rendering… and Pac-Man!

Thumbnail
gallery
13 Upvotes

More progress on my OS: Mesa-backed GPU rendering, a native desktop with blur and window animations, HiDPI support, and working system settings.

And, of course, a native Pac-Man port using the original Atari maze and sprites.


r/osdev • • 17h ago

Have you been using AI? If so, how?

13 Upvotes

I know I probably will get downvoted to hell, but personally I've been enjoying using AI as a learning tool in addition to manuals and OSDev wiki. It helps me understand some concepts better, explore other OSes design decisions and helps me get my thoughts together so I can make a decision that makes more sense to me at the time.

I think it's a very powerful learning tool if used right, instead of simply telling Claude to make linux 2.0 running DOOM. The code is still written by me (well, mostly, sometimes I ask Codex to do some big mechanical refactors, like move code to other files, or writing doc comments), and I understand all of it.


r/osdev • • 11h ago

made an OS called subverge

Post image
6 Upvotes

https://sbvrg.github.io subverge is very much still in development and accepts contributions, see

https://sbvrg.github.io/development.html for development and

https://sbvrg.github.io/handbook.html for all the pages of subverge

I recommend seeing the history page first https://sbvrg.github.io/history.html


r/osdev • • 13h ago

What do you think of an OS built for hands-on hardware exploration? Could it work as a teaching tool for CS courses?

0 Upvotes

I’m working on a hobby OS called D-DOS (it’s not my first one), and I’d like to hear what you think of the idea behind it rather than the code.

it started with a dream where I had built an OS that let me interact directly with the computer’s hardware, with nothing hiding the machine from me. I decided to try to turn that into something real. The goal is a system where the user can, from a simple shell, read and write memory and I/O ports, browse PCI devices, talk to an HDA audio codec, query a disk with ATA/AHCI commands, read ACPI/SMBIOS tables, and so on. It’s less “an OS to run programs on” and more “a guided tour of the machine you’re sitting at”.

Where it is: very early. A NASM stub with a Multiboot header calls into C, which prints text to the VGA buffer. Everything above is a plan, not something that exists yet.

Why I think it could matter beyond my own curiosity: I wonder if something like this could be useful in computer science courses. Students usually meet hardware through diagrams and abstractions, and OS courses often stop at the kernel interface. A system where you can type a command and actually see a PCI configuration space, flip a bit in a device register, or hear a tone from an HDA codec might make the material more concrete. I’m aware that teaching kernels like xv6, MINIX and Pintos exist and are great at what they do, but they focus on OS concepts (scheduling, virtual memory, file systems) rather than on poking the hardware directly.

What I’d like to know:

  • Does the concept sound interesting, or is it solving a problem that doesn’t exist?
  • If you’ve taught or taken an OS or architecture course, would a tool like this have helped?
  • Is there something that already covers this that I should look at?

r/osdev • • 14h ago

Idea: apps declare hard memory budgets, small apps use base+offset addressing, big apps get a foreground-only "raw mode" (looking for feedback)

0 Upvotes

TL;DR: A design concept for an OS where every app declares a hard memory ceiling, so the OS can guarantee admitted apps fit in RAM and never thrash. It's about predictability, not smaller pointers. No implementation yet, I'm looking for holes in the idea before I consider prototyping.

The model

  • Bounded apps: each gets one contiguous region (e.g. 64 KB, 1 MB, 4 GB). The app sees a flat space starting at 0 and uses 16/20/32-bit offsets. The real address is base + offset, done in the addressing mode (GS-relative on x86-64, or a reserved base register elsewhere). Zero-extended offsets mean the app can't name an address outside its region.
  • Thin-client UI: the OS draws, the app declares a retained-mode UI tree and only holds core logic. That's what makes ~64 KB apps plausible (Pebble, Palm OS, early Mac).
  • OS-side costs charged at admission: widget trees, handle tables, etc. are computed from the manifest, so no hidden footprint.
  • Raw mode: games, local LLM tools and the like get normal 64-bit pointers and the whole machine, but are foreground-only and one at a time. Bounded apps are frozen in place (they're relocatable, pointer-free blobs, so snapshot/restore is a memcpy), then compressed in RAM, then spilled to storage as a last resort.
  • Sandboxing: capability-style handles instead of ambient authority, OS-owned UI (no screen scraping or overlay spoofing), and no background execution for most apps.

Prior art I'm drawing on: WebAssembly linear memory, Native Client, V8/JVM pointer compression, iOS jetsam and background suspension, CHERI, console quick-resume.

Weak spots I already know about

  • Offsets only confine data. Native code could still issue raw syscalls or touch segment registers, so I'd need bytecode/WASM-style, SFI with a verifying loader, or hardware trapping.
  • Toolchain cost: a compiler target and tiny runtime for offset-addressed binaries.
  • Side channels between apps sharing an address space.
  • Memory caps don't stop CPU spinning, so apps also need time budgets.

What I'd love feedback on

  1. Which code-confinement approach fits best here: bytecode, SFI, or hardware trapping?
  2. Should a 64 KB budget include code, or is code mapped read-only and counted separately?
  3. Are the tier boundaries (64 KB / 1 MB / 4 GB / raw) sensible, and what breaks first?
  4. Is a retained-mode UI API too limiting for real apps?

Full doc here: [link]

Disclosure: the idea is mine, but I used an AI assistant (Claude) to help structure the longer write-up.


r/osdev • • 2h ago

Is this really an ai slop? On this work project 2 seigneurs in the field of OS engineering and one Junior with a vibecoder

Thumbnail gallery
0 Upvotes

r/osdev • • 13h ago

What is the point of creating an operating system?

0 Upvotes

r/osdev • • 16h ago

Concept: an OS shell on Ubuntu Core designed around a square primary display. Looking for both technical and functional criticism

Thumbnail
gallery
0 Upvotes

I'm a mechanical engineering student, and for a while I've been designing SquareOS, a concept OS built around a square main display. To be upfront: there's no kernel or code yet. The plan is a custom Wayland compositor shell on top of Ubuntu Core, not a from-scratch kernel.

Who it's for:
Power users who spend most of their day inside one main application: CAD engineers, developers, designers, video editors. Instead of juggling windows, the OS is built around that one app.

Core ideas:
- One app at a time on center stage: the main app sits in the middle of a large square screen, with movable widgets around it and the wallpaper always visible
- A "Context Box", a command box where typing something like `cad` switches the whole workspace (app + widgets) into CAD mode
- Square primary screen runs only native SquareOS apps; legacy/compat apps (via LXD) live on a secondary 16:9 screen
- Apps ship as Snaps with two layouts (classic 16:9 and adapted 1:1); a SquareSDK defines the layout contract
- Unified maintenance: the store only installs/uninstalls, all updates go through one Update panel, and `dyt` runs quiet background updates
- Separated storage with A/B system partitions and a rollback to a known-good "master" OS

Teaser (2 min): https://youtu.be/McWzEfQSUSY

Questions for people who've actually built this stuff:
1. Is Ubuntu Core + a custom Wayland compositor a sane base, or would you go another way?
2. Is splitting native and legacy apps across two displays realistic, or a dead end?
3. Does forcing every app to support a 1:1 layout kill it before it starts?
4. What would you keep, and what would you kill?

Happy to take feedback.