Technical estimation of difficulty to emulate PS4 vs newer consoles #108
Replies: 13 comments 14 replies
-
There are quite a few major differences between Desktop Windows and GameOS which is what runs while playing a game on the One/Series consoles. We really don't know enough about the ps5 to know how close to a PC it is or not. The ps4 was thought to be really close to a PC at first as well but porting Linux to it showed just how wrong that statement can be |
Beta Was this translation helpful? Give feedback.
-
For now the project look like it took a bit the Wine path, where it's neither a emulator or container but a translation layer. This means PS4 games are in the same memory space than system libraries. On one side it reduce the overhead and latency of emulation or virtualization, but it also make compatibility more limited. |
Beta Was this translation helpful? Give feedback.
-
Not sure for PS5, haven't dig in too much for that, just guess it's pretty similar to PS4, and if this is true, these's not much difference about the things to do.
I thought it is even impossible before you tell me that Yuzu support it, maybe we can have a try in the future. |
Beta Was this translation helpful? Give feedback.
-
about yuzu support for assembly its |
Beta Was this translation helpful? Give feedback.
-
Source? I really doubt that's the case. |
Beta Was this translation helpful? Give feedback.
-
Yeah, that's GLASM, and no, it's basically assembly but for the GPU and only works on Nvidia's GPU because AMD doesn't know how to follow a standard to save their life |
Beta Was this translation helpful? Give feedback.
-
So this is not a real issue, I shall close it. |
Beta Was this translation helpful? Give feedback.
-
Well, I convert this issue to discussion for the first try. 😺 |
Beta Was this translation helpful? Give feedback.
-
Potentially related to the idea of supporting GCN shaders/assembly directly on AMD gpus: |
Beta Was this translation helpful? Give feedback.
-
If I could count the times some clueless rando has suggested in RPCS3's |
Beta Was this translation helpful? Give feedback.
-
Unified memory is always a pain for emulators, maybe go look at others to see how they are handling it? It won't be directly usable since the system is different but could give some ideas |
Beta Was this translation helpful? Give feedback.
-
you aware of this project? |
Beta Was this translation helpful? Give feedback.
-
@Inori @InoriRus |
Beta Was this translation helpful? Give feedback.
-
I am not an expert but like many i would have expected the PS4 to be easier to emulate than the PS3 since its hardware is much closer to PC.
As for the CPU you can just use the host x86 cpu through a hypervisor e.g haxm which is what orbital is doing. Or by using e.g. Box64
The remaining complexities would be:
Low level differences vs a regular pc architecture
And notably, a GPU API mismatch (the PS4 expect raw GCN assembly??)
However I think it would be a mistake to not seriously ask yourself whether the PS5 would be actually easier to emulate.
It's still x86 and an updated GCN but it might have less lower level differences vs a regular pc architecture and might have less of a GPU api mismatch.
But my neophyte opinion would be that the Xbox series X/S would be the easiest platform to emulate.
Since it's still a x86, updated GCN BUT If I recall correctly, xbox serie X games are coded in direct X 12, which is much easier to map to vulkan and crucially is natively supported on windows. The OSes would also match.
Unrelated, if the GCN to spirv mapping is a ley difficulty, couldn't you offload GCN assembly directly to the host GPU if the host GPU is an AMD gpu?
The switch emulator Yuzu supports this for Nvidia gpus.
BTW I really think you should do a patreon, even if it's just currently a part time project, it could become big!
Beta Was this translation helpful? Give feedback.
All reactions