Difference between pages "PlayStation 4 emulators" and "Talk:PlayStation 4 emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
m
 
 
Line 1: Line 1:
{{Infobox console
+
The PS4's GPU is not secretive. In fact there are info on it from AMD themselves, specifically the Southern Islands architecture for the 7xxx series Radeon GPUs that would be almost exact like PS4's. There a team that works on this on GitHub but they have a long ways to go before its properly emulater
|title = PlayStation 4
+
:Uh. If you think information on the page is less accurate than it could be, add to it. No need to ask whether that's okay. [[User:Murrigan|Murrigan]] ([[User talk:Murrigan|talk]]) 19:04, 31 January 2015 (EST)
|logo = PS4.png
 
|developer = [[:Sony]]
 
|type = [[:Category:Home consoles|Home video game console]]
 
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
 
|release = 2013
 
|predecessor = [[PlayStation 3 emulators|PlayStation 3]]
 
|successor = [[PlayStation 5]]
 
|emulated = {{~}}
 
}}
 
The '''PlayStation 4''' (PS4) is an eighth-generation console produced by Sony Computer Entertainment on November 15, 2013 and retailed for {{Inflation|USD|399.99|2013}}. It has a semi-custom 8-core AMD x86-64 Jaguar CPU at 1.6 GHz, whereas one of the cores is utilised separately only for low-power, background tasks. The CPU is shared on an APU chip with a semi-custom AMD GCN Radeon GPU. They are supported by 8 GB of GDDR5 RAM at 2.75 GHz, while 256 MB of DDR3 RAM is used only for background tasks. Notably, it is the first PlayStation console to use the [[wikipedia:x86|x86]] architecture, making it easier to program for than the [[PlayStation 3 emulators|PlayStation 3]] while also having the same architecture as PCs.
 
  
==Emulators==
+
== Why does x86 architecture even need to be emulated on PCs which are already x86 to begin with? ==
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
! colspan="10"|PC / x86
 
|-
 
|[https://github.com/devofspine/spinedemo Spine]
 
|align=left|{{Icon|Linux}}
 
|[https://twitter.com/notzecoxao/status/1436397396154626048 2021-09-10]
 
|{{✗}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
|[[Orbital]]
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://github.com/AlexAltea/orbital git]
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
|GPCS4
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/Inori/GPCS4 git]
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|PS4Delta
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/Force67/ps4delta git]
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|RPCS4
 
|align=left|{{Icon|Linux}}
 
|[https://github.com/RPCS4/rpcs4 git]
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
! colspan="10"|Console
 
|-
 
|PlayStation 5
 
|align=left|{{Icon|PS5}}
 
|Patch based
 
|{{✗}}
 
|{{✓}}
 
|{{✓}}
 
|}
 
  
===Comparisons===
+
I get that the x86 architecture is huge so even though it is well documented it would be difficult to emulate, but since PCs are already x86 anyway, why is there even a need to? Shouldn't all that needs to be emulated is the Orbis OS or whatever? And the Orbis OS is based on FreeBSD which is open source, so it would seem to me that this should be very easy to sort out if people would just approach this the easy way instead of trying to emulate an entire architecture which there is no need to do because PC is already that architecture anyway. And if I'm wrong then please tell me the reason why I'm wrong because I would like to know.
;Spine
 
:A high level emulator that can run 345 games ingame, but no game is "playable".<ref>[https://files.catbox.moe/7nrsdr.pdf Spine Compatibility List] from latest Spine release</ref> In a stark contrast from other closed source emulators, Spine is Linux-exclusive;<ref>[https://www.reddit.com/r/emulation/comments/byohyx/spinedemo_20190609/eqoruje devofspine] on Reddit. "No source code at the moment though I plan to make it open source at some point."</ref> the creator has opted not to release the source code out of caution, although he plans to release it eventually.<ref>[https://www.reddit.com/r/emulation/comments/pkc8oe/spine_ps4_emulator_v20210901_released_with/hc3coog/ devofspine] on Reddit. "I wouldn't mind open sourcing it at some point in time but there are several things that stop me from doing this in the near future: a) there are some parts in the code that are a mess and I wouldn't feel comfortable releasing them for public consumption, b) I enjoy the freedom to develop it in the way I want to, c) I would be a bit afraid of losing control, open source brings with it a risk of forks for example and I wouldn't like to see my work used to do for example a Windows exclusive variant, and d) PS4 is still a current gen console." (Edited)</ref> It uses a [[Wine]]-like approach, and its authenticity was verified by lead Orbital developer AlexAltea.<ref>[https://www.reddit.com/r/emulation/comments/bz4ikp/orbital_a_playstation_4_emulator_that_is/eqq6lxt/ AlexAltea] on Reddit. "I've analyzed the Spine demo in IDA Pro (reverse engineering tool), and everything checks out. It's obviously a very early release, lots of unimplemented parts, but it's real. More importantly, we have tested it locally and it works." Spine is still in active development and as of 2021, the developer claims that Spine is able to launch around 181 games, and around 30 are playable.</ref>
 
  
;[[Orbital]]
+
:I was in the process of rewriting the page before, but I'm just gonna share this early. Fail0verflow discovered [https://fail0verflow.com/blog/2016/console-hacking-2016-postscript/ the "secondary processor" '''is''' the primary system] (and even they are confused as hell about Sony's design). The PS4 is actually an ARM system-on-a-chip that runs its own OS-- Orbis OS-- and forwards games to run directly on the x86 processor, graphics card, and shared memory. That means for proper PS4 emulation, you would need to fake a game's computer ''on top'' of a faked operating system's computer, something even Dolphin has struggled with over the past few years (they've talked extensively on the blog about implementing Starlet at a higher-level). Complicating things even more is the memory. The CPU and GPU share it. On the IBM platform, they're dedicated (VRAM and SDRAM), separate components. [https://www.virtualbox.org/manual/ch10.html#hwvirt This writeup from the VirtualBox team] explains how they handle hardware abstraction on x86, explaining why virtualized software can be almost or just as fast as when it's natively run. Truth is, it could very well be possible to get games going quickly provided all the tools were in place to do that, but most people don't have 8 core CPUs, and it took ten years before PS3 emulation ever got anywhere for all of its own reasons. The system-on-a-chip discovery also explains why video capture and music playback on any game is possible.<br/>-[[User:FosterHaven|FosterHaven]]
:An open-source low-level emulator based on [[QEMU]], Orbital uses existing hypervisors like Intel HAXM to speed up performance. A surprising amount of progress has been made for an emulator of its kind, having to emulate the kernel used by the PS4; It's currently stuck at the console's Safe Mode<ref>https://www.youtube.com/watch?v=IBBHisNM74o</ref> and, thus, can't boot any games yet.
 
  
;GPCS4
+
::Short answer... the x86 architecture is just the CPU. Even then there still are significant differences. The OS is just that, too - PS3 having a Linux OS was irrelevant to how easy it was to emulate. Everything else is custom down to the most basic details, and of course memory management, boot-up sequence, DRM, peripherals, graphical drivers (usually different from desktop PC versions) et caetera.  
:A compatibility layer for the PlayStation 4. Currently, it can show the logos in Nier: Automata and ran its first commercial game called ''We are Doomed'' in February 2020. Appears to be only a side project to test 3D graphics and may or may not become anything serious. Reasons to follow this project are the growing pool of contributors; and that it works on Windows, unlike Spine. The project shows no signs of development for at least a year, and no real progress has occurred thus far, unfortunately.
 
  
;PS4Delta
+
::So the PS4 (or the OG Xbox, or the Xbox One) is NOT just a repackaged PC. Just like the Wii isn't just a Mac just because both have a PowerPC CPU architecture. It is yet another console that has yet to be figured out from scratch. Granted, cases like what you wish for, do exist, like the Ouya, which is just a lazy Android modification, or the Sega Master System and the Game Gear, or apparently Android and iOS (if only Apple wasn't sabotaging those projects and buying off devs), so much that converting games between both works. This isn't one of these cases. [[User:Dipswitch|Dipswitch]] ([[User talk:Dipswitch|talk]]) 05:55, 3 November 2017 (EDT)
:A compatibility layer for the PlayStation 4. It's currently unable to boot any commercial games. Development has stopped and the project is currently archived on Github.
 
  
;RPCS4
+
:::Okay. Thanks for that informative response. Even if it will take a long time, you gotta start somewhere, right? Good to know the first baby steps are being made.
:RPCS4 is a private project being worked on by one of the original developers of [[RPCS3]], DH. Work is being done in private, so there is little public information about it. Accordingly to DH, it currently runs on unix-like OS, and is able to run PS4 games (without graphics) and display errors. <ref>https://www.reddit.com/r/pcgaming/comments/cxx5h3/we_are_team_rpcs3_the_playstation_3_emulator_we/eyoqzes/</ref>  The Github page hasn't been updated and appears to only be there as a placeholder until an actual release (if ever releases).
 
  
==Overview==
+
== CPU emulation ==
===Potential Roadblocks===
+
You would never want to "emulate" the CPU in this case. You'd just use virtualization on an x86 host. That said, you CAN emulate x86. There's nothing more to figure out. QEMU already has code to emulate a modern i7 fully in software if you wanted to. Current PCs aren't fast enough to emulate at full PS4 CPU speed, not even close, but again you would just virtualize it. Therefore, you will have to watch out for emulators claiming to be real. A good example is the [https://guidestorm.com/scam-alert/ps4-emulator/ the fake PCSX4].
Due to the PS4's x86 architecture and FreeBSD-based operating system, emulators for the device will by and large be very unconventional. Despite the x86's instruction set being '''huge'''<ref>{{cite web | url= https://en.wikipedia.org/wiki/x86_instruction_listings | title= x86 instruction listings | Wikipedia}}</ref>, a trait that would typically lead to years of development time by emulators, it opens the ability for pre-existing hypervisors to do the heavy lifting, eliminating the need for a recompiler. There is also, as of writing this, little to no documentation on the GPU (a modified Radeon 7970M with disabled stream processors) used in the PS4's APU, and it will require a complete re-implementation by emulator developers. End-users may wish to preform a preliminary dump of the required files from their PS4 using the [https://phi.nz/orbital/tools/dumper/ Orbital Dumper].
 
  
===PCSX4 & Fake Emulators===
+
The hard part is the rest of the PS4 system.
Because most people don't understand how emulation really works, people try and take advantage by making [[Emulator scams|their own fake emulator]] for malicious purposes.  The PS4 has been the subject of a lot of these scams mainly since it was the "newest" console at the time, the most notable one however was one called '''PCSX4'''.  It's a really clever cover up, the name is similar to "PCSX" and "PCSX2" (both of which are well-known PlayStation emulators) and has a nice looking website similar to other recent emulation projects with the same elements.  What makes it worse is it's one of the first results on Google when searching for "PS4 emulator". If there was really an emulator this early that could play PS4 games in 4K resolution at 60 FPS with little to no issues it would have made a ''huge'' deal.  It's also important to remember that the PS4 supports remote play for PC and mobile so it's ''very'' easy to fake a recording and claim it's an "emulator" running it.
+
:People have assumed that before with emulating the OG Xbox; that didn't work as well as they expected. [[User:Blakegripling ph|Blakegripling ph]] ([[User talk:Blakegripling ph|talk]]) 03:18, 7 October 2018 (EDT)
  
==References==
+
== ADD ONTRONIX AND DCS4 OR WE'LL DESTROY THE VIEW SOURCE BUTTON!!! ==
<references/>
 
  
[[Category:Consoles]]
+
It's advised to add it right frickin now! https://github.com/crohn64/Ontronix-ps4-emulator- https://github.com/abaska/Dcs4
[[Category:Home consoles]]
+
:DCS4 is only a joke program. And I don't know the legitimacy of Ontronix. --[[User:LilShootDawg|LilShootDawg]] ([[User talk:LilShootDawg|talk]]) 11:48, 27 October 2019 (EDT)
[[Category:Very early emulation]]
+
 
[[Category:Sony consoles]]
+
== Change from "two" to "fifty" or we'll kill that view source button!!! ==
[[Category:Eighth-generation video game consoles]]
+
 
[[Category:PlayStation 4 emulators|*]]
+
https://www.reddit.com/r/emulation/comments/fta3ql/spine_still_alive/
 +
 
 +
== About PCSX4 ==
 +
 
 +
It should be clarified somewhere why PCSX4 is not in the comparative because the page of this supposed emulator appears as the first result when searching for "PlayStation 4 emulation" in Google (this page appears in second place), which could confuse those who do not know much about it. As a curiosity, at most PCSX4 is a frontend for PSNow as I was finding out.
 +
 
 +
Regarding the other projects, Spine hasn't published anything for a year and the Reddit post is 6 months old. I don't know if the project is still active, but it could be considered to be stopped until further notice. PS4Delta has no commits since January (if within 6 months it does not have new commits or a release then it could be considered dead) and the rest have not had activity in months either but it is still early to determine their status.--[[Special:Contributions/173.245.54.78|173.245.54.78]] 03:52, 24 October 2020 (UTC)
 +
 
 +
:You could add an overview section and mention PCSX4 in there. The Spine dev posted on Reddit about a month ago about progress being made, most of these projects are not being worked on in public currently. -[[User:Jpx|Jpx]] ([[User talk:Jpx|talk]]) 12:46, 24 October 2020 (UTC)
 +
 
 +
== New Spine version ==
 +
 
 +
A new version has been made available through Twitter, link: https://twitter.com/notzecoxao/status/1436397396154626048
 +
 
 +
== RPCS4 Still Active ==
 +
 
 +
Please mark RPCS4 as active, I can't edit the PS4 page, here's the reference to add if it's necessary, thanks.
 +
https://www.reddit.com/r/emulation/comments/ppffdy/rpcs4_ps4_emulation_preview_of_current_progress/

Revision as of 16:51, 21 September 2021

The PS4's GPU is not secretive. In fact there are info on it from AMD themselves, specifically the Southern Islands architecture for the 7xxx series Radeon GPUs that would be almost exact like PS4's. There a team that works on this on GitHub but they have a long ways to go before its properly emulater

Uh. If you think information on the page is less accurate than it could be, add to it. No need to ask whether that's okay. Murrigan (talk) 19:04, 31 January 2015 (EST)

Why does x86 architecture even need to be emulated on PCs which are already x86 to begin with?

I get that the x86 architecture is huge so even though it is well documented it would be difficult to emulate, but since PCs are already x86 anyway, why is there even a need to? Shouldn't all that needs to be emulated is the Orbis OS or whatever? And the Orbis OS is based on FreeBSD which is open source, so it would seem to me that this should be very easy to sort out if people would just approach this the easy way instead of trying to emulate an entire architecture which there is no need to do because PC is already that architecture anyway. And if I'm wrong then please tell me the reason why I'm wrong because I would like to know.

I was in the process of rewriting the page before, but I'm just gonna share this early. Fail0verflow discovered the "secondary processor" is the primary system (and even they are confused as hell about Sony's design). The PS4 is actually an ARM system-on-a-chip that runs its own OS-- Orbis OS-- and forwards games to run directly on the x86 processor, graphics card, and shared memory. That means for proper PS4 emulation, you would need to fake a game's computer on top of a faked operating system's computer, something even Dolphin has struggled with over the past few years (they've talked extensively on the blog about implementing Starlet at a higher-level). Complicating things even more is the memory. The CPU and GPU share it. On the IBM platform, they're dedicated (VRAM and SDRAM), separate components. This writeup from the VirtualBox team explains how they handle hardware abstraction on x86, explaining why virtualized software can be almost or just as fast as when it's natively run. Truth is, it could very well be possible to get games going quickly provided all the tools were in place to do that, but most people don't have 8 core CPUs, and it took ten years before PS3 emulation ever got anywhere for all of its own reasons. The system-on-a-chip discovery also explains why video capture and music playback on any game is possible.
-FosterHaven
Short answer... the x86 architecture is just the CPU. Even then there still are significant differences. The OS is just that, too - PS3 having a Linux OS was irrelevant to how easy it was to emulate. Everything else is custom down to the most basic details, and of course memory management, boot-up sequence, DRM, peripherals, graphical drivers (usually different from desktop PC versions) et caetera.
So the PS4 (or the OG Xbox, or the Xbox One) is NOT just a repackaged PC. Just like the Wii isn't just a Mac just because both have a PowerPC CPU architecture. It is yet another console that has yet to be figured out from scratch. Granted, cases like what you wish for, do exist, like the Ouya, which is just a lazy Android modification, or the Sega Master System and the Game Gear, or apparently Android and iOS (if only Apple wasn't sabotaging those projects and buying off devs), so much that converting games between both works. This isn't one of these cases. Dipswitch (talk) 05:55, 3 November 2017 (EDT)
Okay. Thanks for that informative response. Even if it will take a long time, you gotta start somewhere, right? Good to know the first baby steps are being made.

CPU emulation

You would never want to "emulate" the CPU in this case. You'd just use virtualization on an x86 host. That said, you CAN emulate x86. There's nothing more to figure out. QEMU already has code to emulate a modern i7 fully in software if you wanted to. Current PCs aren't fast enough to emulate at full PS4 CPU speed, not even close, but again you would just virtualize it. Therefore, you will have to watch out for emulators claiming to be real. A good example is the the fake PCSX4.

The hard part is the rest of the PS4 system.

People have assumed that before with emulating the OG Xbox; that didn't work as well as they expected. Blakegripling ph (talk) 03:18, 7 October 2018 (EDT)

ADD ONTRONIX AND DCS4 OR WE'LL DESTROY THE VIEW SOURCE BUTTON!!!

It's advised to add it right frickin now! https://github.com/crohn64/Ontronix-ps4-emulator- https://github.com/abaska/Dcs4

DCS4 is only a joke program. And I don't know the legitimacy of Ontronix. --LilShootDawg (talk) 11:48, 27 October 2019 (EDT)

Change from "two" to "fifty" or we'll kill that view source button!!!

https://www.reddit.com/r/emulation/comments/fta3ql/spine_still_alive/

About PCSX4

It should be clarified somewhere why PCSX4 is not in the comparative because the page of this supposed emulator appears as the first result when searching for "PlayStation 4 emulation" in Google (this page appears in second place), which could confuse those who do not know much about it. As a curiosity, at most PCSX4 is a frontend for PSNow as I was finding out.

Regarding the other projects, Spine hasn't published anything for a year and the Reddit post is 6 months old. I don't know if the project is still active, but it could be considered to be stopped until further notice. PS4Delta has no commits since January (if within 6 months it does not have new commits or a release then it could be considered dead) and the rest have not had activity in months either but it is still early to determine their status.--173.245.54.78 03:52, 24 October 2020 (UTC)

You could add an overview section and mention PCSX4 in there. The Spine dev posted on Reddit about a month ago about progress being made, most of these projects are not being worked on in public currently. -Jpx (talk) 12:46, 24 October 2020 (UTC)

New Spine version

A new version has been made available through Twitter, link: https://twitter.com/notzecoxao/status/1436397396154626048

RPCS4 Still Active

Please mark RPCS4 as active, I can't edit the PS4 page, here's the reference to add if it's necessary, thanks. https://www.reddit.com/r/emulation/comments/ppffdy/rpcs4_ps4_emulation_preview_of_current_progress/