You are currently viewing SharpDroid brings SharpEmu to Android with FEXCore and gains real game pausing
Dead Cells em captura oficial do SharpDroid no Android.

SharpDroid brings SharpEmu to Android with FEXCore and gains real game pausing

  • Post author:
  • Post last modified:October 4, 2026
  • Post category:Emulation / News
  • Reading time:4 mins read

The SharpDroid on Android received a real pause and resume system for games running through SharpEmu on October 3, 2026. The project runs the Linux x64 build of the PlayStation 5 emulator on ARM64 devices via FEXCore and a custom Android layer, featuring direct access to Vulkan and AAudio.

The change makes it possible to temporarily leave the app without keeping the guest consuming CPU in the background. According to measurements recorded by the developer with Dreaming Sarah, usage dropped from approximately 140% of a single core to zero during the pause, while a 308-second pause resumed at the exact same process state without adding that interval to the game's clock.

SharpDroid on Android uses FEXCore to run SharpEmu

In turn, SharpDroid is not a simple recompiled ARM64 version of SharpEmu. The project loads the Linux x86-64 build of the emulator and uses FEXCore to translate x86-64 instructions to ARM64 during execution.

Dreaming Sarah sendo executado pelo SharpDroid no Android

Dreaming Sarah in a screenshot published by the SharpDroid project. Image: mircowuffwuff/GitHub.

Around FEXCore is its own host layer. It handles ELF loading, syscalls, signals, memory, and library calls. For graphics, an intermediary library forwards SharpEmu calls to Vulkan on Android. Audio follows a similar path via AAudio.

This architecture differs from projects like ARMSX3 for Android, which adapts another emulation base to ARM64. In SharpDroid, the approach is to keep the upstream SharpEmu x64 close and translate the necessary path to mobile hardware.

SharpDroid on Android pauses threads, audio, and monotonic clock

In addition, the new guest mechanism is not limited to hiding the window. When the pause takes effect, the game threads park at controlled points and audio streams also stop. Furthermore, the time accumulated during the pause is subtracted from the monotonic clocks delivered to the guest.

This prevents a game from interpreting several minutes outside the application as continuous runtime. The code also adjusts monotonic deadlines used by calls such as clock_nanosleep and certain futexes.

Lista de jogos da interface do SharpDroid no Android

SharpDroid game library interface. Image: mircowuffwuff/GitHub.

Android 13 helps preserve the background process

On Android 13 or newer, SharpDroid also starts a foreground service of type specialUse while the game is active. The objective is to reduce the chance of the system terminating the process when the user leaves the application.

On the other hand, the developer points out that returning to the app does not automatically resume the game. Resuming depends on user action via the interface or controller. In addition, the application keeps a copy of the last frame on the surface while the guest starts rendering an image again.

SharpEmu builds can be swapped via the manager

Finally, another architectural element is the SharpEmu build manager. SharpDroid allows importing different payloads and selecting a specific build per game. Thus, specialized forks can be tested without turning the entire application into a separate variant.

Gerenciador de builds do SharpEmu dentro do SharpDroid

SharpEmu build manager integrated into SharpDroid. Image: mircowuffwuff/GitHub.

The project requires an ARM64 processor, Android 9 or higher, and a GPU with Vulkan support. Even so, the README itself treats SharpDroid and SharpEmu as experimental technologies. Therefore, the existence of the Android layer does not imply broad compatibility with the PS5 library.

The progress happens while other console emulation projects are also evolving. Allves Games follows, for example, the Allves Games KytyPS5 on Windows, Linux and macOS. In the case of SharpDroid, the difference lies in bringing execution to ARM64 Android devices through FEXCore.

Project remains experimental

SharpDroid does not include games, firmware, or other proprietary PlayStation assets. Tests must use files legally obtained by the user themselves. Furthermore, the developer warns that external builds of SharpEmu should only be imported when the source is reliable.

Thus, the real pause solves an important mobile usage problem: the game stops consuming CPU while the user is out of the application and can resume in the same process. At the same time, the feature preserves the experimental nature of the project and does not alter SharpEmu's compatibility limitations.

Sources: official SharpDroid repository | application pause commit | guest pause commit