cross-posted from: https://lemmy.dbzer0.com/post/38020983
Before We Begin
Hello deck-ers, this guide walks you through installing Waydroid, a tool to run Android apps on your Steam Deck. Links are included below for troubleshooting and updates. Enjoy ;)
Step 1: Set Up a Password
Your Steam Deck’s terminal (Konsole) will ask for a password during installation. If you haven’t set one yet:
- Switch to Desktop Mode and open the Konsole app (found in the taskbar or applications menu).
- Type
passwd
and press Enter.- Create a password. For simplicity, a 4-digit code like
9876
works, but use something stronger if security matters to you, (as it should).
- Note: The password won’t show as you type, this is not a bug.
- Re-enter the password when prompted to confirm.
Why? This password grants temporary “sudo” access to install software.
Step 2: Install Waydroid
Prerequisite: Ensure your Steam Deck is connected to the internet.
Open Konsole (still in Desktop Mode).
Copy and paste these commands one by one, waiting for each to finish:
Command 1 – Download the Installer:
cd ~/ && git clone https://github.com/ryanrudolfoba/steamos-waydroid-installer
This downloads the necessary files to your home folder.
Command 2 – Run the Installer:
cd ~/steamos-waydroid-installer && chmod +x steamos-waydroid-installer.sh && ./steamos-waydroid-installer.sh
This makes the script executable and starts the installation.
Wait for the magic to happen!
- The installer sets up Waydroid and applies custom configurations.
- Installation takes ~5 minutes (varies with internet speed).
- When finished, close Konsole and return to Game Mode.
Step 3: Launch Waydroid
- In Game Mode, navigate to your Library > Non-Steam Games.
- Find and launch the script named Android_Waydroid_Cage.sh.
- Waydroid will boot, give it a moment to initialize.
Need to Uninstall?
- Back in Desktop Mode, open Konsole.
- Paste these commands:
This removes Waydroid and its files.
cd ~/Android_Waydroid && ./uninstall.sh
Troubleshooting & Tips
- Issues? Check the official GitHub for known bugs, compatibility notes, and updates.
- Keyboard/Mouse Not Working? Some users report needing a Bluetooth or USB input device for setup.
- Performance: Close background apps in Desktop Mode and try again, otherwise I recommend checking opened issues over on github.
Enjoy your Android apps on Steam Deck! 🎮
Credits to ryanrudolfoba and the Waydroid contributors, cool guys!Last tip: If this is your thing, check the AndroidTV installation option for a cool docked experience !!!
I read these conversations. I have no idea what’s going on. I’m glad there are people who understand who are working on things. I tell myself I can still use Linux as a commoner and this back-end doesn’t really matter for me. I still don’t understand what the hell is going on with Wayland or X11 or systemd or Snap or BTRFS/ext4 or any of this stuff that people feel strongly about. I’ll just keep my head down. My OpenSUSE PC and Steam Deck seem to be working (without doing the undergraduate degree amount of wiki reading that people say I need).
I just lend my steam deck to my girlfriend and she games around, your aproach is 100% valid
Valve released a console, and you can use it as you wish, if you want help with installing wayland let me know, or you can search for any other tutorial online
Have fun gaming :)
Thank you satan
Would this work on Bazzite ?
Waydroid in this tutorial is running in a “cage” so it can run under X11 which is an older system used by the current KDE version in the steamdeck.
To install it on bazzite (under Wayland instead of X11), it’s even simpler.
rpm-ostree install waydroid
and
sudo dnf install waydroid
So if you are ussing bazzite, follow first option here
I’m curious why you’d want to run android apps on steam deck. What apps bring functionality that you don’t normally have access to on SteamOS?
Biggest reason may be bypassing anticheat. Some games (like roblox for example) have anticheat that doesn’t work on linux, but you can run the android version. As long as the android version supports controllers it can be a decent enough deck experience.
Does this really work? On popular games?
I was fully expecting them all to have integrated the bastard Play Integrity API, they even specifically detect virtual devices with the “MEETS_VIRTUAL_INTEGRITY
” verdictIt may depend on the specific game, but I know people are specifically using the android version to run Roblox through a tool called sober.
Minecraft bedrock is only accessible on Linux through waydroid or other android emulators.
There’s a few other games in the mobile markets that are decent, I’m sure.
For me it usually comes to:
- Android TV to dock the steam deck on my living room and use it as such
- Some very specific games, like PvZ2, or roblox
- Specific apps like “Stremio”, have a better touch screen experience under Waydroid compared to their flatpack version
Probably to run Minecraft, I’m guessing.
How does this work? SteamOS uses X11, and Waydroid requires Wayland.
Xwayland
translates X11 calls to Wayland, but I’m not aware of any Wayland to X11 compatibility projects.SteamOS in game mode runs on wayland actually, because it’s using gamescope which is a wayland compositor. My understanding is a lot of applications are still running as x11 and then using xwayland to run on gamescope though. I don’t know if that can be manually bypassed to run directly on wayland or not.
Desktop mode is always using x11 though.
You are right
But in this case, the “steamos-waydroid-installer” creates a cage ( A wayland compositor running X11), and uses XWayland to render that. That creates a nested Wayland environment, with some overhead, but it works :))
Edit: The good thing is, overhead isnt nearly even a problem, since you’re probably not getting the steamdeck to suffer under android emulation. Still, I believe and hope next big SteamOS update will switch to Wayland, leaving X11 behind
Still, I believe and hope next big SteamOS update will switch to Wayland, leaving X11 behind
Same! This would be amazing, and hopefully their teamwork with Arch will see that happen sooner than later. I noticed that they fixed some CVEs in this latest stable update, so perhaps we’ll see more!