Archived
1
6
Fork
You've already forked MonkeOS
0
a monolithic hobby hybrid OS https://coopscorp.codeberg.page/
This repository has been archived on 2026年04月17日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 52.4%
  • C 46.4%
  • Lua 1%
  • Assembly 0.1%
Find a file
2026年04月17日 21:16:16 +02:00
.cargo made the DE more stable and made doomgeneric run better 2026年03月14日 03:08:11 +02:00
apps [minor] settings: include background app counts 2026年04月11日 16:30:37 +02:00
appui [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
arch [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
bin [minor] mkfetch: show the focused surface 2026年04月11日 16:30:01 +02:00
boot [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
bootloader [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
champanzee [minor] champanzee: fix raw-string quoting in style mutation test 2026年04月10日 06:23:45 +02:00
console [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
crates [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
cshim [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
demoassets [Moderate]: changed DE/UI to more dynamic layout and added options to change ui scaling naitvely. added a stand alone application for changing the OS wallpaper. fixed halting/panic issues in some platforms. better loading for desktop icons 2026年04月02日 14:52:07 +02:00
docs [minor] docs: note the exported runtime state files 2026年04月11日 16:30:56 +02:00
doomgeneric [Moderate]: changed DE/UI to more dynamic layout and added options to change ui scaling naitvely. added a stand alone application for changing the OS wallpaper. fixed halting/panic issues in some platforms. better loading for desktop icons 2026年04月02日 14:52:07 +02:00
drivers [Moderate]: patched visual bugs and changed visual themes and fixed peformance issues on specefic platforms 2026年04月09日 01:43:53 +02:00
egl [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
exec [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
games [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
gl [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
graphics [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
interrupts [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
libc [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
memory [Moderate]: changed DE/UI to more dynamic layout and added options to change ui scaling naitvely. added a stand alone application for changing the OS wallpaper. fixed halting/panic issues in some platforms. better loading for desktop icons 2026年04月02日 14:52:07 +02:00
monkeos-sdk [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
net [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
ports [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
process [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
procfs [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
runtime [minor] wayland: export recent input logs 2026年04月11日 16:27:46 +02:00
screenies [minor] delete useless screenshots 2026年04月10日 12:44:26 +02:00
smp [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
syscall [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
threads [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
tools [Minor]: patched edition version in mkiso tool to match the repo. updated screenshots and removed stale docs 2026年04月09日 03:13:11 +02:00
ui [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
userspace [Moderate]: patched visual bugs and changed visual themes and fixed peformance issues on specefic platforms 2026年04月09日 01:43:53 +02:00
vfs [Moderate]: changed DE/UI to more dynamic layout and added options to change ui scaling naitvely. added a stand alone application for changing the OS wallpaper. fixed halting/panic issues in some platforms. better loading for desktop icons 2026年04月02日 14:52:07 +02:00
workbench [minor] desktop-prefs: label the current wallpaper source type 2026年04月10日 21:48:14 +02:00
.gitignore [Moderate]: fixed layout bugs and implemented installer application to give the ability to install the operating system permenantly. 2026年03月27日 02:51:48 +02:00
.gitmodules [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
build-monkeos-iso.ps1 stability: harden interrupt, userspace, and network init paths and fixed layout and redisigned taskmanager 2026年03月22日 19:48:51 +02:00
build-monkeos-iso.sh switched to NTP (no third party's) , added ttf rendering. made a display manager. removed splash screen. improved peformance of windowed applications. 2026年03月21日 07:01:33 +02:00
build.rs [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
Cargo.lock [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
Cargo.toml [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
code_of_conduct.md [Major]: bumped OS to version 1.4.7. ported lua. changed shell asthetic and expanded cshims 2026年03月26日 06:18:56 +02:00
CONTRIBUTE.md [Major]: bumped OS to version 1.4.7. ported lua. changed shell asthetic and expanded cshims 2026年03月26日 06:18:56 +02:00
kalloc.rs [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
LICENSE another Os rewrite + changed windows manager and expanded virtio support 2026年03月11日 06:41:54 +02:00
linker.ld [Moderate]: changed DE/UI to more dynamic layout and added options to change ui scaling naitvely. added a stand alone application for changing the OS wallpaper. fixed halting/panic issues in some platforms. better loading for desktop icons 2026年04月02日 14:52:07 +02:00
main.rs [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00
README.md [major]: discontinued 2026年04月17日 21:16:16 +02:00
rust-toolchain.toml fixed .cargo to target both windows and linux :) 2026年03月13日 09:20:30 +02:00
svg_render.rs [Major]: release 1.5.0 . changed repo layout. implemented better paging and MMU backend 2026年04月01日 22:16:19 +02:00
version.rs [Major]: Port the upstream Wayland stack into MonkeOS and wire it into the active 2026年04月08日 19:09:36 +02:00

MonkeOS logo

MonkeOS

MonkeOS is an experimental x86_64 operating system written mostly in Rust, built around a no_std kernel.

It started as a project to test ideas and push my limits, and it slowly turned into a full system with its own runtime, desktop, and tooling. Everything lives in this repo: boot, kernel, drivers, filesystem, desktop, apps, ports, and ISO build system.

Current version: 1.6.0

MonkeOS is not Linux-based. Some compatibility exists where it makes sense, but the goal is still to build a standalone OS with its own identity.

Note

MonkeOS is discontinued. due to maintainance pressure and fundemental issues with its development and architecture . i have decided that it will be archived. this still remains a project that i made for learning !. and i will make sure to improve from this experience

  • David Dull

MonkeOS screenshot


What it does

MonkeOS boots through GRUB, initializes the kernel, mounts its filesystem, shows a text login, and then switches into a graphical desktop session.

Right now it includes:

  • a full login → desktop flow
  • a custom desktop environment and windows manager (MoonLand)
  • an integrated Wayland stack
  • a shell-driven workflow
  • native apps + Lua-based GUI apps
  • a custom filesystem (MonkeFS) through a VFS layer
  • TinyCC and Lua built into the system
  • basic networking and services like httpd

Desktop & Wayland

The desktop is fully in-tree and designed specifically for MonkeOS.

You get:

  • movable, resizable windows
  • terminal sessions
  • notifications and basic UI components
  • bundled apps like Files, Settings, Task Manager, Doom, etc.

Wayland support is real and based on upstream components:

  • libwayland
  • wayland-protocols
  • libinput
  • libxkbcommon
  • pixman
  • wlroots

To make that work, the OS implements things like:

  • UNIX sockets
  • epoll / eventfd / timerfd
  • SCM_RIGHTS

It’s not perfect yet, but it’s no longer a mock or stub. It actually runs.


FAQ

  • is MonkeOS linux based

    no. MonkeOS is not associated with linux. no linux code was used or even referenced in the codebase. MonkeOS is completely from scratch and independent from any other infostructures as such

  • does MonkeOS apply age verification that's required for it to be legally allowed to be distributed in some states ?

    recently a new law in some states such as California (AB 1043) that requires systems to add age verification. MonkeOS is against that idea. and everyone anywhere has rights to use it. even if it meant distribution problems in specific states in brazil and america such as california.

  • why pronounce MonkeOS as a Hybrid OS

    MonkeOS is pronounced as a Hybrid OS because it mixes different concepts from different ideologies and os family's. it might be compatible with unix while being posix compliant to a limit in the same time. that's what hybrid means in current context.

  • Is MonkeOS security focused ?

    MonkeOS is not security focused. it does support cryptography to a limit and some actions encryption and decryption but MonkeOS is focused on user facing practical usability then focusing on security. security will come next once MonkeOS is ready for it.

  • was MonkeOS developed using any assistance or agentic tools ?

    MonkeOS is a handwritten project that was made to test limits of what's possible for an os developed in rust. since it serves the purpose of plainly being a research/experimental project more than something focused on production level usability . MonkeOS is serious about purity and correctness over shortcuts that will later cause trouble for the maintainers.

  • why does MonkeOS focus on porting other software and infostructures?

    because MonkeOS is focusing on being compatibility os. it aims to run real life reliable infostructures while maintaining same speed of development and to also avoid painful parts.

  • when was MonkeOS developed and who is the original author & why was it made in the realistic sense

    MonkeOS development started in 2025 - 4 - 7. although MonkeOS is multi maintained. the original author and lead maintainer is David Bascks Dull (aka coops). MonkeOS was developed under a simple phillosophy and ideology. practical usability while maintaining fast progress and correctness through monolithic designs over slow academic designs and common micro kernel designs in the hobby space.

  • what extent did MonkeOS reach near daily usability compared to other hobby oses

    MonkeOS focuses on as much practical usage and fast progress with momentum. not full usability but practical enough to be tolerated. compared to other hobby oses MonkeOS strengths are it's monolithic practical design. it's focus over compatibility for infostructures that pushes it further into real world usability. and while balancing between being tightly coupled and ridiculously loosened.


Kernel & core systems

Under the hood, MonkeOS currently has:

  • GRUB + Multiboot2 boot
  • framebuffer console + serial logging
  • memory management and virtual memory
  • process and thread tracking
  • a timer-based scheduler
  • VFS with MonkeFS and /proc
  • early networking support

What works

At this point, the system is actually usable for testing and development.

  • boots reliably
  • reaches desktop
  • runs apps in windows
  • shell works
  • filesystem works
  • Lua scripting works
  • TinyCC works
  • Wayland stack is integrated

What doesn’t (yet)

Let’s not pretend it’s finished.

  • graphics are still mostly software-rendered
  • QEMU is the main environment
  • hardware support is limited
  • POSIX/Linux compatibility is partial
  • ELF support is good enough for targeted ports, not everything
  • Wayland works, but not all apps will run
  • audio needs more work outside QEMU

This is still an experimental OS, not something you daily drive.


Build

Initialize submodules:

git submodule update --init --recursive