Waydroid: Difference between revisions
imported>Onny Add Android upgrade instructions |
imported>Yswtrue add clipboard share discription |
||
Line 117: | Line 117: | ||
According to [https://github.com/waydroid/waydroid/issues/168 an upstream issue] WayDroid might interfere with suspend or hybernation. You might have to stop the Android session and container to suspend your machine correctly. | According to [https://github.com/waydroid/waydroid/issues/168 an upstream issue] WayDroid might interfere with suspend or hybernation. You might have to stop the Android session and container to suspend your machine correctly. | ||
=== Clipboard share === | |||
add `wl-clipboard` to `environment.systemPackages` and restart system, it should work now. | |||
==See Also:== | ==See Also:== | ||
* [https://wiki.archlinux.org/title/Waydroid Waydroid article on the Archlinux Wiki] | * [https://wiki.archlinux.org/title/Waydroid Waydroid article on the Archlinux Wiki] |
Revision as of 11:18, 24 April 2023
WayDroid is an application which uses LXC containers to run Android applications on a non-Android system.
Installation
We will need to enable the WayDroid and LXD options (the WayDroid module enables LXC).
/etc/nixos/configuration.nix
{ pkgs, ... }:
{
virtualisation = {
waydroid.enable = true;
lxd.enable = true;
};
}
Apply changes
# Rebuild NixOS config.
nixos-rebuild switch
You'll need to finish the WayDroid install in your shell.
# Fetch WayDroid images.
# You can add the parameters "-s GAPPS -f" to have GApps support.
sudo waydroid init
Before the following steps, you might need to do some GPU adjustments. See the troubleshooting section.
Usage
Start the container
# Start the WayDroid LXC container
sudo systemctl start waydroid-container
# You'll know it worked by checking the journal You should see "Started Waydroid Container".
sudo journalctl -u waydroid-container
# Start WayDroid session
# You'll know it is finished when you see the message "Android with user 0 is ready".
waydroid session start
General usage
# Start Android UI
waydroid show-full-ui
# List Android apps
waydroid app list
# Start an Android app
waydroid app launch <application name>
# Install an Android app
waydroid app install </path/to/app.apk>
# Enter the LXC shell
sudo waydroid shell
# Overrides the full-ui width
waydroid prop set persist.waydroid.width 608
Maintenance
Update Android
Use following command to upgrade Android (LineageOS) to a newer version if available
sudo waydroid upgrade
Resetting Android Container
# Stop Waydroid container
sudo systemctl stop waydroid-container
# Removing images and user data
sudo rm -r /var/lib/waydroid/* ~/.local/share/waydroid
Troubleshooting
GPU Adjustments
In case you have an NVIDIA card or an RX 6800 series, you'll need to disable GBM and mesa-drivers:
/var/lib/waydroid/waydroid_base.prop
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
Linux 5.18+
Linux 5.18 and later removed ashmem in favor of memfd, right now you need to tell waydroid (1.2.1 and later) to use the new module:
/var/lib/waydroid/waydroid_base.prop
sys.use_memfd=true
Changing keyboard layout
According to an upstream issue, changing the keyboard layout doesn't seem possible at the moment.
Missing umlaute or UTF8 support
According to an upstream issue Android might fail to display special characters correctly.
WayDroid interferes with suspend/hybernation
According to an upstream issue WayDroid might interfere with suspend or hybernation. You might have to stop the Android session and container to suspend your machine correctly.
add `wl-clipboard` to `environment.systemPackages` and restart system, it should work now.