Obliteration is a free and open-source PlayStation 4 kernel rewritten in Rust. Our goal is not running on the PlayStation 4 but to run the dumped PlayStation 4 system software on Windows, Linux and macOS using a custom made virtualization stack optimized specifically for Obliteration.
This project started as a hard-fork from Kyty. Then we decided to rewrite the whole project from scratch by using Kyty and Uplift as a reference to help us getting started with the project.
Our ultimate goal is to become a permissive free and open-source operating system optimized for gaming that can run on a variety of hardware. The reason we want to built this because:
- Windows is bloated and Microsoft keep pushing too many things into it.
- Linux is a nightmare for beginners. Its license also making it not an ideal choice for a proprietary hardware.
- macOS has a limited set of hardware and its price too expensive. You can get a PC with high-end graphic card at the same price.
- FreeBSD and the others was not designed for gaming. Their goal are either a server or a general desktop.
So we want to take this opportunity to go beyond a PlayStation 4 emulator since we already building an operating system kernel.
The project logo and icon was designed by VocalFan.
Currently we cannot run any games yet. What we have is a working 64-bit kernel and the VMM to run it. The kernel has been successfully setup GDT, TSS, IDT and syscall instruction. Right now we are working on UMA system. Once this finished we will start migrating code from our legacy user-mode kernel then execute mini-syscore.elf
.
The reason it take so long is because we try to implement the kernel without stubbing as much as possible.
- Cross-platform with native binary for each platform.
- On-demand memory allocation instead of pre-allocated 8 GB at startup.
- Near-native performance by using Windows Hypervisor Platform, KVM or Hypervisor Framework directly with custom made virtual devices for optimized MMIO.
- Kernel behavior is near-identical to the PlayStation 4 kernel. Although we can't run any game yet but we believe the choice we made here will allows us to have very high compatibility.
Please note that we cannot run any games yet as stated on the above. But if you want to try or help on testing you can download binaries from the latest commits here. You MUST sign in to GitHub otherwise you will not be able to download files.
Our developers are using Linux so Windows and macOS users may encountered some unimplemented functions. A PR to implement those functions is welcome or you can report an issue if you would like to be a tester so we can try implement it for you to test.
Information related to Obliteration development and building from source can be found on our developer documentation.
We use icons from https://materialdesignicons.com for UI.
All source code are licensed under either MIT License or Apache License, Version 2.0; or both.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Obliteration by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Note that we can't accept any code from the other PlayStation 4 emulators if they are licensed under other license than MIT or Apache-2.0 unless you are the author of that code.