Hacker News new | ask | show | jobs
by aufhebung 1608 days ago
There is an experimental PS4 emulator that ran using QEMU, taking advantage of the fact that the PS4 is x86. Something similar could be done for M1 and ARM.

https://wololo.net/2021/09/08/release-spine-ps4-emulator-v-2...

4 comments

Aside: if Apple's M1 processor is ARM-based, why do we bother making the distinction? If anything I feel like this hurts more than it helps because Windows and Linux need better ARM support too.
Because, quite frankly, ARM silicon is held back by other vendors. Apple is unique in the ARM space in that they actually make an attempt at retaining compatibility across SoC iterations. Linus Torvalds has famously gone on multiple rants about how much of a mess ARM chips are - every new chip usually meaning a full reshuffle of the register map and new drivers everywhere. The work being done on Asahi Linux, on the other hand, is very likely to carry forward to M2, M2 Pro/Max, etc.

FWIW, M1 Macs are also one of the few ARM platforms that will let you[0] actually install regular GNU-and-Wayland desktop Linux. I think the current crop of Windows on ARM machines will also let you install Linux, of course. But most Android hardware ranges from mildly to very hostile to users who want regular Linux - even if there's a bootloader unlock, the hardware is going to require all sorts of extra vendor-proprietary drivers that won't work with a standard distro. This also ties in with what I said before about backwards-compatibility across multiple SoCs.

The reason why people treat the M1 as separate from all other ARM hardware is because it actually acts like a computer; providing the performance and control you expect from something bearing the name. Most other ARM vendors are not aiming to provide that.

[0] You do have to sign the kernel with your Owner key, but that's manufacturer-supported, so it counts.

I guess because M1 describes the entire platform in shorthand (CPU+GPU+performance characteristics), whereas ARM only describes the CPU instruction set.
According to marcan’s Twitter, Apple actually broke the ARM spec in ways most companies are literally not allowed to do. Part of the deal is likely that Apple was not allowed to call their chips ARM.
Do you have the links for those tweets by any chance? I’d like to learn more about this.
Unlike other ARM CPUs, M1 optionally supports x86 memory model, that said, it doesn't matter outside of x86 emulation.
From what I know, SPINE doesn't use QEMU at all to emulate a PS4, it works with the same concept of Wine, a compatibility layer that translate Orbis syscall with Linux one. Its name follows the same "SPINE is not an emulator" geek joke.

According to Google, Orbital is the one using QEMU.

How does one GPU acceleration when running on a VM (as I imagine QEMU is doing here)?

Also random thought, but can the opposite be achieved? That is, installing Orbis (PS4 OS, based on FreeBSD) on generic PC hardware?

This is probably not exactly the same, because I'm assuming the ps3 is maybe emulated very different, but rpcs3 is able to boot up into the XMB.

https://www.pcgamesn.com/emulation/ps3-emulator-rpcs3-xmb

Same with xemu, using QEMU to emulate the original Xbox.