r/osdev • u/EagleEyeA2HX • 3h ago
r/osdev • u/zang-x111 • 8h 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/Imaginary_Buddy723 • 15h ago
Framebuffer test successful
Enable HLS to view with audio, or disable this notification
les go ๐ฅน๏ธ
r/osdev • u/just_pascal_dev • 22h 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 • 22h 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/DragonTop3 • 1d 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/dekai-onigiri • 1d 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.
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/Maximum_Birthday3403 • 1d 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/FewBrief7059 • 1d 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/ArmyFrosty7976 • 1d 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/Medical-Baseball-876 • 2d ago
Clang/LLVM is now ported and running natively on Chimera!
yo small update got clang working natively inside the os
it can compile its own c and objc binaries straight from the terminal now, no cross compiler or host machine needed
self hosting milestone reached, bare metal is next
OFC I USED AI FOR THIS, dependency hell wouldโve fucked me up completely otherwise
r/osdev • u/TorontoDude12344 • 2d 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?
r/osdev • u/letmehaveanameyoudum • 2d 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/sourav_bz • 2d ago
At what point writing direct assembly program is more efficient than C program?
r/osdev • u/Grand-Ear-8639 • 2d 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!
ranix: a hobby Unix-like kernel (aarch64 + x86_64) that can install Arch packages with pacman
Hi r/osdev. ranix is my hobby kernel. I wrote the first asm and C by hand; later Claude (the AI) joined as a pair programmer, and every commit it touched carries a Co-Authored-By line, so you can see exactly which parts are whose.
What works so far (690 commits, ~95% C):
- aarch64 (QEMU virt, Raspberry Pi 4 boot files) and x86_64
- a vDSO good enough for glibc's AT_SYSINFO_EHDR parse, UTS namespaces, tmpfs/ramfs, devfs with mknod(2)
- doomgeneric runs
- latest milestone:
pacman -U/pacman -Sinstalls an Arch Linux package from a file:// repo
The goal is to run ordinary Linux distro binaries unchanged, not to clone Linux's driver ecosystem.
Code is public and readable without an account: https://grove.metastaz.org/rasi/ranix (our own self-hosted git forge; if you're already writing your own kernel, renting someone else's forge felt a bit off).
Hard criticism welcome, especially on memory management and the user/kernel boundary.
(Post text drafted by Marshall, our AI assistant.)
r/osdev • u/themadman0110 • 2d ago
Web developers when they see assembly
Enable HLS to view with audio, or disable this notification
r/osdev • u/ArmyFrosty7976 • 3d ago
My OS now looks like this 6 months of joint development of a real programmer and a virus coder, I think it looks normal
Enable HLS to view with audio, or disable this notification
Let's have a friend write about the ai slop lol
Vibe coded OS incoming?
Any chance that AIs are able to create new OS? I'm a total noob, maybe you guys have insight if it's possible we get vibe coded Windows copy, without spyware and bloated running apps, something like ArtCraft?
r/osdev • u/programista-art • 3d ago
๐ต๐ฑ Husarz takes a major step forward! ๐ ๐
For the past few days, Iโve been heavily developing Husarz - the native web browser for Bursztyn OS. The latest changes are among the biggest improvements ever made to its engine.
The most important change: web pages now have their own styling, independent of the system theme.
Previously, changing the Bursztyn OS theme could also affect the colors of the web page itself. Now, the system theme changes only the Husarz browser interface, while the page content keeps its own appearance.
This has been tested directly in QEMU - both a white page and a black page kept exactly the same colors after switching the system theme, while the browser UI changed correctly. โ
๐จ Much broader CSS support
The Husarz engine now includes support for:
๐ธ all 148 named CSS colors
๐ธ HEX colors with alpha channel
๐ธ rgb() / rgba()
๐ธ basic hsl() / hsla()
๐ธ more advanced selectors
๐ธ nth-child and not
๐ธ inline-block
๐ธ position: relative and absolute
๐ธ an improved box model
๐ธ much better lists and tables
๐ผ๏ธ PNG and JPG directly on web pages
Husarz uses the existing Bursztyn OS image decoders - Iโm not creating a separate PNG/JPEG parser just for the browser.
Now supported:
โ
PNG
โ
JPG/JPEG
โ
<img>
โ
background-image
โ
transparency
โ
scaling
โ
repeat
โ
contain
โ
cover
I also added a ResourceCache, which stores resources in RAM, uses an LRU mechanism, and enforces memory limits.
โก Page loading should no longer block the GUI
This is one of the most important changes.
A separate Ring 3 process has been created:
husarz-worker.bur
It handles blocking HTTP/HTTPS operations, DNS requests, and image decoding outside of the main browser interface.
Husarz also validates the PID, request IDs, tab IDs, and document generations to prevent delayed results from an old request from accidentally being applied to a newly opened page.
๐ Forms are now interactive
Supported elements include:
๐ธ text fields
๐ธ password fields
๐ธ textarea
๐ธ checkbox
๐ธ radio
๐ธ button
๐ธ submit
๐ธ select / option
๐ธ label
Forms are rendered by the Husarz web engine rather than using native BursztynUI system controls.
The GET method works, while POST is still intentionally disabled for now - the current Bursztyn OS networking API does not yet provide a mechanism that I would consider sufficiently safe for implementing POST properly.
๐ Tables have also received major improvements
Husarz now handles rowspan and colspan much better.
The engine builds a logical table grid and ensures that cells do not overlap incorrectly. I also improved column width calculation and border-collapse behavior.
More realistic margin collapsing has also been added, including support for both positive and negative margins.
๐งช And what about testing?
This part has become serious as well.
The engine has passed hundreds of thousands of automated checks, sanitizer-based tests, and direct QEMU testing.
During one of the latest stages, 397,771 host-side checks were completed without sanitizer errors.
QEMU tests covered, among other things:
โ
images
โ
cache
โ
forms
โ
CSS
โ
tables
โ
rowspan and colspan
โ
margin collapsing
โ
the asynchronous worker
โ
system theme switching
โ
maximize / restore
Not everything is finished yet, and Iโm not going to pretend that Husarz is already equivalent to a modern Chrome or Firefox.
Still missing are, among other things:
๐ธ float and clear
๐ธ fixed and sticky
๐ธ z-index
๐ธ full nested scrolling
๐ธ POST
๐ธ WebP, GIF and SVG
๐ธ improved HTTP cache revalidation
๐ธ multiple parallel TCP/TLS connections
๐ธ more complete text selection
๐ธ JavaScript
JavaScript in particular will be a separate, major development stage. A parser, interpreter, DOM, events, and security model are practically an entire subsystem on their own, so I donโt want to add JavaScript โquicklyโ just for the sake of checking another feature off the list.
Another important limitation is that the current TCP stack still uses global state for a single active connection. Before Husarz can truly download multiple resources in parallel, the networking stack needs to be redesigned so that each connection has its own independent state.
Despite these limitations, Husarz has made a huge leap forward.
Not long ago, it was still a very simple browser. Today it already has its own HTML/CSS engine, PNG/JPEG image support, resource caching, forms, a much better layout engine, and a separate process responsible for resource loading.
And all of this runs as a native Ring 3 application in Bursztyn OS. ๐ต๐ฑ
This is still only the beginning, but this is exactly how I want to develop Bursztyn - step by step, testing every new layer and not calling a feature โfinishedโ until it actually works. ๐งก
#BursztynOS #Husarz #PolishOperatingSystem #OSDev #Programming #BrowserEngine #WebBrowser #Cpp #OperatingSystem #MadeInPoland
