When a new console generation get's released, there is always the question sooner or later: "Can I emulate it on my PC?"
While one side tries to emulate older Classic Titles on newer consoles - like running PS2 Game Titles on the PS4 - then there are also other people who tries to run newer Game Titles on the PC. And since we speak already about the PS4, maybe we should have a look what those other people are trying to achieve about PS4 Emulation on PC.
Well-known developer AlexAltea is one of those other people mentioned who tries exactly right that with his - as he calls it - "Virtualization-based PlayStation 4 Emulator", named Orbital.
Althought it's in his early stages and emulating a console on a PC was never a easy task in general, this project could be a step in the right direction which looks promising, not only because the PS4 is based on a (modified) x86 architecture as well. And while the latest hacks and exploits for the PS4 gives the developers the opportunity to understand how this console actually works, maybe this could be a chance for programming a working emulator, which would mean that both sides can profit from this project.
While one side tries to emulate older Classic Titles on newer consoles - like running PS2 Game Titles on the PS4 - then there are also other people who tries to run newer Game Titles on the PC. And since we speak already about the PS4, maybe we should have a look what those other people are trying to achieve about PS4 Emulation on PC.
Well-known developer AlexAltea is one of those other people mentioned who tries exactly right that with his - as he calls it - "Virtualization-based PlayStation 4 Emulator", named Orbital.
Althought it's in his early stages and emulating a console on a PC was never a easy task in general, this project could be a step in the right direction which looks promising, not only because the PS4 is based on a (modified) x86 architecture as well. And while the latest hacks and exploits for the PS4 gives the developers the opportunity to understand how this console actually works, maybe this could be a chance for programming a working emulator, which would mean that both sides can profit from this project.
-
Orbital is a low-level virtualization-based PlayStation 4 emulator for Windows and Linux. In other words, it's goal is allowing the entire PlayStation 4 software stack to run on your PC. This is an open-source project, and so any resources/findings are shared straight back with the rest of the community of PS4 developers.
While both the PS4 and computers share the same CPU architecture, it doesn't mean this project is easy. Reverse engineering the kernel and system modules, understanding hardware and reimplementing it focusing on high-performance in a system as complex as the PS4 is an arduous task. Your support will make a difference.
The current perks are somewhat limited but will be improved as the emulator progresses. Feel free to join our Discord server to discuss emulation in general, following the development of Orbital, and getting the latest news about this project.
Disclaimer: This project is in early stages, don't expect to boot the entire system, let alone games. This campaign is aimed at funding the development of this emulator. -
The current state of Orbital at booting decrypted kernels can be followed in the issue tracker: both PS4 4.55 and PS4 5.00 have been tested. You can also get ocasional updates and news via Twitter. Support this project at Patreon.
Future plans for the emulator can be found at the Roadmap page. -
How does Orbital work without having SAMU keys?
Until keys are dumped, decryption with SAMU will be "emulated" by hashing encrypted input blobs and returning decrypted blobs previously obtained from the actual console.
My kernel dump crashes shortly after booting. Why?
Kernel ELFs generated from memory dumps will not work since writable segments might have been modified into a state where booting is not possible. Please generate proper binaries offline by decrypting ELF segments with SAMU on your actual console, not by dumping memory.
Where can I get Orbital?
This project is not ready for end users. No binaries are provided, so you must build each of the three components (BIOS, GRUB, QEMU) yourself. Furthermore, configuring the emulator to do something will be hard, as you will need to dump and decrypt the entire PS4 filesystem and sflash, including the kernel. You might find hints on how to do this in the few scattered .sh files in this repo. Of course, in the future, I'll make this emulator more user-friendly. -
- OS: Windows, Linux.
- Processor: x86-64 CPU with AVX/AVX2 extensions.
- Memory: 16 GB RAM.
- Graphics: TBD.
-
The following points refer to tests done with the PS4 5.00 kernel on Orbital.
-
Implemented bootloader.
-
Kernel debugging with symbols [1].
-
Successful kernel initialization on hammer_time
-
Emulating Aeolia's UART device (partial).
-
Successful driver initialization.
-
Adding Vulkan support to QEMU.
-
Implemented SFlash access (read-only).
-
Implemented Liverpool GC/Starsha.
- Implemented IH ringbuffer.
- Implemented Command Processor.
- Processing SAMU commands.
- Vulkan backend for GFX engine.
-
High-Level Emulation.
- SBL ACMgr (0/? completed).
- SBL AuthMgr (1/5 completed).
-
Added PS4 HDD creation tool.
- ...
-
Implemented bootloader.
As the title suggests, this Emulator is still in it's early stages. Please don't expect that this will run PS4 Game Titles so quickly. As AlexAltea suggested already, the first goal(s) are to understand the hardware and to run the PS4's System Software on your PC. And even when Sony make developing Games easier for the PS4 compared to the PS3 and it's (complicated) CELL B.E. processor architecture, it doesn't mean that emulating the PS4 won't be easier. In fact, speaking of the GPU side of the PS4's APU, there is no official documentation, since AMD provided a custom Graphics Processing Unit for Sony. So you can imagine that there is still many hard work needed and how many tasks you need to Reverse Engineering.
But is it a worth to try? Of course it is. Not only because the CPU is based on x86-Architecture, many x86-Instructions are documented and official available for everyone to read and to investigate. Since other Developers showed already that the PS4 sometimes resembles a PC in several tasks (but sometimes it won't) and while it showed that the PS4 itself was able to successfully emulate older PS2 Game Titles and even Steam OS, this project could lead into a bright future similar to other well-known ventures like PSCX2 for emulating PS2 Game Titles on the PC or RPCS3 for PS3 Game Titles on the same platform.
If you got interested into this project and want to know more about it, but also want to fund the development of this emulator:
Github --> https://github.com/AlexAltea/orbital
Patreon --> https://www.patreon.com/AlexAltea
Twitter --> https://twitter.com/AlexAltea/
Discord --> https://discord.me/OrbitalEmu
Last edited: