Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Bachata S4 logo

Bachata S4

Experimental PlayStation 4 emulation for ARM64 Android devices.
Powered by shadPS4, FEX, a managed Linux runtime, and Vulkan.

[!IMPORTANT] This is the Bachata S4 release repository. It hosts releases, compatibility information, documentation, and community coordination; it is not the maintained emulator core source repository.

The maintained emulator core fork has moved to zenithblue-oss/shadps4-arm64. Core source development and contributions belong in that repository.

Bachata S4 Google Play version Latest GitHub release GitHub release downloads Join Bachata S4 on Telegram

Live compatibility database Android 12 or newer ARM64 GPL-2.0-or-later

Compatibility · Game compatibility discussions · App issues · Releases · Build guide · Compatibility data · Support / Donate

[!IMPORTANT] Bachata S4 is experimental software.

Compatibility and performance can vary significantly by game, emulator release, device, Android version, thermal state, and selected graphics driver. A game reaching gameplay on one configuration does not guarantee that it will work on another.

Bachata S4 does not distribute games, firmware, decryption keys, licenses, or other copyrighted console files. You must provide and use only software and content that you legally own or are otherwise legally entitled to use.


What is Bachata S4?

Bachata S4 adapts the shadPS4 emulator for modern ARM64 Android devices. It combines:

  • the shadPS4 emulator core;
  • FEX-based x86-64 guest execution on ARM64 hardware;
  • a reproducibly built, managed Debian/glibc runtime;
  • Android display, audio, input, and lifecycle integration;
  • Vulkan rendering through a compatible system driver, Mesa Turnip, or another explicitly selected custom driver;
  • a mobile game library, per-game settings, touch controls, and physical-controller support.

The Android frontend is located in android/BachataS4. Runtime inputs and pinned upstream revisions are maintained under runtime/locks.


🎮 Game compatibility

Compatibility is evidence-based and specific to the exact emulator release, device, GPU, Android version, guest backend, and graphics driver used by the tester.

The live source of truth is the Bachata S4 compatibility website. Structured report data, screenshots, and compressed logs are maintained separately in JICA98/Bachata-S4-Compatibility.

Current snapshot: 9 tested games — 6 In-game · 1 Menus · 2 Boots

ScreenshotGameSerialStatusLatest recorded resultCompatibility / discussion
Bloodborne screenshotBloodborneCUSA00900🟢 In-gameReaches controllable gameplay in Hunter's Dream. Recorded Turnip test averaged 21.03 FPS, with 17–30 FPS observed during gameplay.Live report · Issue #100
Dark Souls Remastered screenshotDark Souls: RemasteredCUSA08692🟢 In-gameReaches controllable gameplay in Undead Asylum at roughly 24–30 FPS on the recorded Turnip configuration.Live report · Issue #101
Sonic Mania screenshotSonic ManiaCUSA07023🟢 In-gameReaches Green Hill Zone Act 1 at ~60 FPS in the recorded Vortek test.Live report · Issue #102
Sekiro screenshotSekiro: Shadows Die TwiceCUSA13801🟢 In-gameReaches controllable gameplay in the opening Ashina Reservoir area; recorded gameplay runs roughly 19–30 FPS with heavier dips.Live report · Issue #103
Dragon's Crown Pro screenshotDragon's Crown ProCUSA10454🟢 In-gameReaches controllable dungeon gameplay at about 60 FPS in the recorded OnePlus 13 / Turnip gen8 v3 test.Live report · Issue #106
TMNT Mutants in Manhattan screenshotTeenage Mutant Ninja Turtles: Mutants in ManhattanCUSA01843🟢 In-gameReaches controllable stage gameplay at a locked 30 FPS in the recorded OnePlus 13 / Turnip gen8 v3 test.Live report · Issue #107
Crash Bandicoot N. Sane Trilogy screenshotCrash Bandicoot N. Sane TrilogyCUSA07399🟡 MenusReaches the title screen at about 30 FPS, but the recorded test could not advance to the main menu or gameplay.Live report · Issue #104
Galak-Z screenshotGalak-ZCUSA03146🟠 BootsBoots and renders frames, but remains on a dark boot frame and does not reach the title screen.Live report · Issue #105
SnowRunner screenshotSnowRunnerCUSA17425🟠 BootsReaches a rendered title screen at roughly 15–20 FPS, but the screen is static and does not respond to input; menus were not reached.Live report · Issue #108

[!NOTE] In-game does not mean fully playable. It means controllable gameplay was reached in at least one recorded configuration. Completion, long-session stability, correct rendering, audio, input, and performance may still have major problems. FPS values above describe specific recorded tests and are not performance guarantees for other devices.

Click any thumbnail or Live report link to open the underlying compatibility page.

StatusConfirmed titles
playable0
ingame6
menus1
boots2
nothing0

Status meanings

StatusMeaning
PlayableSuitable for normal play in the tested configuration, with no major blocker found.
In-gameReaches controllable gameplay, but completion and full stability are not verified.
MenusReaches menus or title screens but not controllable gameplay.
BootsStarts and produces meaningful output before an early blocker.
NothingCrashes, hangs, or fails to produce useful output in the tested configuration.

How the Android runtime works

flowchart LR
    A["User-owned PS4 homebrew or legal dump"] --> B["Bachata S4 Android frontend"]
    B --> C["shadPS4 emulator core"]
    C --> D["FEX x86-64 → ARM64 guest execution"]
    C --> E["Managed Debian / glibc runtime"]
    C --> F["Vulkan rendering"]
    F --> G["Android system Vulkan driver"]
    F --> H["Selected Mesa Turnip or custom driver"]
    F --> K["Vortek transport over the system Vulkan driver"]
    B --> I["Touch controls / physical controller"]
    B --> J["Android display, audio and lifecycle integration"]

Every compatibility report records the active backend and driver. Performance from one phone or driver must not be generalized to every Android device.


Features

  • PS4 emulation frontend designed for ARM64 Android
  • shadPS4 core integrated with an Android-focused runtime
  • FEX guest execution for x86-64 workloads
  • Vulkan rendering through system, Turnip, or selected custom drivers
  • Vortek-based Vulkan integration paths
  • Game library with cover artwork and metadata
  • Per-game settings and graphics-driver selection
  • Configurable touch controls
  • Physical-controller mapping
  • Session logs and diagnostic export
  • Release-, device-, and driver-specific compatibility reports
  • Screenshot- and log-backed public testing workflow
  • Google Play and source-built distribution paths
  • Open-source code under GPL-2.0-or-later

Requirements

ItemRequirement
Operating systemAndroid 12 or newer — API 31+
CPU architecturearm64-v8a
GraphicsVulkan-capable GPU and compatible driver
Recommended hardwareRecent high-end Snapdragon/Adreno device
StorageSufficient space for the app, runtime, shaders, and user-provided content
ContentUser-owned homebrew or legally dumped software only

Compatibility can differ substantially between devices that appear similar. Check reports from the same SoC, GPU generation, Android version, and driver family whenever possible.


Download

Google Play — recommended

The supported Google Play build is the easiest installation path and directly supports continued development, device testing, and compatibility work.

Install Bachata S4 from Google Play

GitHub

Source-linked project builds, release notes, checksums, and downloadable artifacts are available under GitHub Releases.

[!NOTE] The GitHub download badge counts GitHub release assets only. It does not include Google Play installations.


Quick start

  1. Install Bachata S4 from Google Play or a trusted project release.
  2. Open the app and complete the initial runtime setup.
  3. Select the graphics driver appropriate for the device.
  4. Import user-owned homebrew or a legally dumped title.
  5. Launch the title and allow initial shader or pipeline compilation to complete.
  6. Compare the result with the live compatibility database.
  7. When reporting a problem, include the Bachata S4 release, phone, Android version, selected driver, reproduction steps, and sanitized session log.

Bachata S4 does not provide PS4 games, firmware, licenses, decryption keys, or copyrighted system files.


Graphics-driver policy

Turnip drivers are not bundled inside the APK. They are installed after application setup from the project’s trusted driver feed or imported from a local compatible ZIP.

The exact driver name, version, build, and source must be recorded in compatibility reports. A filename, Vulkan API version, Android version, or GPU model is not a substitute for the actual Turnip version.

See documents/android-building.md for the maintained runtime and packaging rules.


Compatibility data architecture

The website frontend remains in this repository, while compatibility evidence is stored in the dedicated data repository:

JICA98/Bachata-S4
├── compatibility-site/                  # Static frontend
├── scripts/compatibility/               # Capture helper
├── .agents/skills/bachata-compatibility/
└── .github/workflows/compatibility-pages.yml

JICA98/Bachata-S4-Compatibility
├── games/
│   └── CUSAxxxxx/
│       ├── game.json                    # Stable title metadata
│       └── reports/
│           └── <immutable-report>.json  # One file per test
├── assets/
│   └── CUSAxxxxx/<report-id>/
│       ├── screenshots/
│       └── logs/
└── scripts/
    ├── validate.py
    └── build_site_data.py

The homepage loads a compact generated index grouped by CUSA ID. Full history is loaded only when a user opens a title, preventing duplicate cards and keeping the site responsive as reports grow.


Submit a compatibility report

Use .agents/skills/bachata-compatibility/SKILL.md for the complete agent workflow.

The workflow:

  1. Searches for or creates one canonical game issue in JICA98/Bachata-S4.
  2. Creates a dedicated branch and Git worktree for Bachata-S4-Compatibility.
  3. Selects the exact ADB device, Bachata release, and graphics driver.
  4. Launches the title and captures screenshots, logs, device data, and performance evidence.
  5. Adds a new immutable report without overwriting previous results.
  6. Shows the proposed report and screenshots to the tester.
  7. Publishes the compatibility pull request only after explicit tester confirmation.
  8. Updates the canonical main-repository issue and embeds representative screenshots in the issue conversation.

A useful report includes:

  • official Bachata S4 release tag and exact commit;
  • CUSA serial and game/update version;
  • exact phone model, SoC, GPU, RAM, and Android version;
  • guest backend;
  • graphics-driver type, exact version, build, and source;
  • the furthest status actually observed;
  • clear reproduction notes and known problems;
  • representative screenshots;
  • sanitized compressed session logs;
  • FPS measurements only when the sampling method is recorded.

Build from source

The open-source emulator client and ARM64 core are available from the ARM64 client source. The high-level requirements and build flow below describe the Android build.

Current high-level requirements include:

  • Linux or WSL2 x86-64
  • JDK 17+ and Node.js 20+
  • Android SDK platform/build-tools 37
  • Android NDK 30.0.14904198
  • CMake 3.22.1
  • Ninja
  • Debian/Ubuntu runtime build dependencies

High-level build flow:

git submodule update --init --recursive --jobs 8
runtime/scripts/build-runtime-debian.sh
node runtime/tests/verify-runtime.mjs runtime/locks/components.lock.json
node runtime/tests/verify-no-bundled-turnip.mjs runtime/build/rootfs

cd android/BachataS4
./gradlew clean test lintDebug assemblePlaystoreDebug

Do not copy commands from old releases or third-party guides without checking the maintained Android build document.


Project status

Bachata S4 is not a finished or universal PS4 emulator. A title may:

  • fail before rendering;
  • reach only menus or partial gameplay;
  • have missing graphics, audio, or input;
  • run slowly on current mobile hardware;
  • behave differently across Android versions or drivers;
  • regress or improve between emulator releases;
  • require game-specific emulator work.

Public compatibility testing helps determine whether a blocker belongs to guest execution, kernel/HLE behavior, graphics, audio, input, runtime packaging, or Android integration.


Issues and contributions

Before opening a new game discussion, search for its exact CUSA ID. One canonical issue is used per game so that reports from different releases, phones, and drivers remain in one conversation.


FAQ

Does Bachata S4 include PS4 games?

No. Bachata S4 includes no games or copyrighted console content. Users must provide software they legally own or open-source homebrew.

Does “In-game” mean a title is fully playable?

No. It means controllable gameplay was reached in a specific recorded environment. Check the report’s notes, screenshots, device, driver, and emulator release.

Why can the same title behave differently on two phones?

CPU generation, GPU, Android version, available memory, graphics driver, thermal limits, and emulator release can all affect behavior.

Which devices are recommended?

Recent flagship Snapdragon devices with Adreno GPUs are currently the most practical testing targets, but no device guarantees compatibility.

Where should Bachata S4 be downloaded?

Google Play is the recommended supported installation. GitHub Releases provide source-linked project builds and checksums.


Legal

Bachata S4 is an independent open-source project and is not affiliated with, endorsed by, or sponsored by Sony Interactive Entertainment.

“PlayStation” and related marks are trademarks of their respective owners. Bachata S4 does not distribute games, firmware, keys, licenses, or copyrighted system components.

Use only software and content you have the legal right to run.


Credits

  • shadPS4 developers and contributors — emulator core
  • FEX-Emu developers and contributors — x86-64 guest execution
  • Winlator, Vortek, Box64, Mesa, Vulkan, GNU, and other runtime projects listed in NOTICE.android-runtime.md
  • Everyone submitting reproducible reports, screenshots, logs, fixes, and testing feedback

License

Bachata S4 is licensed under GPL-2.0-or-later. Third-party runtime components retain their respective licenses; see NOTICE.android-runtime.md.


Support / Donate

If you find Bachata S4 useful and would like to support ongoing development, donations are welcome:

Donate Bitcoin

MethodAddress / Identifier
Bitcoin (BTC)bc1q9zc0nxypk0lugjrst7hrqmlarvvk848rpxjepy
Tether (USDT)jicaetzc81@tether.me

Help push PlayStation 4 emulation on Android forward.
Install responsibly. Test carefully. Share evidence. Improve compatibility.

关于 About

Bachata S4 releases, compatibility reports, and public community portal
androidbachata-s4emulationplaystation-4shadps4vulkan

语言 Languages

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
16
Total Commits
峰值: 7次/周
Less
More

核心贡献者 Contributors