# DroidDeck: running Steam Big Picture and Windows games on Android Adreno hardware

> DroidDeck runs Valve's Steam client in Big Picture mode on Android Adreno devices, using ARM64 Proton to handle Windows games without root. Version 0.3.1 requires Android 9 or newer, about 3 GB for the runtime, and a supported Adreno 730 or 8xx GPU.

**Droid-Deck/DroidDeck** — DroidDeck brings the SteamOS experience to Android

- Repository: https://github.com/Droid-Deck/DroidDeck
- Stars: 4,653 · Forks: 190
- Language: Kotlin
- License: GPL-3.0
- Published: 2026-10-11 · Updated: 2026-10-11 · Language: en
- Canonical page: https://hysenlabs.com/projects/droid-deck-droiddeck

## Steam Big Picture on Android Adreno hardware through ARM64 Proton

DroidDeck runs Valve's Steam client in Big Picture mode on Android. The target hardware is Adreno-based handhelds: the GPU family in Qualcomm Snapdragon SoCs used in Android gaming devices. Windows game compatibility comes from ARM64 Proton, Valve's translation layer that maps Windows game calls to Linux and, in this case, to the ARM64 architecture of Android handhelds.

The setup installs a Linux runtime alongside the Steam client. Once installed, DroidDeck presents Steam's Big Picture interface on the Android home screen. Steam itself downloads on first launch, so the initial session is download-heavy before any game is playable.

The most recent stable release is 0.3.1, dated 2026-10-05. Component releases followed: gamescope-3.16.29-p6 on 2026-10-03 and msitools-0.106-r1 (msitools 0.106 with cabextract 1.11 for aarch64) on 2026-10-06. The repository was last pushed on 2026-10-06. GPL-3.0 covers the project's own code, while Steam and Proton belong to Valve Corporation, with no affiliation between DroidDeck and Valve.

## Adreno 730 and 8xx are supported; 6xx is experimental with DX12 crashes

GPU compatibility is the first thing to confirm before installing. DroidDeck supports Adreno 730 or newer, plus the 8xx series. Adreno 6xx is explicitly experimental: DirectX 11 uses DXVK 2 and may run, but DirectX 12 games can still crash on 6xx hardware.

Four GPU families are unsupported: Mali, Xclipse, PowerVR, and Adreno 710. The Adreno 710 exclusion matters because that GPU appears in some mid-range Snapdragon SoCs that otherwise look capable, so the explicit carve-out is worth checking against your specific SoC model.

Even within the supported Adreno 730 and 8xx tier, compatibility and performance vary by device. Hardware validation is described as limited in the project's own documentation. The DroidDeck Discord has a device reports section from community members, which is the practical place to check per-device results before investing time in a full install. A supported GPU is a necessary condition, not a guarantee. Two devices with the same Adreno tier can behave differently if other hardware or firmware details differ, and the only way to know is to look at reports from the same device model or run the install yourself.

## Installing the APK and the Linux runtime before the first Steam session

DroidDeck distributes as an APK from the Releases page on GitHub. Installation follows 3 stages in order: install the APK, install the Linux runtime, then press Play and sign in.

Storage requirements are given in the project documentation. The runtime needs about 3 GB. Installing Desktop & apps, which adds a desktop environment and emulators, requires 1.1 GB more. Steam game downloads add on top of both those figures. The actual space needed before launching any game is the runtime and optional desktop layer combined, with game data installing separately after Steam launches.

The Store component, available after the Desktop & apps install, handles Linux applications and games from Flathub using Flatpak, restricted to ARM64 builds. AppImages are an additional option, and the Store can also run setup scripts. One implementation detail on AppImages: x86 AppImages and any AppImages whose own runtime cannot unpack them are handled by uruntime, a third-party tool by VHSgunzo under the MIT license. DroidDeck ships uruntime unmodified with its license file.

The project warns explicitly against downloads from sites claiming to be the DroidDeck team, since no stand-alone DroidDeck website exists. The APK source is the GitHub Releases page only.

## Restrict child processes must be off before Steam will start

Before the first Steam launch, Restrict child processes must be turned off in Developer options. DroidDeck needs this setting disabled to run the Linux runtime inside the Android process sandbox. Leaving it on prevents Steam from starting correctly.

On Android 12 and 13 devices, Restrict child processes is absent from Developer options entirely. For those versions, the first Steam launch shows a Fix it for me button that automates the setup process. What the button does under the hood is not described in the setup documentation, so its exact behavior can only be observed by running it on one of those Android versions.

On Android versions where the toggle does appear, the sequence is: disable the setting, then launch Steam. The order matters. If Steam is launched first without the setting changed, the session will fail and the developer options toggle is the first place to look.

This is the only documented configuration step beyond the install sequence itself. No other Developer options changes are mentioned, and no ADB commands appear in the setup documentation.

## Software rendering for desktop compositing and reduced Firefox sandboxing under proot

Two performance and security limitations are stated plainly. Desktop compositing uses software rendering, meaning the CPU handles the compositing pass instead of dedicated display hardware. The README does not quantify the impact, but any session that loads the desktop environment runs that layer on CPU.

Firefox sandboxing is reduced under proot. proot is a user-space chroot substitute that DroidDeck uses to run the Linux environment without root permissions. Because proot operates in user space without real kernel namespace isolation, Firefox cannot run its full sandbox model inside it. The depth of the reduction is not documented.

Neither limitation has a documented workaround. When something goes wrong during a session, the logs in Download/DroidDeck/ are the diagnostic resource. The community Discord's #bug-reports forum takes bug reports, and attaching the session folder from Download/DroidDeck/ is requested so the logs arrive with the report. Both limitations are side effects of the proot-based design that avoids the root requirement.

## LSFG frame generation requires a separate Lossless Scaling purchase

LSFG is a frame generation feature in DroidDeck, ported to WinNative and DroidDeck by maxjivi05. The implementation is based on work by Camille LaVey and the Eden emulator project, following lsfg-vk by PancakeTAS. Frame generation interpolates additional frames between rendered ones, which reduces GPU load for a given target frame rate.

The catch is a separate purchase requirement. LSFG needs your own copy of Lossless Scaling, available on Steam as app ID 993090. DroidDeck ships none of Lossless Scaling's shaders, so the frame generation feature is inert unless the user has purchased and can provide those shaders from their own copy.

This is the only component in DroidDeck's feature set that requires a paid external dependency. Every other piece, including the ARM64 audio sinks built from PulseAudio 13.0 and the uruntime AppImage extractor, is either MIT-licensed or GPL-licensed. LSFG is the exception. Anyone who wants frame generation on Android needs to budget for Lossless Scaling as a separate purchase from Steam.

## Building from source with tools/build_local.sh and Docker

A local build requires Docker, Java 17, the Android SDK and NDK, and zstd. The entry point is the build script at the repository root.

```bash
tools/build_local.sh
```

The script compiles ARM64 audio sinks from PulseAudio 13.0 and packages them into the APK. By default, it downloads PulseAudio 13.0 sources automatically. Setting DROIDDECK_PA13_SOURCE_DIR to an existing PulseAudio 13.0 source directory skips that download step. The finished APK lands at app/build/outputs/apk/release/app-release.apk.

To install the built APK on an attached device:

```bash
tools/deploy_local.sh
```

GPL-3.0 covers the project's own code. Runtime, shim, input and controller work build on WinNative and Bannerlator by maxjivi05. The uruntime component from VHSgunzo is MIT-licensed and shipped unmodified with its license. The full attribution list for all third-party components is in the LICENSE file at the repository root. Distributing a modified APK means satisfying GPL-3.0 for DroidDeck's own portions and the separate terms for each included component.

## Conclusion

DroidDeck suits Android handheld users with a supported Adreno 730 or 8xx device who want Steam's Big Picture interface and Windows game compatibility without rooting. Skip it on Mali, Xclipse, PowerVR or Adreno 710 hardware, because those GPUs are unsupported. Before installing, disable Restrict child processes in Developer options, confirm your SoC's Adreno tier, and check that the games you care about run on ARM64 Proton, since desktop compositing uses software rendering and DX12 titles can crash on 6xx hardware. Bug reports go to Discord's #bug-reports forum with logs from Download/DroidDeck/.

## FAQ

### What Android version does DroidDeck require?

Android 9 or newer, on a supported Adreno device. Adreno 730 or newer and the 8xx series are fully supported. Adreno 6xx is experimental, and Mali, Xclipse, PowerVR and Adreno 710 are unsupported.

### Does DroidDeck require root?

No root is required. You must disable Restrict child processes in Developer options before Steam will launch. On Android 12 and 13, the first Steam launch provides a Fix it for me button to automate that step.

### How much storage does DroidDeck need?

About 3 GB for the Linux runtime, plus 1.1 GB more if you install the Desktop and apps option. Steam game downloads add on top of that.

### Where do I report bugs for DroidDeck?

Bug reports go to the #bug-reports forum on the DroidDeck Discord. The session folder from Download/DroidDeck/ should be attached so the logs come with the report.

### Is DroidDeck affiliated with Valve?

No. Steam and Proton belong to Valve Corporation. DroidDeck is not affiliated with Valve.

## Sources

- [Droid-Deck/DroidDeck on GitHub](https://github.com/Droid-Deck/DroidDeck)
- [Issues](https://github.com/Droid-Deck/DroidDeck/issues)
- [License: GPL-3.0](https://github.com/Droid-Deck/DroidDeck/blob/main/LICENSE)
- [README](https://github.com/Droid-Deck/DroidDeck/blob/main/README.md)
- [Releases](https://github.com/Droid-Deck/DroidDeck/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/droid-deck-droiddeck
