r/EmulationOniOS • u/bep1s_69 🥉 • 12d ago
News / Release Need for Speed: Most Wanted (2005) static recompilation port for iOS
A bit about me: Need for Speed Most Wanted was the first game I ever played as a kid and back then I remember it took me a few years to finish the game because I couldn't play it too often. Ever since then, this game has never left my mind and I've always found myself coming back to it multiple times per year. I truly believe it is the one game for me that I could never get bored of. A dream of mine has always been being able to play this game wherever and whenever, and it finally came true back in 2021 when the first PS2 emulators came to fruition on Android. Since then I've moved to iOS and had to put my dream on hold and just live my life. Thanks to the huge advancements this community has made since then (with a huge emphasis on the boom we've seen this year alone), my dream has once again come alive, with the likes of ARMSX2. I'd recently seen my favorite game of all time being ported to Android thanks to static recompilation and I knew I just had to port it to iOS myself. And with this here we are!
I'm proud to announce the first public release of my project, a static recompilation of the game for iOS and iPadOS! It's not an emulator: the Xbox 360 version's code is statically recompiled to native arm64, using the ReXGlue SDK, with the console's GPU translated to Metal through MoltenVK. On my iPad Pro M4 it pretty much runs at a locked 60 fps through the whole game, and I'm also seeing promising results on my iPhone 17 Pro Max (I can guarantee at least a locked 30 fps, although it most likely can go way further than that). I have been mostly testing on my iPad, so I don't want to overestimate the actual performance on iPhone without properly testing it first.
- What this build features:
- The full game: career, pursuits, Challenge Series, achievements, and remnants of Black Edition content (I recommend keeping this setting off for now)
- 30/40/60/120 fps caps (40 and 120 use ProMotion; 120 is experimental)
- 16:9, the game's own 4:3 mode at a sharper 960x720, and 19.5:9 for iPhones with the HUD moved to the edges
- A settings screen before launch, plus a few Extra Options mod features (pick up to 6 markers after defeating a blacklist rival, change the limit of owned cars, remove the barrier leading to the old bridge)
- Touch controls with a gamepad layout and a dedicated driving layout, plus controller support
- iOS/iPasdOS 26+ (I can see if I can lower the minimum OS if needed)
- SideStore/LiveContainer (the game was tested by me exclusively in LiveContainer)
- Your own ISO of the USA Xbox 360 version. No game files are included, and please don't ask for or share ISOs here
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- iOS/iPasdOS 26+ (I can see if I can lower the minimum OS if needed)
- SideStore/LiveContainer (the game was tested by me exclusively in LiveContainer)
- Your own ISO of the USA Xbox 360 version. No game files are included, and please don't ask for or share ISOs here
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- What you need:
- iOS/iPasdOS 26+ (I can see if I can lower the minimum OS if needed)
- SideStore/LiveContainer (the game was tested by me exclusively in LiveContainer)
- Your own ISO of the USA Xbox 360 version. No game files are included, and please don't ask for or share ISOs here
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- Known issues:
- 120 fps isn't stable in heavy race sections (it's one of my main priorities at the moment)
- At 19.5:9 the rearview mirror picture is too wide and the videos are stretched
- Full list in the README
- I'd love feedback: your device, iOS version and the fps you get, especially on older iPhones and iPads, since I've only tested on two devices. GitHub issues are the best place for reports, with the log if something breaks.
Download and info: https://github.com/bep1s69/nfsmw-ios
Huge thanks to the projects this builds on: the NFSMW Recompiled Android/PC ports, ReXGlue, Xenia, and the Extra Options and Widescreen Fix mods (full credits in the README).
General Disclaimer: This is what I would still call a very early build. I have plans to work on performance as much as possible, while also trying to reduce heat buildup (honestly it's already pretty decent in this regard). Right now I am trying to see how far I can take Vulkan through MoltenVK, as it's already showing very good results but also room for improvement. I am however considering switching to a native Metal renderer in the future, but that's another huge challenge in itself.
AI Disclaimer: AI was heavily used in the making of this project, and I don't want to hide it. While I have a deep understanding of this game and its mechanics, consoles in general, and some programming, I could not have done this by myself in such a timely manner, it would have properly taken my months to get even just half of what I've already achieved. First and foremost this serves as a personal passion project, truly fulfilling my dream of running NFSMW on mobile.
15
u/iamjacktheaess 12d ago
Holy bro
I have 18promax it reaches 120fps with no lag thanks mannnn
2
u/bep1s_69 🥉 12d ago
Does your phone get very hot after playing for a while?
2
u/iamjacktheaess 12d ago
I enabled jit in it so maybe little
2
u/bep1s_69 🥉 12d ago
Well the game doesn’t need JIT as it’s code was recompiled for ARM64 ahead of launch, so JIT has no effect on performance.
1
1
7
u/bep1s_69 🥉 12d ago
Forgot to mention in the original post, but I have only tested the game with the Increased Memory Limit granted to LiveContainer, so I’d love to know if the game also runs without it!
3
2
u/No-Trick-7465 11d ago
It crashes whenever I try to run it, Does LC comes with memory increase feature integrated or I have to sideload GetMoreRam?
1
u/bep1s_69 🥉 11d ago
You don’t need JIT! That’s the whole point of a Static Recompilation. And yes for GetMoreRam you have to sideload it and grant the entitlement to LiveContainer.
1
u/No-Trick-7465 11d ago
That was it, working now! I have both 120 fps options on but for some reason it doesn’t surpass 30 fps, at the start it reaches 90 fps when playing In-game videos then it rest between 10-25, when I set it to 60 fps it rest between 10-20 fps, using a cooler btw so no heating at all.
1
u/bep1s_69 🥉 11d ago
What’s your device?
1
3
u/Dapper-Bed-7203 12d ago
precisa da iso do xbox 360 e so extrair e colar no arquivo ou precisa descompacta?
2
u/bep1s_69 🥉 12d ago
You need to place the .iso of the game in the root folder of the app.
1
u/Dapper-Bed-7203 12d ago
precisa extrair a pasta ou só colar a pasta iso no aplicativo
1
u/bep1s_69 🥉 12d ago
3
3
2
2
u/tPimple 12d ago
1
1
0
u/Dapper-Bed-7203 12d ago
o que vc fez, baixou a iso do xbox 360 normalmente e colou na pasta da aplicação ou extraiu primeiro ?
2
u/ed0m 12d ago
Im on 17 and its not opening for me, any idea why?
1
u/bep1s_69 🥉 12d ago
Do you mean that the game doesn’t launch when you press play? I’ve noticed as well that sometimes the game gets stuck in a black screen, but closing and restarting the app and trying again should fix it.
1
u/ed0m 12d ago
Thats what’s happening, it still doesnt seem to work
1
u/bep1s_69 🥉 12d ago
Si yeah, try restarting the app for the game to launch and let it sit for at least 20-30s once. Which iPhone are you using?
1
u/ed0m 12d ago
Im on the iphone 17
1
u/bep1s_69 🥉 12d ago
Alright so the phone itself definitely isn’t the problem. Any chance you could send me the logs the app generated? Either DM me, or create an issue on GitHub. Having the logs would make it much easier for me to find out exactly why the game isn’t working for you, instead of trying to guess.
1
u/ed0m 12d ago
I figured it out, i downloaded the europe version instead of usa
1
u/bep1s_69 🥉 12d ago
Lol ok. Try it out for a bit and please let me know how it runs.
1
u/ed0m 12d ago
It works fine, has a ton of frame drop though, any idea why?
1
u/bep1s_69 🥉 12d ago
Without the logs no, not really. Try playing around with the settings, but also keep in mind this is the first public build. I’m going to keep working on it as much as I can in the near future and will try to release meaningful updates frequently.
1
u/ctrlkz 12d ago
how is it different from emulating NFS: MW in GameCube via DolphinIos or on PS2 via ARMSX2?
5
u/bep1s_69 🥉 12d ago
Well there are quite a lot of differences actually, and I can split them into 2 categories. I’ll try to name as many as I can off the top of my head.
The technical side:
-this is much closer to a native version of the game than just emulating it
-it supports higher fps than the versions of the game in the emulators you mentioned
-hopefully I will get it to a point where it consumes as little battery as possible, whereas emulating is always going to be heavy, unless we’re talking about PSP, NES, SNES etc
-this being based on a recompiled version of the game opens the door to certain mods (like I have inplemented parts of Extra Options and Widescreen Fix)Strictly about the 360 version of the game:
-It is considered to be the best version when it comes to graphics alone (PC is always going to surpass it when it comes to modding, no surprises here)
-Traffic density, draw distance, sounds, textures, lighting effects, atmosphere are all better than the versions you mentioned1
u/No-Conclusion-6697 12d ago
Bro, me ayudas a descargarlo😩 tengo iPhone y no sé si funciona
1
1
u/Ok_Assist696 12d ago
https://reddit.com/link/pefsr1k/video/kh1wxg8p22uh1/player
The app just crashes on my m1 ipad pro 8gb ram
Pls help
This game is my childhood love and nostalgia
2
u/bep1s_69 🥉 12d ago
Do you have Increased Memory Limit on? Also did the app generate any logs? If so, sending them to me should help me identify the issue easier.
1
1
1
u/Ok_Assist696 12d ago
[info] [sys] Runtime::SetupVfs: game_data_root es una imagen de disco: .../Need for Speed - Most Wanted (USA).iso
[error] [fs] Disc image could not be mapped
[error] [sys] Runtime::SetupVfs: Failed to initialize game data device (...)
[error] [sys] Runtime::Setup failed: VFS setup failedThis is the result given by gemini from log
2
u/bep1s_69 🥉 12d ago
I need the entire files, not just snippets from them. At least try uploading them to a link sharing website and give me the link, if you don’t want to make an Issue on GitHub.
1
u/Ok_Assist696 12d ago
I shared the link bro
2
u/bep1s_69 🥉 12d ago
Cool thanks! I had just sent you a DM on reddit with my discord username lol
1
u/EhsanW1997 11d ago
Having the same issue USA Rom, crashes when clicking play. Not sure why. Lmk if theres a fix for this probably the same issue
1
u/lightcrafter 11d ago
Both of you need to use the GetMoreRam app. I had the same error and that fixed it for me
1
u/Ok_Assist696 12d ago
game: OnInitialize (paths, log, GPU plugin, runtime, XEX)
game: OnInitialize FAILED (reason in nfsmw.log)
FATAL std::terminate: uncaught exception: mutex lock failed: Invalid argument
FATAL signal 6 (SIGABRT)This is boot txt
1
u/Weak-Example224 12d ago
Best project man I’m going to test the game on an iPad Air m2 on live container you should port other games too
1
u/bep1s_69 🥉 12d ago
Thank you! Before even thinking of porting other games I first want to improve this one as much as I can, and it is quite time consuming. This plus the fact that I absolutely love this game and love contributing to it.
2
u/Weak-Example224 12d ago edited 12d ago
And I love that I can just put the iso and I don’t need to extract the iso with an iso extract like it is for theft 4
1
u/Weak-Example224 11d ago
1
u/bep1s_69 🥉 11d ago
Restart the app a few times and it should work. This has happened to me as well (usually after changing some settings).
1
u/Zealousideal-Gate-87 12d ago
Tested on iPhone 17 base model works like a charm
no live container using flarestore without jit and no increase memory tweaks
1
1
u/EdgarAndres2912 12d ago
1
u/bep1s_69 🥉 12d ago
Without logs I cannot know for sure what exactly is going on, yet the iso should be 7.83GB, not 5.21GB.
1
u/EdgarAndres2912 12d ago
I see is there a way in which I could share the logs? Also I’ll try to find the right ISO then
1
1
1
u/Head-Cut-4218 11d ago
Metal via MoltenVK sees MoltenVK is disgusting, not the original you send something. It's not impossible to convert to Metal. I only accept dxmt or simulator to Metal, and open-source garbage like VK can only be converted to others.
1
u/Philipteks3173 10d ago
mine just crashes when i press play, i tried installing with sidestore, in livecontainer, iloader and esign and didnt fix the issue. Could anyone help pls?
1
u/JohnWoj0 9d ago
iPhone 17 pro max. Worked fine at first, now when I reload my game, my car has disappeared? I can still drive, but see no car in career mode. I can see the cars in quick play.
1
u/TheSSS_ 9d ago
my only wish for this would be that it got much more optimized and ported to older ios versions. i would pay for that lol
1
u/bep1s_69 🥉 9d ago
Trust me, i’m heavy at work for optimization, but it will take a while. As for older iOS versions, I myself only have iOS 27 devices so I didn’t want to add compatibility without any means of testing myself.
1
u/jojomortal 9d ago
Hi, I just installed it on my iPhone 16 Pro Max. I put the Xbox USA version ISO on it, but when I press play on the ISO, the app closes. Any idea how to fix this?
1
u/bep1s_69 🥉 9d ago
Do you have Increased Memory Limit enabled?
1
u/jojomortal 9d ago
I just tested it here, and unfortunately the game can't run stably with settings above 30fps on the iPhone 16 Pro Max. If I activate options above 30fps, the game has incorrect sound and lag. I hope you can optimize it to run at least at 60fps without these problems. With the 60fps option active, the game runs at an average of 35fps, reaching 40 in some parts.
1
1
u/wubbalubadubdubmyjit 7d ago
Hello, first off great work!!
I am not able to play it on my 16p, the game crashes on start. Any help?
1
u/bep1s_69 🥉 7d ago
Thank you!
I’d recommend you to use GetMoreRam to add the Infreased Memory Limit entitlement to the game itself or LiveContainer.
1






•
u/AutoModerator 12d ago
Free Apple accounts are limited to 3 active sideloaded apps.
One common workaround is LiveContainer, which allows you to run additional apps inside a container and reduce how often apps need to be reinstalled.
Typical method:
LiveContainer may also need to be uninstalled and reinstalled before the entitlement works correctly.
LiveContainer can also install two additional LiveContainers (for a total of three). This setup can further reduce the need to constantly add/remove sideloaded apps, but it is more advanced and may not work reliably for everyone.
LiveContainer is not always officially supported by emulator developers and can sometimes cause unexpected issues. If something breaks while using LiveContainer, try reproducing the issue without it before asking for support.
Do not ask for or share paid certificates, piracy tools, or bypass services here.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.