#Emulation on Linux
#Waydroid
GPU Requirements
Waydroid currently works best with Intel GPUs. They should work out of the box.
AMD GPUs appear to have mixed results (in particular, the RX 6800 does not work); if Waydroid does not work you might also want to try the NVIDIA instructions below.
NVIDIA GPUs do not work currently, but there are 2 workarounds:
- Switch to integrated graphic card if possible;
- Use software rendering:
Make sure that you have already run
waydroid init
(see #Installation section)Edit
/var/lib/waydroid/waydroid_base.prop
and set:Restart the
waydroid-container.service
.
#Fedora 36
Kernels 5.18.18 to 5.19.5 are broken.
Step 1 Add the Copr repository
Step 2 Install waydroid
When launching waydroid from the application menu you'll be asked to initialize waydroid with some android images. Use the following links:
System OTA: https://ota.waydro.id/system
Vendor OTA: https://ota.waydro.id/vendor
This will download non-free components (ffmpeg, possibly others).
#Ubuntu 22.04
Step 1 Install Pre-requisites
Step 2 The Repo
Add the repo to your sources.list (for droidian & ubports, this step can be skipped) Replace DISTRO="jammy" with your current target. Options: focal, jammy, ubuntu-devel, bookworm, bullseye, sid
Step 3 Install Waydroid
Then start Waydroid from the applications menu.
#Install and Run Android Applications
Waydroid is able to perform a few various operations found by using the waydroid app -h command:
To launch an app ising CLI, you would want to use the waydroid app launch
You can also install Android applications from the command line.
The apk files you will sometimes find on the internet tend to only have arm support, and will therefore not work on x86_64.
You may want to install F-Droid to get applications graphically. Note that the Google Play Store will not work as is, because it relies on the proprietary Google Play Services, which are not installed.
#Waydroid Prop Options
Waydroid uses various properties in order to tell the underlying Android system how to behave in a few places. To do this, we use the waydroid prop
command. To unset a prop, waydroid prop set <property> ""
#Properties
- waydroid prop set persist.waydroid.multi_windows true/false (bool) Enables/Disables persistent freeform window mode
- waydroid prop set persist.waydroid.invert_colors true/false (bool) Swaps the color space from RGBA to BGRA (only works with our patched mutter so far)
- waydroid prop set persist.waydroid.height_padding 0-9999 (int) Adjust Height padding (30 will allow you to use navbar on mobile)
- waydroid prop set persist.waydroid.width_padding 0-9999 (int) Adjust width padding
- waydroid prop set waydroid.display_width 0-9999 (int) (auto-generated) Auto generated size of Waydroid screen
- waydroid prop set persist.waydroid.width 0-9999 (int) Used for user to override desired resolution
- waydroid prop set persist.waydroid.suspend true/false (bool) Keep Waydroid awake and do not let container sleep
Setting up a shared folders to copy files from source
to target
.
Source
files will be accessible from Target
but not Editable.
We will setup the host
folder to copy files from the host, and the droid
folder to copy files from waydroid.
Example:
- Copy files from Linux to Waydroid:
- on Waydroid Create a
/Waydroid/host
folder - on Host Create a
~/Waydroid/host
folder
- on Waydroid Create a
- Copy files from Waydroid to Linux :
- on Waydroid Create a
/Waydroid/droid
folder - on Host Create a
~/Waydroid/droid
folder
- on Waydroid Create a
#Clipboard
Replace dnf
with the appropriate command for your distro.
Step 1 Install pip
Step 2 install wl-clipboard
Step 3 install pyclip
Step 4 add $HOME/.local/bin/
to your $PATH
add
to the appropriate file .zshenv
or .bashrc
or .profile
Step 5 reboot the system