guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid.


From: phodina
Subject: [bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid.
Date: Sat, 29 Oct 2022 19:28:50 +0000

Hello,

here're are updated patches.

The waydroid package now has field supported systems.

Also there is template for OS which adds important file in 
/etc/gbinder.d/anbox.conf.

The biggest concern is the hardcoded string for the Android LineageOS image 
(currently v17). It's possible to specifyt throught command line the URI for 
the images.

```
$ waydroid init --help
usage: waydroid init [-h] [-i IMAGES_PATH] [-f]
                     [-c SYSTEM_CHANNEL] [-v VENDOR_CHANNEL]
                     [-r ROM_TYPE] [-s SYSTEM_TYPE]

optional arguments:
  -h, --help            show this help message and exit
  -i IMAGES_PATH, --images_path IMAGES_PATH
                        custom path to waydroid images (default
                        in /var/lib/waydroid/images)
  -f, --force           re-initialize configs and images
  -c SYSTEM_CHANNEL, --system_channel SYSTEM_CHANNEL
                        custom system channel (options: OTA
                        channel URL; default is Official OTA
                        server)
  -v VENDOR_CHANNEL, --vendor_channel VENDOR_CHANNEL
                        custom vendor channel (options: OTA
                        channel URL; default is Official OTA
                        server)
  -r ROM_TYPE, --rom_type ROM_TYPE
                        rom type (options: "lineage", "bliss" or
                        OTA channel URL; default is LineageOS)
  -s SYSTEM_TYPE, --system_type SYSTEM_TYPE
                        system type (options: VANILLA, FOSS or
                        GAPPS; default is VANILLA)
```

The definition of the hardcoded URI can be found here [1]. If needed this can 
be patched out. User will specify the source themselves. There is section on 
how to build the Lineage OS image with waydroid patches. [2]

Also the image and other files are stored under the  `/var/lib/waydroid`. Maybe 
the image can be stored in the store (once we can build the Android images).

Since some of the operations such as `waydroid init` and `waydroid container 
start` require elevated priviledges it might be good to create a service as 
well.

The lxc is not directly input for the waydroid package but has to be in the 
profile. Do you think it might be better to put it as direct dependency?

Since Linux 5.18 the support for ASHMEM has been dropped [3] and you'll see 
some warning messages in the console. But the Waydroid project already works on 
MEMFD which is enabled in the kernel.

```
# waydroid container start
[18:15:51] Failed to load ashmem driver
[18:15:51] modprobe: FATAL: Module ashmem_linux not found in directory 
/run/booted-system/kernel/lib/modules/5.19.11
[18:15:51] Failed to load Ashmem driver
[18:15:51] Found session config on state: RUNNING, restart session
[gbinder] Service manager /dev/binder has appeared
```

Here you can see the screenshot  

1 https://github.com/waydroid/waydroid/blob/main/tools/config/__init__.py#L77
2 https://docs.waydro.id/development/compile-waydroid-lineage-os-based-images
3 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=721412ed3d819e767cac2b06646bf03aa158aaec

----
Petr

Attachment: v3-0002-gnu-Add-linux-libre-arm64-waydroid.patch
Description: Text Data

Attachment: v3-0005-gnu-Add-python-gbinder.patch
Description: Text Data

Attachment: v3-0006-gnu-Add-python-pyclip.patch
Description: Text Data

Attachment: v3-0003-gnu-Add-libglibutil.patch
Description: Text Data

Attachment: v3-0008-gnu-Add-waydroid-template.patch
Description: Text Data

Attachment: v3-0004-gnu-Add-libgbinder.patch
Description: Text Data

Attachment: v3-0007-gnu-Add-waydroid.patch
Description: Text Data

Attachment: v3-0001-gnu-Add-linux-libre-waydroid.patch
Description: Text Data

Attachment: waydroid.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]