Skip to content

About

KytyPS5 Android port: PS5 games on Android ARM64 (FEXCore JIT + Vulkan on Mesa Turnip/Adreno). Status, roadmap and contributor guide in docs/android.

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

 
 

Repository files navigation

KytyPS5 Android

Platform GPU Status License Release Stars

PlayStation 5 games on Android tablets and phones.

KytyPS5 Android is a port of the KytyPS5 PS5 translation layer to Android ARM64. The games' x86-64 code runs on an embedded FEXCore JIT. Their GPU work is translated to Vulkan and runs on Qualcomm Adreno GPUs through the open-source Mesa Turnip driver. It is a separate project with its own goals: speed on mobile GPUs, thermals, touch controls and per-game tuning.

⭐ If you'd like PS5 games on Android, star the repo. It helps more people find the project and bring in contributors.

Important

This project is not affiliated with Sony Interactive Entertainment or PlayStation. It does not distribute games, keys or system software. Use only game dumps you own.

Astro Bot running on a OnePlus Pad 3

What runs today

Measured on a OnePlus Pad 3 (Snapdragon 8 Elite, Adreno 830):

Game State Speed
Vampire Survivors ✅ Playable ~60 fps
Totally Reliable Delivery Service 🟡 Nearly playable 28–35 fps
Astro Bot 🟠 Runs, slow 12–17 fps; ~20 fps in Performance mode
Commandos: Origins (Unreal Engine 5) 🔴 Boots, very slow ~2 fps

Full details are in docs/android/STATUS.md, and docs/android/ROADMAP.md covers what's next.

Totally Reliable Delivery Service Commandos: Origins
Totally Reliable Delivery Service Commandos: Origins

Astro Bot, native (left) vs Performance mode (right). Performance mode runs at 720p with faster lighting. It is an opt-in preset in the launcher.

Astro Bot native vs Performance mode

Features

  • Launcher:
    • game library for unpacked folders and .exfat images;
    • per-game settings;
    • GPU driver picker (custom Turnip builds via libadrenotools).
  • On-screen controls: a full DualSense layout with touch pad and sticks.
  • Per-game presets: ship known-good settings per title, off by default. Examples: UE5 resolution overrides, and Astro Bot's Performance mode, which uses a render-size patch plus half-rate lighting.
  • Mobile GPU work:
    • shader translation tuned for Adreno/Turnip;
    • half-rate ray-traced lighting;
    • workgroup packing;
    • multi-threaded GPU command front-end;
    • thermal-aware clock handling.
  • Diagnostics: --perf-stats per-second performance lines, live knobs and GPU breadcrumbs.

Requirements

  • An Android ARM64 device with a Qualcomm Adreno GPU. It is developed and tested on the Adreno 830; other GPUs are untested, and reports are welcome.
  • 16 GB RAM recommended. Astro Bot alone uses ~13 GB of system memory on the test device.
  • A Turnip Vulkan driver loaded through the launcher. Mainline Turnip v32 is the default.

Getting started

  1. Download an APK from Releases and install it. Nightly is built automatically from every push; v… releases are milestones. The Turnip GPU driver is bundled. To build it yourself instead, follow docs/android/CONTRIBUTING.md (Android NDK 28.2, CMake, Ninja, Gradle).
  2. Copy your game dump (a folder, or an .exfat image) to the device's Download folder.
  3. Open KytyPS5 and pick the game in the launcher. Per-game presets such as Performance mode are in its settings.

Contributing

Help is very welcome: performance work, more games tested, more devices tested, launcher UI.

AI use

Much of this port was developed with AI coding agents working under human direction. Every change is built, unit-tested and measured on a real device before it lands. Contributions made with AI help are welcome. Say so in the pull request and describe how you tested.

Star history

Star History Chart

Credits

  • KytyPS5: the PS5 translation layer this port is built on.
  • Kyty by InoriRus: the original project KytyPS5 grew from.
  • FEX-Emu: the x86-64 JIT (FEXCore). Our local FEX patch is ours alone and is never sent upstream.
  • Mesa Turnip and the community Turnip builds: the Adreno Vulkan driver.
  • libadrenotools: custom driver loading on Android.
  • SDL3: windowing, input and audio.
  • shadPS4: a reference for PS4/PS5 GPU and memory behaviour.

License

GNU General Public License version 2 (GPL-2.0-only), the same as KytyPS5. Kyty's original MIT notice is preserved in LICENSES/Kyty-MIT.txt. Third-party components keep their own licenses.

About

KytyPS5 Android port: PS5 games on Android ARM64 (FEXCore JIT + Vulkan on Mesa Turnip/Adreno). Status, roadmap and contributor guide in docs/android.

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages