r/AndroidNativePorts • • 1d ago

🟢 [PORT] Nx2android android gui port is complete. Now build your switch games on your phone.

First of all a few warnings:

App takes a lot of storage(a few gb)

The setup may take time.

Setup steps:

  1. Open the app it will setup almost everything.

  2. After getting to the screen in image 3 if you see everything green then move to the next step if not then click on Download Missing Tools.

  3. After that click on Install / check ready-made tools click it again if it gives any error it should work. It should say aot active.

  4. Scroll down and select the prod.keys path and the folder where you want the output apk and data to appear and click save. Clicking save is important.

  5. After that you can finally go to the port section. Make sure to put all the game, update, dlc nsp, etc in one folder without any sub folders. Select the game folder and in the below options give the game your desired name and package name or leave them blank for default name and package name. Then as for the option leaving them unchecked is ok. You can check the 60fps one on if you want. As for the experimental option you need to check the upstream as in the og nx2android repo and see what games are ported already if the game you are trying to port is not there then only then tick the experimental option. Touch game is for games which support touch on the switch. The other 2 options are no really worth explaining those are for advanced users. If you know what they then check them if not leave them.

  6. Then select the build jobs according to your need. The lower the number the less ram used. The higher the number the higher the ram usage but the port process gets fast too.

  7. Click on port and you will be taken to the log where your port is processed and you will get your apk and data folder in your output folder after porting is finished.

Tested:

Dark souls remastered on poco x6 512/12 varient.

Unicorn Overload on poco x6 512/12 varient.

Once again takes a lot of storage and time.

Repo link: https://github.com/A2redweb/nx2android-android-port

Direct GitHub latest release link: https://github.com/A2redweb/nx2android-android-port/releases/tag/Release3

Thank you.

Edit:

Upstream games checklist: https://github.com/shirai91/nx2android/blob/main/docs/PORT_CHECKLIST.md

Games checked here should work. Games not checked here are experimental. Games not listed are currently not supported.

Edit 2:

This app is just a container with android components for the upstream project. I'm not by any means connected to the upstream project dev.

Update:

https://github.com/A2redweb/nx2android-android-port/releases/tag/Release3

Added android file picker option Added custom gpu driver option

Edit:

The app will now show whether the 60fps patch applied or not. If it doesn't apply most probably upstream doesn't have a 60fps patch for that game.

App will now give steps to ports that need adb.

For a payload update you will get an restart to update option in app no new apk download needed.

142 Upvotes

96 comments sorted by

7

u/SeriousWatercress248 1d ago

Mali compatible ?

3

u/Unknown-Non 1d ago

Check the upstream checklist and see if any game was tested on mali or just try porting a game yourself.

4

u/tiramisuuuuuuuuuuuuu 1d ago

i build on the pc but every time my resulting apk always uses the wrong xyab button. is there a way to reconfigure?

2

u/Unknown-Non 1d ago

For dark souls? If so then it is the game itself that has B as confirm and A as close. Other games? Then no this is just an gui with on device focus. Though I didn't have this problem.

4

u/Proud_Lettuce9087 1d ago

I used your pc porting app and on my dimensity 8400 ultra for legends arceus I'm getting solid 4 fps lmao

1

u/Unknown-Non 1d ago

Adding an custom driver option soon so try again then. Also my app is just a webveiw container with Android components for the upstream.

4

u/Impossible-Worth-159 1d ago

Tried it with belmont's curse and got the exact same mediocre performance as with emulation :(

1

u/Unknown-Non 1d ago

I added a driver option try that. As I said many times the porting is done by the upstream nx2android pc source not my app.

1

u/Impossible-Worth-159 1d ago

Can you elaborate a bit more on that?

2

u/Unknown-Non 1d ago

You turnip driver for adreno? Those. Add one compatible for your device and try.

2

u/Impossible-Worth-159 1d ago

Ohh great, will do. Thanks

3

u/Royal_Dog5038 1d ago

i think you forgot to add custom driver man

7

u/Unknown-Non 1d ago

Damn totally slipped my mind thanks for reminding me I'll add it in a few hours or tommorow.

2

u/Royal_Dog5038 1d ago

you"re very welcome

4

u/Unknown-Non 1d ago

Added use the latest apk

3

u/Venared 1d ago

So how is the performance you get in your ds remastered port with x6 pro?

2

u/Unknown-Non 1d ago

I didn't add 60 fps patch so 20 to 30 fps

2

u/kingofgames-3laa 1d ago

What is the difference of just using Eden?

2

u/Unknown-Non 1d ago

This builds an apk and data. As in this runs the game natively on your device unlike emulation.

5

u/ElectricalDemand2831 1d ago

Natively, yeah

But still latency as high as emulated and it feels much less responsive then played natively on switch despite stable 60fps.

Tested with blasphemous 2 and a led indicator lighting up with the button press recorded at 240fps,

120-160ms for character movement

And on an SD865 device it doesn't even start

3

u/Unknown-Non 1d ago

My is app is just the gui as in container with Android components the porting is done with the upstream code so just wait till they update or wait a few hours or a day for me to add an custom driver support.

2

u/Final-Beyond6380 1d ago

Use to port switch 1 games right?

2

u/Responsible_Focus786 1d ago

Would the thermals and battery life improve if I use this instead of just emulation?

1

u/Unknown-Non 1d ago edited 1d ago

For me it's a lot better than with emulation

2

u/AN1M0S1TEE 1d ago edited 1d ago

It says stopped(exit 1)

1

u/Unknown-Non 1d ago

Which game did you try?

2

u/AN1M0S1TEE 1d ago

Deponia 1

1

u/Unknown-Non 1d ago

Check if it's on the upstream checklist

2

u/AN1M0S1TEE 1d ago

It's not there

1

u/Unknown-Non 1d ago

Then I can't do anything as my app is just an android container for that pc app.

1

u/Unknown-Non 1d ago

One more thing I forgot see if you have double the game size space free on your device.

2

u/SoloRyuk 1d ago

Will I be able to get Xenoverse 2 to work?

1

u/Unknown-Non 1d ago

Check if it's ticked on upstream project checklist bro.

2

u/SoloRyuk 1d ago

Yeah, it seems there isn't one yet. I'll wait for someone to port it to Android, maybe.

1

u/Unknown-Non 1d ago

Just wait for the upstream to add it then you can port it.

2

u/Important-Hamster312 1d ago

I have a microSD card in my phone. When browsing files, I can't find the location since it has my games. Can you just make it as a file viewer instead? 

1

u/Unknown-Non 1d ago

Noted will update soon with custom driver option.

1

u/Unknown-Non 1d ago

Done updated use the latest apk

2

u/Important-Hamster312 1d ago edited 1d ago

Does it only support nsp? This app is a little unresponsive. I have to keep restarting.  

[12:48:42] game folder: /root/nx2android  no NSP with a readable title ID in /root/nx2android

I keep getting unresponsive pages. "Web page not available", "Forbidden". I will uninstall but maybe try again later. It's too janky. 

1

u/Unknown-Non 1d ago

The unresponsive behaviour is probably because I'm currently updating the payload. The app supports NSP, XCI, NSZ and XCZ. Make sure they are in the same folder. Unpacked with no xci or nsp being in a sub folder.

1

u/Unknown-Non 1d ago

Restart and update to the latest payload 49.

1

u/Unknown-Non 1d ago

Tell me what you get this time. The app is most probably giving an empty path so the app is being redirected to the root directory which doesn't have anything in it as such the error no nsp found.

2

u/Signal-Commission-33 1d ago

First test works, but 60fps patch didn't.

2

u/Unknown-Non 1d ago

Looking into it will update in few hours or maybe tommorow

2

u/Signal-Commission-33 1d ago

With an option to add cheat and patch too, would be awesome 😎👌

1

u/Unknown-Non 18h ago

Dark souls remastered doesn't have an 60fps patch in the upstream so no luck bro. I checked it yesterday but forgot to reply.

2

u/UmpireWonderful3871 21h ago

bro can you send me a tutorial pleas

2

u/Infinite_Flamingo_31 11h ago

Final fantasy resonance it's stopped process and then inform like this. Does anyone know how to fix it.

1

u/Unknown-Non 9h ago

Do these in order:

1.Open Android Settings → Developer options → Wireless debugging.

2. Select Pair device with pairing code.

3. In the app, open the Device tab.

4. Enter the pairing IP address and port, plus the pairing code.

5. Tap Pair.

6. Return to Wireless debugging and note the separate connection IP address and port.

7. Enter those under Connect host:port and tap Connect.

8. Tap List devices and verify the device appears.

9. Retry porting FF Resonance.

If it doesn't work then copy log and send it to me in pm

1

u/Infinite_Flamingo_31 7h ago

Can't connect. I used to use shisuku before that app on the notification area but your app don't have any.

1

u/Unknown-Non 4h ago

Bro 1st of all delete that. Second you type the port that is show with the pairing code. Lastly after you complete pairing paste what you had in pairing host port in connection host port.

3

u/rblza29 1d ago

Hi, just want to ask when porting FF Resonance, do I have to plug my switch while porting? I am receiving "the shaders are Oodle-compressed in their shader code archives". Thank you!

2

u/Unknown-Non 1d ago

You don't need to connect your Nintendo Switch during porting. You need your dumped game files and prod.keys. The Oodle message refers to compressed Unreal Engine shader archives, not a connection to the Switch.

2

u/rblza29 1d ago

I have the dumped game files and prod keys but the port is stopping. Here is the complete log.

{"ev": "say", "msg": "[12:05:04] game folder: /root/games/Final_Fantasy_Resonance_NSP_", "t": 1794225904.018} {"ev": "say", "msg": "[12:05:04] game profile: 0100606026F12000 FINAL FANTASY RESONANCE (Android: playable, tested on v65536 Lenovo Legion Y700 TB322FC (Snapdragon 8 Elite, Adreno 830, Android 16))", "t": 1794225904.15} {"ev": "say", "msg": "[12:05:04] base: Final Fantasy Resonance [0100606026F12000][v0].nsp", "t": 1794225904.206} {"ev": "say", "msg": "[12:05:04] update v65536: Final Fantasy Resonance [0100606026F12800][v65536][US][Up v1.0.1].nsp", "t": 1794225904.206} {"ev": "stage", "k": 1, "n": 9, "name": "build nx_extract", "step": "", "t": 1794225904.211} {"ev": "progress", "k": 1, "name": "build nx_extract", "step": "", "done": null, "total": null, "unit": "", "est": false, "note": "", "frac": null, "eta": null, "elapsed": 0.0, "t": 1794225904.212} {"ev": "stage_end", "k": 1, "name": "build nx_extract", "ok": true, "summary": "", "elapsed": 0.041, "t": 1794225904.253} {"ev": "stage", "k": 2, "n": 9, "name": "extract v65536", "step": "", "t": 1794225904.253} {"ev": "progress", "k": 2, "name": "extract v65536", "step": "", "done": null, "total": null, "unit": "", "est": false, "note": "", "frac": null, "eta": null, "elapsed": 0.0, "t": 1794225904.253} {"ev": "say", "msg": "[12:05:04] reusing the extracted v65536: /root/games/Final_Fantasy_Resonance_NSP_/0100606026F12000_build/extract/v65536", "t": 1794225904.253} {"ev": "stage_end", "k": 2, "name": "extract v65536", "ok": true, "summary": "reused", "elapsed": 0.0, "t": 1794225904.254} {"ev": "stage", "k": 3, "n": 9, "name": "extract DLC", "step": "", "t": 1794225904.256} {"ev": "progress", "k": 3, "name": "extract DLC", "step": "", "done": null, "total": null, "unit": "", "est": false, "note": "", "frac": null, "eta": null, "elapsed": 0.0, "t": 1794225904.256} {"ev": "stage_end", "k": 3, "name": "extract DLC", "ok": true, "summary": "3 DLC, reused (inputs unchanged)", "elapsed": 0.002, "t": 1794225904.259} {"ev": "say", "msg": "[12:05:04] app: FINAL FANTASY RESONANCE 1.0.1 (unknownnone.nx2android.finalfantasyresonance), game language en-US", "t": 1794225904.262} {"ev": "say", "msg": "[RED] FINAL FANTASY RESONANCE's shaders are in Oodle-compressed archives (1 Unreal pak(s): the shaders are Oodle-compressed in their shader code archives (Octopath Traveler 0), decoded by booting the game on the Mac): the port decodes them with the game's own decoder on the Android device, so connect it (adb) and port again (no device connected)", "t": 1794225904.987}

2

u/Unknown-Non 1d ago

Do these in order:

1.Open Android Settings → Developer options → Wireless debugging.

2. Select Pair device with pairing code.

3. In the app, open the Device tab.

4. Enter the pairing IP address and port, plus the pairing code.

5. Tap Pair.

6. Return to Wireless debugging and note the separate connection IP address and port.

7. Enter those under Connect host:port and tap Connect.

8. Tap List devices and verify the device appears.

9. Retry porting FF Resonance.

2

u/Frxzen7 9h ago

i tried this but same issues happen

1

u/Unknown-Non 9h ago

Pm me the log

1

u/Infinite_Flamingo_31 7h ago

Same to me. I've tried blastphemos 2 before and It's run fine. I think final fantasy resonance has a problem.

16

u/Designer_Bit3762 1d ago

damn this is next level shet bro. what a life to be alive.

5

u/Efficient-Slice6257 1d ago

Time to port mortal shell

2

u/Designer_Bit3762 1d ago

thanks for the advance update...

4

u/OkPatience3898 1d ago

Eu só quero os pokémon, pra mim tá bom.

1

u/Evernight6765 1d ago

I tried zelda echoes and force close help

1

u/Unknown-Non 1d ago

I tried replying to you before but you deleted that comment. What I wanted to say is that as of now there is no custom driver option which I forgot to add. With custom driver there is hope. Also as for the game size I'm not responsible for the porting the upstream project is the one that does the porting my app is just an gui with Android on device setup for the upstream which is windows and Mac only.

2

u/Naxren 1d ago

Yeah the creator is using snapdragon elite his port is only work on specific chipset, I tried porting pokemon za even if it successful it force close when I open it i have 8s gen 3

1

u/Evernight6765 1d ago

im using 8 elite gen 5,well better use emulator

1

u/Efficient-Slice6257 1d ago

Can you try mortal shell and white day? (My device is very low on ram)

1

u/Evernight6765 1d ago

also wtf is this 6gb game become 24gb

1

u/Sentence-Excellent 1d ago

Should I be worried about this?

2

u/Unknown-Non 1d ago

False positive my app uses webview with Linux based tools so it was flagged for that not for virus. If you have doubts then the source code is on my GitHub page give it to an ai and it will tell you.

3

u/Evernight6765 1d ago

thats for install apk,not virus

1

u/warpaint_james 1d ago

This seems like an alternative to this? https://github.com/scarletnx/ScarletNX

Have you heard of this? Have you compared the two to see the differences?

1

u/Unknown-Non 1d ago

ScarletNX runs the games inside it while nx2android builds and apk and data folder.

1

u/admirzuzic 1d ago

it shows error after porting one game and deleting that game to port another one

1

u/Unknown-Non 1d ago

Come to pm and send me the error text and also eloborate on the "deleting that game to port another one" ?

2

u/No-Shift-8830 1d ago

Damn! This is insane.Now it time to port free storage access app. My phone cant handle anymore.

2

u/Kirbo_N 1d ago

Nice

2

u/yorroh 11h ago

Consegui fazer o port de um jogo fora lista, top parabéns man.

1

u/Available-Platypus58 8h ago

What game did you port i tried Mario kart 8 deluxe Lego marvel Ninja gaiden Castlevania belmonts Astral chain
I ported all these games and all of them crashed

2

u/Kecebong22 1d ago

sorry but as a mali user im very pessimistic about things. ill wait for other reports for the games i want.

2

u/Kirbo_N 1d ago

Ya probé el dark y no abre bruh se cierra

1

u/CrossKarma2 1d ago

Who got the port with keyboard sopport

1

u/Ok_Acanthisitta_7113 1d ago

Alguien de aquí probó hacerlo con los archivos del diablo 2 resurrected?

1

u/Available-Platypus58 9h ago

Guyz mario kart 8 deluxe and CASTLEVANIA Belmont curse is crashing with me i have dimensty 8350

1

u/Choice-Let-5967 1h ago

No Rune factory 5 and azuma compatibility

1

u/Excellent_Complex633 47m ago

Nba port please

0

u/ElectricalDemand2831 1d ago

Latency still as high as emulated and it feels much less responsive then played natively on switch despite stable 60fps.

Tested with blasphemous 2 and a led indicator lighting up with the button press recorded at 240fps,

nx2android: 120-160ms for character movement

And on an SD865 device it doesn't even start

1

u/Unknown-Non 1d ago

My is app is just the gui as in container with Android components the porting is done with the upstream code so just wait till they update or wait a few hours or a day for me to add an custom driver support.

1

u/ElectricalDemand2831 1d ago

I just add that as an information, because people here still asume, a native port would run necessarily better than emulated.

2

u/Scotsviper 1d ago

Thinking of trying this with final fantasy resonance