src | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
ableos-qemu.png | ||
Cargo.lock | ||
Cargo.toml | ||
fakern.png | ||
LICENSE | ||
README.md | ||
TODO.md |
fakern
for emulating ableos userspace without qemu.
created to allow for quick design and testing of user programs.
also a proof-of-concept demonstrating the portability of ableos' design.
it's also much faster than ableos on qemu!
currently supports:
- all ableos ecalls, except:
- x86 port io
- x86 interrupt awaiting
due to not emulating an x86 system
- mouse and keyboard input (emulating PS/2 userspace buffers)
- rendering
- logging
- (NOT) spawning/forking processes (because it is broken...)
- buffer awaiting
- all (most) existing ableos userspace programs
drawbacks:
- userspace drivers are implemented directly in fakern, so adding additional ones is hard.
- may not exactly follow ableos behaviour.
- cursed unsafe rust
usage guide:
cargo run --features=[wayland/x11] --release /path/to/sysdata
i.e
cargo run --features=wayland --release ../ableos/sysdata
fakern | ableos (qemu) |
---|---|
![]() |
![]() |
as you can see | they are are basically identical |