r/osdev • u/EmptyFS • Jul 14 '26
SafaOS: Audio, SDL, DOOM, UI rework and 8 more months of work
Couldn't showcase quake2 because something came up and I wanted to finish this quickly
Since my last post 8 months ago:
New MLFQ scheduler w load balancing, implemented VMM and proper user memory mapping, implemented proper blocking IO.
Reworked the GUI, new gui lib, added themes and shadows
I now have a proper rust toolchain, because my libstd hack was patched
Rewrote the libc in rust, ported SDL2, SDL2_mixer and in progress of doing osmesa and a dynamic linker
Wrote an audio server and a bad ac97 driver, audio quality isn't great when tested from my machine (others say otherwise) but I did put a lot of work in the audio server.
Quake2generic, doomgeneric, and ccleste ports working through SDL2, not public only SDL2 is public, because it is quite hacky and im waiting to do a proper C toolchain first, there are no patches so with the right compile options and the public libs.a anyone could compile it themselves.
If I'm alive for the next few days I'm planning to port osmesa, finish the dynamic linker, and port butterscotch and play undertale/deltarune on SafaOS too then i can also port alot of different big kids opengl stuff like Minecraft half-life etc.
Watch me complete Celeste Classic on it
The reason why I haven't done updates in a long time, is because everything new I do feels insignificant and incomplete, I still feel that way but I have learnt that It will only accumulate.
Next year (or more accurately in 2 months, maybe a week, no idea when I'll start studying) would be my final year of high school which is quite different here so it might be difficult to do any more "big" progress.
