You can download this app on Android, Android TV, and FireTV Stick. However, it is unfortunately not avaliable on IOS or on desktop, but you can use tools like [!badge variant="primary" size="l" icon="https://github.com/waydroid.png" text="Waydroid"](https://waydro.id/) or [!badge variant="primary" size="l" icon="https://github.com/anbox.png" text="Anbox"](https://anbox.io/) to emulate android apps on linux.
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](https://wiki.archlinux.org/title/Waydroid#Installation) section)
- Edit `/var/lib/waydroid/waydroid_base.prop` and set:
```
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
```
- [Restart](https://wiki.archlinux.org/title/Restart "Restart") the `waydroid-container.service`.
## Install and Run Android Applications
Waydroid is able to perform a few various operations found by using the waydroid app -h command:
install push a single package to the container and install it
remove remove single app package from the container
launch start single application
list list installed applications
```
To launch an app ising CLI, you would want to use the waydroid app launch <appname> command:
```sh
waydroid app launch xyz.apk
```
You can also install Android applications from the command line.
```sh
waydroid app install xyz.apk
```
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](https://f-droid.org/) 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> ""`
- 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 folder
Setting up a shared folders to copy files from `source` to `target`.
> `Source` files will be accessible from `Target` but not Editable.
```sh
sudo mount --bind <source><target>
```
> 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
```sh
mkdir ~/Waydroid/host
```
- Bind Linux folder to the Android one
```sh
sudo mount --bind ~/Waydroid/host ~/.local/share/waydroid/data/media/0/Waydroid/host
```
- Copy files from Waydroid to Linux :
- on Waydroid Create a `/Waydroid/droid` folder
- on Host Create a `~/Waydroid/droid` folder
```sh
mkdir ~/Waydroid/droid
```
- Bind Linux folder to the Android one
```sh
sudo mount --bind ~/.local/share/waydroid/data/media/0/Waydroid/droid ~/Waydroid/droid
```
## Clipboard
> Replace `dnf` with the appropriate command for your distro.