Experimental PS4 emulator written in Rust for Windows, macOS and Linux
Go to file
SuchAFuriousDeath 4bbb9d1c8a
Gets vcpu mmap size, refactors kvm and vm (#856)
Co-authored-by: tompro <tomas.prochazka@apertia.cz>
2024-04-29 00:07:04 +07:00
.github Uses Ninja to build on Windows (#785) 2024-03-31 19:33:46 +07:00
.vscode Removes VFileType (#853) 2024-04-21 19:09:37 +07:00
cmake Uses Ninja to build on Windows (#785) 2024-03-31 19:33:46 +07:00
src Gets vcpu mmap size, refactors kvm and vm (#856) 2024-04-29 00:07:04 +07: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
README.md Point Readme to Wiki for building steps. (#834) 2024-04-15 13:26:23 -04:00
entitlements.plist Enables com.apple.security.hypervisor on macOS (#737) 2024-03-10 17:39:56 +07:00
flatpak.yml Removes LLVM (#743) 2024-03-16 20:01:57 +01:00
logo.png Reset logo. 2022-11-04 07:57:31 -04:00
screenshots.png Moves symbol resolver into a dedicated struct (#303) 2023-08-16 18:42:14 +00:00

README.md

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+.
  • 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 jailbroken PS4 with FTP server that supports SELF decryption.

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.

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).