Experimental free and open-source PlayStation 4 kernel
Go to file
2024-08-23 19:18:04 +02:00
.github Produces PIE kernel for AArch64 (#929) 2024-08-15 21:09:41 +02:00
.vscode Uses cbindgen to generate core binding (#893) 2024-07-21 12:18:19 +02:00
cmake Uses Ninja to build on Windows (#785) 2024-03-31 19:33:46 +07:00
src Enables MMU and set PC to kernel entry point (#945) 2024-08-23 19:18:04 +02:00
.clangd Moves to clangd (#756) 2024-03-23 20:02:54 +07:00
.gitignore Moves to clangd (#756) 2024-03-23 20:02:54 +07:00
.obliteration-development Extracts kernel into a separated process 2022-10-06 21:49:39 +07:00
CMakeLists.txt Removes LLVM (#743) 2024-03-16 20:01:57 +01:00
CMakePresets.json Uses Ninja to build on Windows (#785) 2024-03-31 19:33:46 +07:00
COPYING Adds uplift 2022-10-11 10:40:12 +07:00
entitlements.plist Enables com.apple.security.hypervisor on macOS (#737) 2024-03-10 17:39:56 +07:00
flatpak.yml Initializes kernel-mode kernel (#889) 2024-07-14 14:13:36 +02:00
logo.png Reset logo. 2022-11-04 07:57:31 -04:00
README.md Initializes Vulkan Instance (#927) 2024-08-13 20:27:11 +02:00
screenshots.png Moves symbol resolver into a dedicated struct (#303) 2023-08-16 18:42:14 +00:00

Logo

About

CI Discord

Obliteration is an experimental PS4 emulator for Windows, Linux and macOS. The project is under development and cannot run any games yet. The reason it take so long is because we decided to go with the correct path without stubbing as much as possible.

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. How Obliteration work is totally different from Kyty because we decided to go with the same path as Uplift (and Spine?) instead of Kyty. This is the reason why Obliteration required firmware files from the PS4 in order to work while Kyty does not.

Get a daily build

You can download binaries from the latest commits here. You MUST sign in to GitHub otherwise you will not be able to download files.

Screenshots

Screenshots

Thanks to VocalFan for the awesome icon!

Obliteration discussion

We have a Discord server for discussion about Obliteration and its development. You can join the server here.

Features

  • Cross-platform with native binary for each platform.
  • Built-in FTP client to pull the decrypted firmware from jailbroken PS4.
  • Built-in PKG file supports for Fake PKG.
  • Game library.
  • Emulate system calls instead of user-space libraries.

System requirements

  • Windows 10, Linux or macOS 11+.
    • On Windows and Linux make sure you have Vulkan 1.3 installed. If you encountered Failed to initialize Vulkan (-9) that mean you don't have a Vulkan installed.
  • x86-64 CPU. We want to support non-x86 but currently we don't have any developers who are willing to work on this.
  • CPU with hardware virtualization supports.
    • Windows and Linux users may need to enable this feature on the BIOS/UEFI settings.
  • A PS4 with system software version 11.00 for firmware dumping.

Windows-specific requirements

Linux-specific requirements

Obliteration supports only 4KB/8KB/16KB pages. Most people should not have any problem with this because 4KB is the default for most distros. A PR to support other page size is welcome.

Building and Development

Information on building Obliteration and preparing to be a developer can be found on our Wiki.

License

  • src/ansi_escape.hpp, src/ansi_escape.cpp, src/log_formatter.hpp and src/log_formatter.cpp are licensed under GPL-3.0 only.
  • src/param, src/pfs and src/pkg are licensed under LGPL-3.0 license.
  • All other source code is licensed under MIT license.
  • All release binaries are under GPL-3.0 license.

UI Icons

We use icons from https://materialdesignicons.com for UI (e.g. on the menu and toolbar).