Since the PS3 ran on modified OpenBSD, would it be possible to run physical disc games trough a disc drive on a Linux laptop by downloading the needed libraries? In what way would I need to modify the games/system?
Would the architecture play a big role? My thinkpad barely runs RPCS3 but can handle AAA steam titles.
It’s a different and completely unique architecture than what runs on most PCs out there, even what runs on most older PowerPC platforms. It wouldn’t be possible to run PS3 games on PC hardware without hardware emulation. PS4 and PS5 might be possible since they use x86_64 CPUs and AMD APUs and their OS is BSD based but it would still be challenging to coax them into running on PC hardware outside of the PlayStation Operating System.
No, you couldn’t because the PS3 has a very different architecture compared to most PCs. That’s what projects like RPCS3 have struggled since the beginning.
I remember reading back then an interview with a developer complaining about how difficult it was to make the port to ps3 for that reason.
Gabe Newell famously participated in an interview about the same subject when porting The Orange Box, and as a result handed the port off to EA (which ended up running like dogshit compared to all other platforms).
No.
I’ve been saying for years that because the Switch uses ARM64, any game ported to it should theoretically run on iOS, Android, and macOS (on Macs running Apple Silicon; basically 2021 onward). That’s not the whole story, though. Nor does it much matter that the Switch was originally going to run Android, nor the fact that the Switch is just a modded Nvidia Shield tablet. There’s still a lot of hurdles between any given Switch game (even a simple one like Animal Crossing) and your Android phone, even if it is a full decade newer.
That said, emulation is easier on Mac and Android because you’re only emulating the software. You’re already on the right hardware. Gaming PCs also have to emulate the ARM64 hardware, but that’s fine because they tend to have the power to do so.
I was able to run the PS3 version of Rockband 3 at near native speed (if not native speed) on my M2 Pro Mac mini via RPCS3, but I’m sure a game with complex physics would have been more of a problem. Both my Macs run Switch (and 3DS) games pretty well.
But as for running natively… the Mac version of Cyberpunk 2077 exists because the Switch 2 version exists. So CD Projekt Red had to first modify the game to run on ARM64. They then built it for macOS, and for Switch 2. At this point, nothing really stops them from porting to iOS except maybe hubris (“our game is too powerful for phones, never mind phones that outclass the Switch 2”). Nothing stopped Bethesda from porting Skyrim to macOS, Android, or iOS, except greed (they instead made the microtransaction heavy Elder Scrolls Blades for phones).
But as far as trying to run PS3 games natively on Linux because the design of the PS3 used some Linux code? Nope, not happening. At best, it might make emulation easier. But you would still have to emulate.
This is not apples to apples whatsoever. Following this logic I can run ARM programs natively on x86 hardware thanks to android using the Linux kernel in its development.
You will need a compatibility layer regardless for different hardware architectures from your own. This includes the PS3’s CELL based hardware (which is why RPCS3 needs so much power to emulate the system at good speeds). Now if you ran Linux on your PS3, there is a possibility to do this (but then you’d have to emulate x86 games on your PS3).
It’s a little better with ARM to x86 since we have fast user mode emulators now such as FEX. Of course it’s not really “native” but good enough for the Steam Frame for example.
Of course, and I’m not knocking the FEX project. I’m just pointing out that there is no native solution to running programs built for other hardware architectures (other than a port adapted from source).
The PS3’s CELL is just so egregiously unique that it has a massive emulation overhead compared to ARM or any other more common/simple hardware architecture - less understood overall, and less understood in how it can be translated to x86 compared to ARM->x86.
The PS3 runs on an ancient fork of the FreeBSD kernel. We don’t even know which version. No compatibility even on syscall level.
Now, I remember that some random person added Nintendo Switch syscalls to Linux aarch64 then took GPU emulation from Yuzu. They stopped when it ran some Tetris. Now, that was relatively easy given the Switch doesn’t have too much of special hardware. Also, the CPU there only has the base instruction set + md5 extension, basically every aarch64 chip has that.
Now, the PS3 is full of random DSPs (basically coprocessors that are shit at everything except some specific tasks). And even if you get a PowerPC machine powerful enough (like some decommissioned server), it still probably won’t match all of the instructions. Catching SIGILL to emulate them… meh, you are basically writing an emulator. Which I bet would be slower than just emulating the whole thing at once.
The architecture is certainly a big issue.
Nothing else really maps 1:1 to the PS3 CPU. The main overhead is not from translating the libraries. It’s emulating the CPU/recompiling the code.
There would likely be no efficiency gain from running the games on software that more closely matches the PS3 OS.
It’d be like the difference of using windows instead of proton to run games. Not always better. Sometimes worse.
even if you grabbed all the code available on a ps3, there is no way in hell to make a x86_64 machine run a program compiled for a powerpc cpu except by emulation or just-in-time-recompilation… good luck
And I cannot recompile the games because they’re coded for this exact architecture and there’d be many losses, right?
Well, someone did exactly that with Sonic Unleashed (XBox 360) IIRC. And a few select N64 titles.
The produced code is complete garbage, it’s basically the machine code disassembled, but instead of assembly it’s some technically valid C that can be forcefully shoved back up a compiler. Due to register sizes and calling conventions being different across architectures, there was zero chance of making the giant blob cooperate with native builds of the libraries it used, so some poor people had to pick out everything machine specific in the giant pile of shit that came out of the disassembler and fake it. That took forever.
In theory you can recompile by translating the instructions, the problem is the game engine assumes things about the hardware that is no longer true when running on your computer, such as memory model and more. Patching this up makes it slow.
give it a couple decades of manpower and eventually it will become viable
might actually come true at some point, like what happened with n64 games
This is already happening with PS2 games which are different but similar architecture to the PS3.
PS3 was a modified OpenBSD?
Excuse me what?
afaik it was freebsd?
The PS4 and 5 are both running forks of FreeBSD as well, I believe.
Now that you mention it








