r/ps4homebrew • u/codeyoc • 8h ago
I'm the guy who ported Dark Cloud to PS4. Now I'm actively working on GTA IV. Tell me why this is a terrible idea.
Hey everyone, I'm the guy behind Chronicle PS4, the native Dark Cloud port I released recently.
I've seen people asking about GTA IV on PS4, and I've been wondering the exact same thing. It's probably the biggest missing Rockstar game on the console, and frankly, I want to play the fucking thing too.
So yes, I'm actively researching and working on a native GTA IV PS4 port.
Before anyone gets too excited, I do not have GTA IV running on PS4. I'm not announcing a release, and I'm certainly not pretending this is going to be as straightforward as Dark Cloud.
But I've started doing the work, and I want to explain how I'm approaching it. I'd genuinely love some technical opinions from people who know more about this stuff than I do.
The idea
I'm not trying to emulate an Xbox 360 or PS3 on the PS4.
I'm looking at using the existing LibertyRecomp project, its Xbox 360 recompilation work, and the ReXGlue runtime to get GTA IV's original game code executing natively on the PS4's x86-64 CPU.
The basic idea is to take the recompiled Xbox 360 game code, provide the runtime services it expects, and implement the platform-specific systems required to make it run on PS4.
That includes the Xbox 360 kernel interfaces, memory management, threading, filesystem, input, audio and, probably most importantly, graphics.
The goal isn't to recreate GTA IV. It's to get the original game engine running with the original game assets, then make the PS4 capable of handling what the engine expects from the hardware.
What I've actually done so far
I've got the project set up locally and have been working through the LibertyRecomp and ReXGlue codebases.
I'm also using the PS4 platform work I developed for Chronicle PS4 as a starting point. That project gave me working experience with OpenOrbis, PS4 packaging, input, rendering, audio, memory and getting native code running on the console.
Obviously, Dark Cloud and GTA IV are completely different beasts, but at least I'm not starting from zero on the PS4 side.
So far:
- Built the desktop ReXGlue runtime and its dependencies.
- Extracted my original Xbox 360 GTA IV game data.
- Identified and verified the correct Title Update 8 patch.
- Successfully loaded the original XEX and applied TU8 through the runtime.
- Verified the patched executable reports version
0.0.8.5. - Confirmed the expected guest entry point at
0x82A11290. - Verified the executable's expected memory layout and 13 loaded sections.
- Built an execution harness to investigate the transition from host runtime initialization into the recompiled game code.
The current blocker is guest thread startup.
LaunchModule() successfully returns a thread object, but I haven't yet observed the generated GTA IV entry-point code executing. I'm investigating whether that's a thread scheduling, initialization, context or dispatch issue.
So to be absolutely clear, I've proved the executable loads and patches correctly. I have not proved GTA IV's game code runs yet.
That's where things currently stand.
The graphics problem
This is the part I'm particularly interested in hearing people's thoughts on.
LibertyRecomp already has graphics infrastructure, but having something that works on a desktop GPU doesn't mean it'll work on PS4.
The PS4's graphics API and hardware environment are different, and GTA IV's original Xbox 360 rendering behaviour needs to be translated appropriately.
There's an existing PS4/GNM direction in the LibertyRecomp codebase, but from what I've inspected, it isn't a complete, wired-up backend ready to render the game.
My thinking is to study how LibertyRecomp handles GTA IV's graphics commands, resources, shaders, render states and presentation, then implement the PS4 backend needed to execute those operations.
I'm also looking at what I can reuse from Chronicle's PS4 infrastructure, although I understand its existing GLES2 rendering work isn't remotely a drop-in replacement for GTA IV's graphics requirements.
The eventual goal is for GTA IV's actual RAGE engine to produce frames on PS4, not to display a few manually extracted textures and call that a port.
I'd also like to investigate bringing PC mods across eventually, but that's a separate asset compatibility problem and very much secondary to getting the original game running.
Why I think it's worth attempting
The PS4 already runs some pretty substantial games built around the same general generation of technology. That doesn't establish that GTA IV will run well, but I don't think the hardware alone is a reason to dismiss the idea.
The PS4 is x86-64, we have existing recompilation work to build on, and there are now projects demonstrating how far native ports can go when the right foundations exist.
The biggest question to me isn't simply whether the PS4 is powerful enough. It's how much of the original Xbox 360 environment needs to be reconstructed, how accurately the game depends on that environment, and whether the resulting CPU and GPU workload is practical on the PS4.
I'm under no illusion that recompilation magically solves all of that.
GTA IV uses RAGE, has a much more complicated rendering pipeline, a large streaming world, physics, threading, and a whole bunch of platform-specific behaviour that could make this extremely difficult.
It's a significantly bigger undertaking than Dark Cloud.
But I also think there's value in actually investigating these problems rather than assuming it's impossible.
So, roast the idea.
Seriously.
If you understand Xbox 360 recompilation, ReXGlue, RAGE, GNM, PS4 homebrew development, graphics translation or the Xbox 360 memory model, I'd really like to hear your thoughts.
Where do you think this falls apart?
Is the PS4 graphics backend the biggest problem, or am I underestimating something much earlier in the execution pipeline?
Are there architectural problems with this approach that I'm missing?
Would you approach it differently?
I'm not looking for people to tell me it's definitely going to work. I'd much rather someone point out a genuine technical problem now than spend weeks discovering it myself.
I built Chronicle PS4 because I was curious whether I could make it work. That curiosity hasn't exactly gone away.
And honestly, people keep asking about GTA IV on PS4, I'm wondering about it myself, and I want to fucking play it too.
So I'm going to have a crack at it.
No release date. No promises. Just actual development, research and a willingness to find out how far this can go.
Chronicle PS4: https://github.com/odiecay/chronicle-ps4
LibertyRecomp: https://github.com/OZORDI/LibertyRecomp
If you've got technical criticism, please throw it at me. That's exactly why I'm posting.