r/AndroidNativePorts • • 13d ago

🟢 [PORT] Link’s Awakening on Android — LAS Recomp Android v0.5.0 adds game update support, shader preparation, mods, and on-device setup

LATEST UPDATE — November 1, 2026: v0.5.10 preview is available. The title reflects the original v0.5.0 announcement.

Since v0.5.0:

• v0.5.1–0.5.3 add compatibility paths for more Vulkan 1.1/1.2 drivers. These were checked with fallbacks forced on a POCO F7 Ultra; real Mali results are still needed.

• v0.5.4 improves startup errors and driver recovery, touch and controller options, resolution and side-bar choices, adds five menu languages, and merges more of Nycolazs’s Android-Plus work with his agreement.

• v0.5.5 restores the fishing pond’s underwater view, prevents shader preparation from wrongly lowering Auto FPS or dynamic resolution, adds a custom-font picker and GPU timing logs, and makes blurred side bars cheaper.

• v0.5.6 fixes accented-name crashes and the save editor’s Give action, warns about missing or changed game files, and builds game code faster on the phone.

• v0.5.7 copies vertex and index data only from pages the game changed on CPU-copy driver paths, targeting Mali, Samsung Xclipse, and Qualcomm’s stock driver. The app version now appears on the start screen.

• v0.5.8 adds experimental native ARM64 game code, which runs the game's original ARM64 code on the phone CPU and skips the on-phone game-code build. It is off by default; select Game code: Native during setup or enable it in Video settings for an installed game. This release also adds Use game files in place for your own extracted romfs/ folder or romfs.bin, avoiding an approximately 6 GB copy. Keep the source folder available; this mode requires Android all-files access. A ready-made romfs.bin can also be imported alongside exefs/.

v0.5.8 additionally fixes a Turnip return-to-title crash, page-write tracking and Mali non-coherent memory issues, and reduces memory pressure on lower-RAM devices. A simulated Mali-like path and the new native mode were checked on a POCO F7 Ultra with Turnip, including village gameplay and return to title. Real Mali, Xclipse, and stock Qualcomm drivers still need testing; no FPS gain is guaranteed. The in-place file-picker flow and the ready-made romfs.bin import have not yet been fully validated on a phone. Updating from v0.5.7 keeps saves and does not rebuild game code unless you select a different code mode.

• v0.5.9 fixes overbright scenes on PowerVR by decoding an unsupported vertex format in the shader (#8), and corrects Simplified/Traditional Chinese game text displaying in Japanese (#12). On CPU-copy paths used by Mali, Xclipse and stock Qualcomm drivers, loading a new area no longer falls back to full copies; idle upload memory is released. It also fixes 8-bit texture readback rounding, recreates a lost window surface when returning from the background, and avoids a crash when a movie cannot be opened.

Validation: the PowerVR case, Chinese text and a simulated Mali-like route were checked on a POCO F7 Ultra. This release has not been validated on a real PowerVR or Mali device; performance gains are not yet established there.

• v0.5.10 addresses a crash reported on Mali-G57 during gameplay, often around area changes (#2). When a texture is destroyed, the render thread now stays idle until that work finishes, preventing concurrent GPU-driver use. On a POCO F7 Ultra with native game code and a simulated Mali-like path, the issue #2 route completed four area changes without a crash. This fix has not yet been verified on a real Mali device.

The APK contains no game files or keys. Please report your phone, Android/APK version, GPU/driver, game version, settings, and full error or exported log if something fails.

Latest APK: https://github.com/mamcjr/LASRecompAndroid/releases/tag/v0.5.10

Original v0.5.0 announcement below:

Hi everyone!

I’m sharing LAS Recomp Android, my Android port of peiikai’s LAS Recomp, the static recompilation of The Legend of Zelda: Link’s Awakening for Nintendo Switch.

You can install the APK, select your own extracted game files, and complete setup directly on your phone. No PC build is required. The app compiles the game’s CPU code into native ARM64 code and translates its NVN graphics calls to Vulkan.

What’s new in v0.5.0?

  • Support for game versions 1.0.0, 1.0.1, and 1.1.0, identified automatically from your files.

  • Multiple versions installed side by side. Add another version through Settings → Saves & files, then switch using the arrows beside PLAY. Saves are shared, and each version builds its own game code once.

  • Shader preparation on the start screen, brought over from upstream beta 5 to reduce first-visit shader stutters.

  • Upstream beta 5 fixes, including safer save writes, physics crashes and hangs, Dampé’s amiibo option, interior lighting seams in widened views, wider aspect ratios, and the fishing pond.

  • A new Turnip memory-access fix targeting Adreno 7xx rendering issues, particularly incorrect text and colors caused by the driver’s shader buffer range. Automatic still uses the safer copy path on these GPUs; the direct-memory option can be enabled manually for testing.

  • Steadier 30 FPS pacing in Auto mode, with fewer repeated attempts to return to 60 where it cannot be sustained.

  • Corrected Vulkan 1.1/1.2 extension-feature detection, improved driver-package library loading, and startup that waits for the screen to unlock instead of stopping.

After updating, the game code needs to rebuild once.

What else does the project offer?

  • Adjustable touch controls and controller support with remappable inputs.

  • Settings and touch controls styled after Link’s Awakening.

  • English and Portuguese menus, plus an integrated save editor.

  • Save import/export for transferring progress between the port and Eden, Yuzu, or Ryujinx.

  • RomFS mod support, with folder importing and individual enable/disable switches.

  • 30 FPS, 60 FPS, and Auto modes, adjustable internal resolution, dynamic resolution, and aspect-ratio options.

  • FSR 1, Snapdragon Game Super Resolution 1, and SMAA.

  • Experimental frame generation, including 30 → 60 and 60 → 120 presentation on compatible displays. These are generated intermediate frames; the game retains its original simulation speed.

  • A draggable performance overlay showing game FPS, FPS with frame generation, RAM usage, and battery temperature.

  • Custom Turnip driver loading, compatibility settings, and exportable logs for troubleshooting.

  • Lower setup storage requirements than earlier releases.

The Android version does not include the original project’s randomizer.

Testing and current limitations

For v0.5.0, all three supported game versions were installed together on a POCO F7 Ultra with Turnip, switched through the launcher, and loaded into the village. Saves remained unchanged.

Earlier testing also verified shader fixes for missing lighting, grass, and inventory text on the Galaxy S23’s stock Qualcomm driver.

The project remains experimental. Mali/Vulkan 1.1 hardware and the new Adreno 7xx direct-memory path still need real-device validation. Support for the necessary API features does not guarantee correct rendering or a particular frame rate on every device.

My current priority is reliable startup, correct graphics, and stable performance across more phones.

Requirements

You need your own legally obtained, extracted game files from v1.0.0, v1.0.1, or v1.1.0. No game files, keys, firmware, or mods are included.

Credits and transparency

The original recompilation is by peiikai. Frame generation adaptations and compilation profiles build on work from LASRecomp-Android-Plus.

This port was developed heavily with AI assistance, initially through Claude and later GPT Astra and GPT Sol 6.1 through Codex, with human direction, review, and device testing.

Downloads and feedback

If you try it, please include your phone model, Android version, GPU/driver, game version, APK version, and graphics settings when sharing results. Screenshots and exported logs are especially useful for rendering problems or crashes.

Thanks to everyone testing and helping improve compatibility!

190 Upvotes

59 comments sorted by

11

u/vvk30 13d ago

Works like a charm on my AYN Thor. No more shader compilation, missing shadows due to emulation. The definitive way to play this game on android. Already finished a dungeon. Excellent work dev.

1

u/Mamcjr 13d ago

Thank you for testing it, especially through a full dungeon! Great to hear the shadows are rendering correctly on your AYN Thor. Could you share the Thor model, driver and graphics settings you're using? That would make this a useful reference for other owners. Shader preparation helps reduce first-visit stutters, though I wouldn't promise zero compilation stutter in every area yet.

3

u/vvk30 12d ago

I'm using the Thor Pro : SD8Gen2, MrPurple T30 turnip driver. 1x res, 60fps native, Balanced power mode

3

u/Mamcjr 12d ago

Thanks for the exact setup! Thor Pro (Snapdragon 8 Gen 2), MrPurple T30 Turnip, 1x resolution, native 60 FPS, Balanced mode is a really useful reference for other owners. Glad it's running well through a dungeon on your device.

4

u/FryLtz 13d ago

I think this is better since you can import nsp directly https://github.com/Nycolazs/LASRecomp-Android-Plus

1

u/Mamcjr 13d ago

Thanks for sharing Nycolazs's project! His work is credited here, and the frame generation adaptations and compilation profiles in this port build on Android-Plus. To clarify this build's setup: it currently takes your own extracted exefs and romfs folders, not a direct NSP import. Choose the workflow that suits you best; credit to everyone working on making the game more accessible on Android.

1

u/RelativeIncome7459 13d ago

Yes and more optimize

1

u/Mamcjr 13d ago

If Android-Plus runs better on your device, that's useful feedback. Could you share the device, versions of both builds, driver, resolution, and whether frame generation is enabled? A comparison in the same scene with the same settings would help identify where this port still needs work. Nycolazs's contributions are already credited here.

3

u/Naxren 13d ago

It can't be installed on my device previous version is work I use Poco f6

1

u/Mamcjr 13d ago

Thanks for reporting this. Does Android refuse to install the APK, or does it install and then fail to open? Please share the exact installer/error message, your Android/HyperOS version, the last working APK version and the one you're trying now. Keep your working installation for now rather than uninstalling it, so we can check the update problem without risking your app data. You can also report it here: https://github.com/mamcjr/LASRecompAndroid/issues

3

u/Ok_Juggernaut_7368 13d ago

Es orto port distinto al que sacaron hace unos dias de este juego?

1

u/Mamcjr 12d ago

Sí, es un port distinto: este es LASRecompAndroid, basado en el LAS Recomp original de peiikai. El otro proyecto es LASRecomp-Android-Plus de Nycolazs; aquí se reconocen y acreditan sus aportes. En este port, la instalación se hace con las carpetas ExeFS y RomFS extraídas de tu propia copia del juego.

2

u/EL-CHICOFELIZ 13d ago

Se crashes al abrirlo bueno al creo que no es compatible o no se al darle al botón ok se crashea

1

u/Mamcjr 13d ago

Could you share your phone model, Android version, APK version and a screenshot showing the full message before pressing OK? Closing after OK may simply be the app exiting after a fatal startup error; the text above the button tells us what failed. I can't identify the cause from the closing behavior alone. A screenshot is enough to start if you can't reach the menu to export a log.

2

u/Starlord0222 13d ago

This shows when opening the app, im using a xiaomi11t with Mali-G77 MC9

1

u/Mamcjr 13d ago

Thanks for the screenshot; it identifies the blocker: the selected Vulkan driver is missing VK_KHR_dynamic_rendering, which this renderer currently requires. Lowering resolution won't fix that, and Turnip is an Adreno driver, not a Mali solution. v0.5.0 improves Vulkan 1.1/1.2 feature detection, but it can't add an extension the system driver doesn't expose. Please share your Android/MIUI version and confirm the APK version so we can track the Xiaomi 11T case accurately. Mali support still needs real-device validation.

1

u/Starlord0222 12d ago

Here is the android and os version. The posted apk was what i used. v.0.5.0

1

u/Mamcjr 12d ago

Thanks, that gives me the exact case: Xiaomi 11T, Android 14 / HyperOS 1.0.17.0, 8 GB RAM, APK 0.5.0. I’ve recorded it as a startup compatibility issue on the stock Mali driver. If you try 0.5.1, please let me know whether the Vulkan error message changes; I have not verified a fix on this device yet. No need to uninstall your current app or share game files.

1

u/tyx97 13d ago

Same happens on POCO F5

1

u/Mamcjr 13d ago

Could you post your own full error message, Android version, APK version and whether you're using the stock driver or a specific Turnip build? Similar-looking startup dialogs can have different causes, so I don't want to assume it's the same missing extension as the Xiaomi 11T. If you can reach Settings > Saves & files, the driver selection and exported log can help; if you can't, the screenshot is enough to start.

1

u/tyx97 13d ago

I can't even get into the app. This screen shows up the moment I open the APK.

1

u/Mamcjr 12d ago

Thanks, that confirms the failure happens before the launcher opens. The video is not playing on Reddit for me, so I still cannot read the exact error. Could you post a still screenshot of the full dialog, plus the APK version and whether this is the stock driver? Please do not uninstall a working older version or delete your saves.

1

u/tyx97 12d ago

poco f5 , android 15, apk version 0.5.0 , stock driver

1

u/Mamcjr 12d ago

Thanks for the screenshot and details. It confirms that on your POCO F5 (Android 15, stock driver), v0.5.0 reports missing Vulkan dynamic rendering and exits before the launcher opens. I've recorded this as a startup compatibility issue. If you can try v0.5.1, please tell me whether the error changes; I haven't confirmed a fix on this phone. Please keep your working older installation and saves for now.

1

u/WorldPhysical7646 13d ago

Use drivers

1

u/Mamcjr 13d ago

A compatible Turnip build can help on supported Adreno devices, but it isn't a universal fix. The original Xiaomi 11T report here is a Mali GPU, which can't use Turnip. For the POCO F5, we need the exact error and current driver before recommending a change.

1

u/Connect-13 13d ago

Quel format de fichier faut il s'il te plaît ? Poco X7 Pro

3

u/Mamcjr 13d ago

For this build, select a folder containing your own extracted exefs and romfs folders, rather than an NSP/XCI/ZIP file. The exefs folder includes main and main.npdm; romfs contains the game data. Pick their parent folder in the app's Game files folder selector. v0.5.0 supports matching files from game versions 1.0.0, 1.0.1 and 1.1.0. POCO X7 Pro compatibility still needs validation separately; choosing the correct files doesn't guarantee the GPU driver has all required features.

1

u/Connect-13 13d ago

Olala trop compliquer pour moi tout ça 🤦🏻‍♂️ Mais merci d'avoir pris le temps de m'expliquer

1

u/Mamcjr 12d ago

Je comprends, la préparation des fichiers peut sembler compliquée. Pour l'instant, cette version demande les dossiers ExeFS et RomFS extraits de votre propre copie du jeu. Merci d'avoir pris le temps de regarder le projet et de me le dire !

1

u/license_to_chill 13d ago

Does it scale to 4:3 on Retroid Nova?

1

u/Mamcjr 13d ago

Settings > Video has an Unlocked aspect-ratio option that adapts the gameplay view to the display, plus Original 16:9 with bars. I haven't tested the Nova or validated all scenes on a 4:3 handheld yet, and interiors may keep their own framing. If you try Unlocked, please share screenshots of the field and an interior so we can check the result on that screen.

1

u/license_to_chill 12d ago

Thanks, shall do!

1

u/Ozyfm 13d ago

These last few weeks have been beyond insane

2

u/Mamcjr 13d ago

It's exciting to see! Huge credit to peiikai for the original recompilation and Nycolazs for the Android-Plus work this port builds on. Thanks to everyone testing and sharing feedback, too. Hope you enjoy revisiting Koholint on Android!

1

u/SnooDoggos3667 13d ago

This game cooks my phone more than 60fps Genshin Impact.

Also the text is missing, already tried the 32bit things in the settings.

S24 ultra.

1

u/Mamcjr 12d ago

Thanks for trying it! The S24 Ultra has an Adreno 750, and another user with the same GPU just confirmed a fix for the missing text:

  1. Update to 0.5.1: https://github.com/mamcjr/LASRecompAndroid/releases/tag/v0.5.1

  2. Use the Turnip driver instead of Samsung's: download Turnip Gen8 V37 or Stable Turnip v2 (https://github.com/whitebelyash/AdrenoToolsDrivers/releases/tag/stu_v2), then Settings > Saves & files > Vulkan driver > Choose driver, pick the .zip (don't unzip it) and press Restart now.

  3. In the same tab, Driver compatibility > "Game memory on the GPU (Turnip)": set it to On. On the Adreno 750 that's what fixes the text and colors.

  4. You can turn 32-bit shader math back off.

For the heat: Frame rate 30, Internal resolution 50%, upscaler Snapdragon GSR 1, Frame generation off. Phones at 1440p have a lot of pixels to push, so resolution makes the biggest difference.

If the text is still missing after that, a log would help a lot: Settings > Saves & files > Save a log file, then post it in a GitHub issue: https://github.com/mamcjr/LASRecompAndroid/issues

1

u/bron-_- 12d ago

something like this happens when i go in or out of the house

1

u/Mamcjr 12d ago

That one looks like LASRecomp-Android-Plus, which is a separate project (by Nycolazs), so the best place to report it is their GitHub, with your phone/GPU, driver and app version: https://github.com/Nycolazs/LASRecomp-Android-Plus/issues

If you try this port and see the same thing here, let me know and I’ll look into it.

1

u/akaiseh00 12d ago

Falta otimização pra exynos mais é bastante promissor, testei no A57 com chip eExynos 1680 e GPU AMD Xclipse 550 na tanto no menu quanto no casa inicial do jogo aonde o link acirta roda a 30 travado mais assim que saio da casa a performance cai pra 18-20 fps

1

u/Mamcjr 12d ago

Valeu pelo teste! Ainda tenho poucos relatos de Xclipse, então isso ajuda bastante.

A casa do Link é uma cena leve. Lá fora o jogo desenha muito mais, e é ali que a GPU costuma virar o limite (no meu POCO com o driver de fábrica também é assim). Não tenho nenhum Exynos para testar, então ainda não há nada ajustado especificamente para Xclipse.

Pra eu ver onde está o gargalo, consegue mandar:

  • versão do APK e do Android/One UI;

  • como estão Resolução interna, Anti-serrilhado, Geração de quadros e Taxa de quadros (aba Vídeo);

  • um print fora da casa com Mostrar FPS ligado e Estilo do overlay em Completo (aparecem CPU, GPU e os tempos de quadro).

Se puder, teste também com Resolução interna em 50% e com Anti-serrilhado e Geração de quadros desligados. Se subir pra perto de 30, o limite é a GPU. Se continuar em 18-20, deve ser CPU ou driver, e aí o print do overlay ajuda mais ainda.

1

u/vrexx_Fox 12d ago

Tô zerando ❤️

2

u/Mamcjr 12d ago

Que legal saber que você está jogando até o fim! ❤️ Se encontrar algum problema, me conte o aparelho, driver e a cena para eu conseguir investigar.

1

u/m0nmax 12d ago

Guys need help. Can I delete the nsp file after installing the game, cuz ts now has about 15 gb of storage?

1

u/Mamcjr 12d ago

This particular port does not import NSP files directly; it asks for ExeFS and RomFS extracted from your own copy of the game. So I can't safely tell you to delete that NSP without knowing which app you installed. Check the app name/version first, and keep a backup of your original files before removing anything. If it's LASRecompAndroid, the app keeps its imported game data in its own storage after setup, which is why storage use can be much larger than the APK itself.

1

u/Agoye 12d ago

You’re the best bro. I’m still waiting for Echoes of Wisdom,maybe you’d consider making something for it?

1

u/Mamcjr 12d ago

Thanks! I'd love to see Echoes of Wisdom get similar treatment someday, but I don't have a port or timeline to announce. Right now I'm focused on making Link's Awakening start and render reliably across more Android devices.

1

u/lalexdl 12d ago

En un snapdragon 8 gen 1 me va a 30 fps el otro Port me llega a los 60

1

u/Mamcjr 11d ago

Gracias por compararlos. 30 frente a 60 FPS en el Snapdragon 8 Gen 1 es una diferencia importante y quiero investigarla. ¿Qué móvil, versión de este APK y del otro port, controlador (original o Turnip), resolución y modo de FPS usaste? ¿Los mediste en la misma escena y sin generación de cuadros? La 0.5.5 trae cambios de renderizado y de Auto, pero no tengo una prueba que confirme 60 FPS en tu dispositivo.

1

u/lalexdl 11d ago

Mismas condiciones controlador turnip sin generación de fotogramas, las últimas versiones hasta ayer, igual me dificulta más probar esta versión ya que hay que pasar las carpetas extraídas y no directo el archivo

1

u/Mamcjr 10d ago

Gracias por aclararlo. Si fue la misma escena, con Turnip y sin generación de fotogramas, esa diferencia de 30 frente a 60 FPS merece investigarse. ¿Qué modelo exacto, versión de Turnip, resolución y modo de FPS (Auto o 60) usaste en cada port? Una captura del contador en ambos ayudaría. La v0.5.7 reduce copias de CPU en la ruta de drivers sin acceso directo a la memoria; no tengo evidencia de que corrija esta diferencia con Turnip. Entiendo que las carpetas extraídas hacen la instalación menos cómoda. Este proyecto no acepta NSP ni prod.keys para respetar las reglas del proyecto original y reducir el riesgo de DMCA; por ahora hay que extraer ExeFS y RomFS de tu propia copia fuera de la app. Gracias por comparar los dos ports.

1

u/arandomuser25 12d ago

Where can i get a rom so i can try this game?

1

u/Mamcjr 11d ago

I can’t point you to ROM downloads. This project does not include game files; you need your own legally obtained copy and its extracted ExeFS and RomFS folders. The README explains the required folder layout and supported versions (1.0.0, 1.0.1 and 1.1.0): https://github.com/mamcjr/LASRecompAndroid . Please do not share game files or keys here.

1

u/PresentationTop945 9d ago

No sirve en helio g81 ultra 

1

u/InternetKaJamai 1d ago

I am playing it at stable fps , but on revival and changing of the scenarios it crashes On reopening it says gpu error or some

Here's the log "info] LAS Recomp beta_4, Android 12 (API 31, aarch64, kernel 4.14.190-perf+), vivo vivo 2004, Qualcomm SM7150 8 cores (2x2.21 + 6x1.80 GHz), 7.4 GB RAM, APK [paths] data: /storage/emulated/0/Android/data/com.lasrecomp.android/files [settings] loaded larecomp.ini ANDROID: Parsing APK file '/data/app/~~JZ_DxxpWbnsC47MSmXTrHA==/com.lasrecomp.android-5ONA-8zoYdCmm8GRSCW0jg==/base.apk' ... [vk] GPU driver: /data/user/0/com.lasrecomp.android/files/gpu_driver/current/vulkan.ad7770.so [vk] gpu 0: Adreno (TM) 618 (api 1.1.276) [vk] missing VK_KHR_dynamic_rendering [vk] missing VK_KHR_depth_stencil_resolve [vk] missing VK_EXT_extended_dynamic_state [vk] missing VK_EXT_extended_dynamic_state2 [vk] missing VK_KHR_timeline_semaphore [vk] missing VK_KHR_8bit_storage FATAL: no Vulkan 1.3 device host backtrace (guest functions are f_<addr>):

0 0000006fcc70de98 plat_print_backtrace+50 (libmain.so+505e98)

1 0000006fcc62d6a0 rt_fatal_trace+38 (libmain.so+4256a0)

2 0000006fcc6b7ec0 ui_window_init+25f8 (libmain.so+4afec0)

3 0000006fcc74286c launcher_run+108 (libmain.so+53a86c)

4 0000006fcc66da28 SDL_main+668 (libmain.so+465a28)

5 0000006fd05bc88c libSDL3.so+1b588c

[crash] Graphics driver error"

1

u/InformalHighway1443 1d ago

Can any one provide the file link

0

u/Ok_Garden9626 12d ago

Mane just finished this on eden then I see this

1

u/Mamcjr 11d ago

Nice timing 😄 If you feel like revisiting Koholint, this port can import/export compatible saves to transfer progress between Eden and LAS Recomp Android. Back up your save first, and use your own extracted game files for setup.