Waydroid: Difference between revisions

imported>CajuM
No edit summary
imported>Onny
Restructure page
Line 1: Line 1:
WayDroid is an application which uses LXC containers to run Android applications on a non-Android system.  
[https://waydro.id WayDroid] is an application which uses LXC containers to run Android applications on a non-Android system.  


{{Warning|WayDroid requires a Wayland desktop session and cannot be used on X11.}}
{{Warning|WayDroid requires a Wayland desktop session and cannot be used on X11.}}
{{Warning|Installing WayDroid on your system before running nixos-generate-config will create unnecessary fstab entries that may interfere with system functionality.}}
{{Warning|Installing WayDroid on your system before running nixos-generate-config will create unnecessary fstab entries that may interfere with system functionality.}}


== Install: ==
== Installation ==


We will need to enable the WayDroid and LXD options (the WayDroid module enables LXC).
We will need to enable the WayDroid and LXD options (the WayDroid module enables LXC).
Line 18: Line 18:
</nowiki>}}
</nowiki>}}


You'll need to finish the WayDroid install in your shell.
Apply changes
 
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Rebuild NixOS config.
# Rebuild NixOS config.
nixos-rebuild switch
nixos-rebuild switch
</syntaxhighlight>
You'll need to finish the WayDroid install in your shell.


<syntaxhighlight lang="bash">
# Fetch WayDroid images.
# Fetch WayDroid images.
# You can add the parameters "-s GAPPS -f" to have GApps support.
# You can add the parameters "-s GAPPS -f" to have GApps support.
Line 40: Line 43:
</syntaxhighlight>
</syntaxhighlight>


==GPU Adjustments==
== Usage ==
In case you have an NVIDIA card or an RX 6800 series, you'll need to disable GBM and mesa-drivers:
{{file|/var/lib/waydroid/waydroid_base.prop|prop|<nowiki>
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
</nowiki>}}


==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:
{{file|/var/lib/waydroid/waydroid_base.prop|prop|<nowiki>
sys.use_memfd=true
</nowiki>}}
==Usage==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# Start Android UI
# Start Android UI
Line 68: Line 59:
waydroid prop set persist.waydroid.width 608
waydroid prop set persist.waydroid.width 608
</syntaxhighlight>
</syntaxhighlight>
== Troubleshooting ==
=== GPU Adjustments ===
In case you have an NVIDIA card or an RX 6800 series, you'll need to disable GBM and mesa-drivers:
{{file|/var/lib/waydroid/waydroid_base.prop|prop|<nowiki>
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader
</nowiki>}}
=== 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:
{{file|/var/lib/waydroid/waydroid_base.prop|prop|<nowiki>
sys.use_memfd=true
</nowiki>}}


==See Also:==
==See Also:==
[https://wiki.archlinux.org/title/Waydroid Arch Wiki]
* [https://wiki.archlinux.org/title/Waydroid Arch Wiki]