# droid-deck/droiddeck

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/droid-deck-droiddeck).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

18,463 stars · 948 forks · Kotlin · GPL-3.0

## Links

- GitHub: https://github.com/Droid-Deck/DroidDeck
- awesome-repositories: https://awesome-repositories.com/repository/droid-deck-droiddeck.md

## Description

DroidDeck is an Android app that turns a phone or handheld into a console-style gaming device. It presents a controller-first interface modeled on a dedicated gaming mode, and it launches the Steam client, signs the user in, and runs Steam games. Windows titles run through a compatibility layer, with x86-to-ARM64 translation that lets desktop software run on mobile processors.

It installs without root access by sideloading the app package together with a self-contained Linux runtime inside the app's own sandbox. On newer Android versions, users may need to turn off child process restrictions, and the app walks them through this. Per-game profiles store fixes and graphics driver settings and apply them automatically when a title launches. Gamepad input reaches running games through a shared-memory channel and appears as a standard Xbox controller when Steam is absent.

Beyond Steam, DroidDeck merges libraries from Epic Games, GOG, Battle.net, Xbox, and itch.io into one browsable list, and each title launches through its own client. It also covers Xbox cloud game streaming with adjustable options and image sharpening, Steam VR titles, a full Linux desktop environment, and World of Warcraft addon management.

The app is written in Kotlin with Rust components built through the Android NDK. It can be compiled from source with Gradle and installed with a local deploy script. Unit tests can be run, and the app can package its logs into a compressed file to attach to bug reports.

## Tags

### Operating Systems & Systems Programming

- [Handheld Game Launchers](https://awesome-repositories.com/f/operating-systems-systems-programming/handheld-game-launchers.md) — Offers a controller-first, console-style launcher interface that turns an Android phone or handheld into a dedicated gaming device.
- [Steam Play Optimizations](https://awesome-repositories.com/f/operating-systems-systems-programming/steam-play-optimizations.md) — Runs the Steam client and its games on Android phones and handhelds through translation and compatibility layers with a console-style interface. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Linux Environment Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/android-linux-desktop-integration/linux-environment-layers.md) — Ships a self-contained Linux userland sideloaded inside the app sandbox that runs desktop applications and Steam without root access.
- [PC Game Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/pc-game-compatibility-layers.md) — Runs Windows games on Android through translation to ARM, with per-game fixes and graphics driver settings so difficult titles start.
- [Steam Client Launchers](https://awesome-repositories.com/f/operating-systems-systems-programming/steam-client-launchers.md) — Starts Steam inside an installed Linux runtime when the user presses Play, then signs the user in to their account. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Steam Client Launchers](https://awesome-repositories.com/f/operating-systems-systems-programming/steam-library-integration/steam-vr-launchers/steam-client-launchers.md) — Starts the Steam client inside the Linux runtime when Play is pressed, signs the user in, and runs Steam games.
- [Windows Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-compatibility-layers.md) — Runs Windows games on Android by mapping Windows system calls and graphics APIs onto Linux equivalents.
- [Windows Emulators for Android](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-emulators-for-android.md) — Runs Windows games on Android by translating Windows system calls and graphics APIs, with per-game fixes and graphics driver settings.
- [x86-on-ARM64 Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/x86-on-arm64-emulation.md) — Translates x86 Linux and Windows program instructions to ARM64 at runtime so desktop software runs on mobile processors.
- [x86-to-ARM Translation](https://awesome-repositories.com/f/operating-systems-systems-programming/x86-to-arm-translation.md) — Translates x86 Linux and Windows program instructions into ARM64 at runtime so desktop software runs on phone processors.
- [Non-Root Mobile Linux Deployments](https://awesome-repositories.com/f/operating-systems-systems-programming/custom-linux-installations/non-root-mobile-linux-deployments.md) — Installs by sideloading the app package together with a Linux runtime, so no root access is required. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Linux Sandboxes](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-sandboxes.md) — Installs a self-contained Linux userland inside the app's own sandbox so no root access is needed.
- [Steam Library Integration](https://awesome-repositories.com/f/operating-systems-systems-programming/steam-library-integration.md) — Starts the Steam client, signs the user in, and plays Steam titles, including Steam VR games, on a mobile device.

### Game Development

- [Game Compatibility Layers](https://awesome-repositories.com/f/game-development/game-compatibility-layers.md) — Runs Windows games on Android through a compatibility layer with per-game fixes and graphics driver settings. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Multi-Storefront Account Aggregators](https://awesome-repositories.com/f/game-development/game-library-interfaces/multi-storefront-account-aggregators.md) — Connect Epic Games, GOG, Battle.net, Xbox, and itch.io libraries so purchased titles can be downloaded and launched from one place on the device. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Unified Game Library Managers](https://awesome-repositories.com/f/game-development/unified-game-library-managers.md) — Combines owned titles from GOG, Epic Games, Xbox and other storefronts into one list where each game can be browsed and launched. ([source](https://github.com/droid-deck/droiddeck#readme))
- [Gaming Interface Plugins](https://awesome-repositories.com/f/game-development/game-library-interfaces/gaming-interface-plugins.md) — Presents a controller-friendly console-style gaming interface on Android that mirrors a dedicated gaming mode's look and flow. ([source](https://github.com/droid-deck/droiddeck#readme))

### User Interface & Experience

- [Controller-Driven Interfaces](https://awesome-repositories.com/f/user-interface-experience/controller-driven-interfaces.md) — Builds the entire interface around gamepad navigation, mirroring a dedicated console gaming mode instead of touch-first mobile layouts.
- [Controller Input Mapping](https://awesome-repositories.com/f/user-interface-experience/controller-input-mapping.md) — Passes gamepad input to running games through a shared-memory channel and presents it as a standard Xbox controller when Steam is absent. ([source](https://github.com/droid-deck/droiddeck#readme))

### Development Tools & Productivity

- [Per-Game Launch Parameters](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/per-game-profile-managers/per-game-launch-parameters.md) — Stores fixes and graphics driver settings per game and applies them automatically when each title launches.

### Networking & Communication

- [Shared Memory IPC](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/inter-process-communication/shared-memory-ipc.md) — Passes gamepad events to running games through a shared memory region for low-latency input presented as an Xbox controller.
