r/osdev • u/Useful-Message4584 • 41m ago
r/osdev • u/EfficiencyNo3042 • 17h ago
Looking for help writing drivers for a hobby x86-64 OS (BlockOS) [no vibe coded]
I’m building BlockOS, a solo hobby x86-64 OS with its own UEFI kernel. X11 runs on it in QEMU: the X server starts, and twm frames client windows. The rest of the picture is like a puzzle that’s still missing pieces, and the biggest gap is drivers, mainly GPU, for real hardware.
I’d like to work with someone who has written or read PCI or display drivers before. Expect unpaid, open-source work. If you want to write driver code from public hardware docs (no Linux code copied), send me a message or comment.
GitHub link:https://github.com/gurijb2016-afk/Blockos
r/osdev • u/Fun-Relationship5464 • 1d ago
We got Linux on iPhone!
LinuxRunner brings Debian ARM64 to iOS, including desktop environments like KDE Plasma and apps like Blender.
No jailbreak, JIT, or virtualization needed. It runs Linux binaries through an ARM64 interpreter.
Still early in development, but pretty interesting to experiment with. Feel free to try it out!
r/osdev • u/Maximum_Birthday3403 • 10h ago
terminal split and virtual file system in subverge 0.9.6!
r/osdev • u/JustActuator6946 • 21h ago
Silver Microkernel: ARM64 microkernel in Rust with Ring 3 drivers and Capability-based IPC
Hey everyone,
I'm working on Silver Microkernel — a bare-metal microkernel in Rust (no_std) for aarch64 (QEMU virt, Cortex-A72).
My goal is to build a secure foundation for an OS that can eventually run Android apps (via Waydroid) without legacy bloat. I'm deliberately avoiding POSIX in the kernel and x86 legacy.
Architecture:
* True microkernel: Kernel only handles scheduling, MMU, and IPC.
* Init Server (silverd): PID 1 spawns the nameserver (scout), shell (howl), and drivers.
* Ring 3 Drivers: The UART driver (howler) runs in EL0. It maps MMIO, binds IRQs (GIC INTID 33), and communicates via IPC. The kernel does not touch the UART hardware.
* Security: Capabilities (CAP_MMIO, CAP_IRQ), WX, PAN, High-Half MMU (TTBR1/TTBR0 split).
* Infrastructure: Contiguous DMA (Normal Non-Cacheable) and PCI ECAM mapping are ready. I'm currently implementing the Virtio-blk driver for persistent storage.
The screenshot shows the shell running in QEMU (I can't post images in this sub directly, but the README has one).
Repo (MIT): https://github.com/vvirei333/Silver-microkernel
I'd love feedback on the IPC design and handling async events (IRQ + IPC) in Ring 3 drivers. Thanks!
r/osdev • u/Imaginary_Buddy723 • 1d ago
Framebuffer test successful
Enable HLS to view with audio, or disable this notification
les go 🥹️
r/osdev • u/zang-x111 • 1d ago
I built FaceID@NIM, an open-source face unlock system for Ubuntu/GNOME. Looking for feedback!
I've been building FaceID@NIM (Neural Identity Matching), an experimental facial authentication system for Ubuntu/GNOME using Rust, C, and Python.
Features so far:
\-Custom PAM module for Linux authentication
\-Rust daemon for authentication policies and secure template management
\-Face recognition and liveness detection
\-GNOME integration and a settings application
\-Audit logging and password fallback
It's still in pre-alpha, and I'm actively testing its security, reliability, and camera compatibility. It's not intended for production use yet.
I'd appreciate honest feedback from the Linux community, especially on the architecture, potential security issues, and features worth adding.
🔗 GitHub:
https://github.com/Gaurav-x111/faceid-nim
If you're interested in Linux internals, Rust, or computer vision, I'd love to hear your thoughts. Thanks! 🚀
r/osdev • u/FewBrief7059 • 3d ago
The Samsara Project.
Samsara (As pronounced here) is posix compliant microkernel inspired monolithic 64 bits kernel + operating system. It implements some Linux + BSD extensions too. which allows it to run more open source software with source level compatibility. Its the effort of half a year of development only by 3 main authors. It can run a bunch of of popular open source software (Such as Bash, X.org, Busybox, st terminal, Tab Window Manager, and feh image viewer.) and much more as development goes on.
Links:
https://gitlab.com/clownkun/Samsara (Main Repo)
https://gitlab.com/clownkun/samsara-ports (Ports Tree)
And also, This should go without saying. But Samsara is not developed with artificial intelligence assistance. Nor we strictly restrict the usage of it when contributing. Read about it in our CONTRIBUTE policy here.
r/osdev • u/dekai-onigiri • 3d ago
Implemented VESA & VGA with double buffering (Bits Runner)
For my OS project, Bits Runner, I've been working on a transparent support for different video adapters and arbitrary color depth.
I've got both VGA and VESA running on real hardware at at color depths from 4 to 32 bits. Both have double buffering. For VGA there is 640x480x4 and 320x240x8 (X mode). The demos are driven from user mode through system calls.
r/osdev • u/just_pascal_dev • 2d ago
Customise function with arguments ‘t’ and ‘b’ in my OS.
When I developed a customization app in my OS (called YarOS), I asked myself: “Why do I need to write two separate functions for changing text and background color? No, that violates DRY!” So I created a single function taking arguments ‘t’ for text and ‘b’ for background. Is this a good solution, or is there a better way?
r/osdev • u/vahmoh25 • 2d ago
Veda Ported Python 3.15
Hi all!
Veda has just imported the latest Python version, helping accelerate OS development.
Veda is an ambitious open-source project building an agentic-first operating system. We're still early, but we've already gained around 100 GitHub stars in just two weeks!
We're looking for contributors, from bug fixers to those who want to lead the project's future. All contributions are welcome!
Interested? Contact me at [contact@vedaos.org](mailto:contact@vedaos.org).
r/osdev • u/Maximum_Birthday3403 • 3d ago
I ADDED IMAGE RENDERING TO SUBVERGE
Latest release (subverge 0.9.5) brings support for ACTUAL IMAGES, this is an absolutely insane step for a full graphical desktop planned for the future (yes these are all screenshots from subverg) see for changes:
https://sbvrg.github.io/new.html
Credits: https://sbvrg.github.io/credits.html
the new image rendering: https://sbvrg.github.io/pictures.html
r/osdev • u/ArmyFrosty7976 • 3d ago
I ported the LUA to the Dunit OS and now I use it as a complement to the TOML config
Real tiling on blown with LUA
r/osdev • u/TorontoDude12344 • 3d ago
How do I reach the level of knowledge, where I can point to any part of my screen and say "Oh, I know how that's implemented"?
I know programming, obviously, however I don't know much about the operating system. Most people can make apps within an environment, but most of us don't know anything beyond that
I want to deeply understand how the computer I'm using works, even just the software part
If you go on a virtual tour of your computer, like browsing the file system, or even looking at the plain old desktop, there's so many endless things in front of you, that most people have no idea how to make
How do I make a Windows desktop app? Why does it run on Windows? Same for MacOS
How do tab sizes work?
What is the desktop "screen" and why can I click and drag my mouse to highlight the icons? Where are those icons stored?
I can code a website, but I don't know a clue about how the browser works
How do I make a file system? I mean, isn't it just a large data structure, and I know data structures, so I'm sure I can learn it
Why does my task bar pop up when I drag my mouse all the way to the bottom of the screen?
What does it mean to turn on a computer?
Why / how does my physical mouse control my cursor? Is there a way I can "hack" my mouse? How do I code the firmware in my mouse?
How does the OS accept and eject USBs?
How do you allow your OS to connect to wifi?
What really is a .txt, .pdf, .rar .zip? Why can some OS's open them, some cannot?
Stuff like that
Can most of you point to any part of the screen and know how it works?
About Bootloader
Ofc, I'm into OSDev. And it's obvious that this is purely for myself, since the final product - an OS kernel - isn't needed by anyone else anyway (which, for the record, I never counted on)
Still, I do want to create something that at least one other person besides me will use, let alone a larger number of people. And, strangely enough, I already have a "draft" for this (if you're too lazy to open the link: it's my bootloader for the x86_64 architecture). However, I'm not sure it'll work, which is exactly why I'm writing this post - to get some advice
Basically, could a simple yet functional bootloader be useful to a few hobbyist low-level devs? One that supports a bunch of protocols but still remains quite simple and lightweight. Or is this niche completely taken over by Limine and GRUB, making it pointless to steer the project in this direction?
r/osdev • u/DragonTop3 • 2d ago
Hello everyone!
I’ve continued developing FLOS, my OS written entirely from scratch — no AI, no third-party libraries.
What’s new
- SHA-256, RNG, and math functions — probably the coolest part so far. Screenshots below.
- RSA file signing — groundwork for future threat protection. I’ll share more once it’s fully ready.
- TLS — I’ve started working on it, but it’s not functioning properly yet.
- VFS + system-protected folders — added a virtual file system and protected system directories.
- Russian language support — added, though it’s still a bit buggy.
Screenshots






In short, FLOS now includes the SHA-256 algorithm, a random number generator (RNG), mathematical functions, RSA-based file signing, a basic implementation of the TLS protocol, a virtual file system (VFS), protected system folders, and—albeit with a few bugs—a Russian localization; all of this remains entirely written from scratch.
r/osdev • u/letmehaveanameyoudum • 3d ago
Added a heap to WindogeOS, still flat paging though
repo: https://github.com/NoTheIdiot/WindogeOS
finally no more page faults when making programs, oh yeah v0.2.2 but thats not relevant
ignore the elephant in the room
r/osdev • u/Grand-Ear-8639 • 4d ago
Has anyone used their custom OS for a university final project? Looking for experiences and advice!
Enable HLS to view with audio, or disable this notification
Hi everyone. I am currently an undergrad Computer Science student, and I am putting together a proposal to use OS development for my final degree project. I would love to get opinions and advice from anyone in the community, whether you are a hobbyist, a veteran, or someone who has taken a similar academic route.
For context, I have been building a custom 64-bit kernel in C++ and *a little* Assembly, but mostly Limine doing the abstraction for the bootloader. It currently has a shell (a previous project I integrated in), working compositor, basic window management, and double buffering. To fit the academic requirements of a final project, I am trying to narrow down a specific research or engineering angle. I have two main ideas right now:
- Rust vs. C++ in OS Development (Speed & Safety) I have recently fallen in love with Rust and its memory safety guarantees. This angle would involve porting core components of my C++ kernel to Rust and evaluating the two languages side-by-side. The focus would be on development velocity, memory safety outcomes, and the friction of implementing low-level systems in both environments.
- A Predictable Memory Admission Architecture Alternatively, I am considering focusing the project on the policy side of memory management. The core idea is an OS where applications declare hard, page-granular memory budgets upfront. Instead of relying on reactive termination when RAM gets full, the OS would use strict admission control to guarantee that admitted apps always fit. This would explore arbitrary minimum granularity for apps rather than rigid tiers, ensuring strict system predictability.
I would really appreciate your thoughts on a few things:
- Which of these two angles (language comparison vs. memory architecture) feels like a better scope for a university project?
- For those who have tackled OS dev in an academic setting, what were the biggest pitfalls in defining your project scope?
- General thoughts or advice on shaping a hobby kernel into a gradable thesis?
For further context, I'm actually neurodivergent (predominantly inattentive ADHD), so I tried getting into a boring project earlier but failed. As such, I'm looking for something that'll keep me steady like the kernel did...
Link to my kernel project: https://github.com/Powerisinschool/swish_kernel/
Thanks in advance!

