The Elder Scrolls V: Skyrim

Skyrim_Android (2011 PC)

Unofficial Android port of the original 2011 PC Skyrim, statically recompiled from x86 to ARM64. A patched dxvk-native turns Direct3D 9 into Vulkan 1.1, and SDL2 handles input and the optional touch overlay. Special Edition is not supported.

Original Dev: Bethesda Game Studios
Port Maintainer(s): ttom795
Latest Release: 0.27.6 ·

What You Need

  1. Requires files from your own PC install of the original 2011 Skyrim (not Special Edition). The author used the Steam version.

    • Skyrim.esm
    • Skyrim - *.bsa
    Verify Your Files (Client-Side) 100% In-Browser
    Privacy guarantee: Files never leave your device. File names, headers, and checksums are checked locally in your browser.

    Drag & drop file(s) here or browse from your device

    Matches your files against this port's requirements and calculates SHA-256 hashes.

    File Requirements Checklist (2 required):

    • Skyrim.esm Pending file
    • Skyrim - *.bsa Pending file
  2. Target hardware: Snapdragon 8 Gen 2 or newer or equivalent (64-bit ARM64, Android 10+).

  3. Controls ready out of the box

    On-screen touch controls work immediately. Physical Bluetooth and USB-C controllers are also supported.

Statically Recompiling Bethesda’s 2011 Creation Engine to ARM64

Bethesda Game Studios’ landmark open-world role-playing game The Elder Scrolls V: Skyrim has long served as a benchmark for mobile hardware. However, running the game on Android previously required heavy x86 translation layers such as Box64 or Wine-based compatibility wrappers. Developer ttom795’s Skyrim_Android (v0.21) bypasses emulation entirely by statically recompiling the original 32-bit 2011 PC Creation Engine executable (TESV.exe) directly into native 64-bit ARM64 machine code. This binary translation allows core scripts, Papyrus virtual machines, world cell loaders, and Havok physics routines to run directly on the host CPU. Recent v0.20 and v0.21 releases expanded performance by implementing multithreaded job dispatching across CPU cores while fixing critical regressions like menu audio playback, spell lighting shaders, and dynamic world map weather rendering.

PC Oldrim Asset Deployment and Directory Setup

Because Skyrim_Android is an open-source binary recompiler rather than a standalone game distribution, users must supply their own retail PC assets. Note that the port is built specifically around the original 32-bit release (“Oldrim” or Legendary Edition on Steam) and cannot run 64-bit Skyrim Special Edition:

  1. Install the original 2011 PC release of The Elder Scrolls V: Skyrim on your computer from your legal Steam library or retail PC DVD.
  2. Navigate to the game’s installation folder on your PC and open the Data/ directory.
  3. Verify that your Data/ folder contains the master game plugins (Skyrim.esm, Update.esm) and core compressed archives (Skyrim - Textures.bsa, Skyrim - Meshes.bsa, Skyrim - Sounds.bsa, Skyrim - Voices.bsa).
  4. Download and install the latest Skyrim_Android APK from the GitHub releases page.
  5. Create a folder named /sdcard/Skyrim/Data/ on internal storage and copy your PC Data/ files and base .ini configuration files directly into it.
  6. Launch the app and allow the asset loader to index the BSA archives before starting a new campaign.

Vulkan 1.1 via dxvk-native and Multithreaded Core Scaling

To bridge desktop graphics and mobile GPUs, the port integrates a patched dxvk-native translation layer that converts original Direct3D 9 API draw calls into modern Vulkan 1.1+ commands. Rendering Skyrim demands substantial hardware overhead: devices require at least 8 GB of RAM, roughly 15 GB of storage, and a modern flagship processor. On Qualcomm Snapdragon 8 Gen 2 and Snapdragon 8 Gen 3 devices, the recompiled engine sustains smooth frame rates across open wilderness and towns like Whiterun. Because modern ARM SoCs leverage heterogeneous CPU architectures, the engine’s multithreaded scheduler balances physics and AI processing across performance cores while routing background audio and asset streaming to efficiency cores to prevent thermal throttling.

SDL2 Gamepad Mappings and Touchscreen Navigation

Input is managed through an optimized Simple DirectMedia Layer (SDL2) pipeline that supports both mobile touchscreens and external controllers. The port features an optional on-screen virtual overlay with dual sticks and quick-access buttons for shouts and inventory management. For players using physical handheld controllers, USB-C gamepads, or Bluetooth controllers, the in-game settings menu includes a native layout toggle. This allows users to switch seamlessly between standard Xbox (A/B/X/Y) button mapping and Nintendo-style (B/A/Y/X) physical layouts, ensuring accurate prompt confirmations on popular retro gaming handhelds.

Release Changelog & Update History

1 Release Tracked
0.27.6
  • Latest tracked GitHub release verified by the DroidPorts release monitor.