Talk:PlayStation 4 emulators
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.
- 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.
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.
The hard part is the rest of the PS4 system.