From: phodina via Guix-patches via <guix-patches@gnu.org>
To: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
"Maxime Devos" <maximedevos@telenet.be>,
"Julien Lepiller" <julien@lepiller.eu>,
"51737@debbugs.gnu.org" <51737@debbugs.gnu.org>,
"Liliana Marie Prikler" <liliana.prikler@gmail.com>
Subject: [bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid.
Date: Tue, 13 Dec 2022 17:48:28 +0000 [thread overview]
Message-ID: <mtjh0EZY1D6QEA_rp_-kN4aE42A48plvqGCwgm_l3eDtg8oMT4PY-eSazWczQ2e6UDeqjAYj3GjdxzMvDzyZLgCf7htrhTDfTGUyUZRKVYI=@protonmail.com> (raw)
In-Reply-To: <20221104040308.770e2853@primary_laptop>
Hi Denis,
> What I wonder is that if Waydroid gets added as-is, it might be useful
> to at least be able to test its functionalities with some FSDG
> compliant image.
Agreed, the question is what to add as the Waydroid runs the Android Userspace in a container
- therefore the HW specific part can be removed, Guix (or foreign kernel) will be used.
I haven't done research into the FSDG compliant Android images. I'm familiar with Graphene OS
on my phone, previously LineageOS and before Cyanogenmod.
I'm aware of Replicant but haven't had the chance to look into it unfortunately yet.
>
> For instance if users report that audio is broken, it would probably be
> a good idea to be able to run test ourselves. And if there is a bug in
> binder, we could also do security testing ourselves for instance.
Nice idea. There could be file e.g. 'guix/gnu/tests/waydroid.scm' with tests which would run
each time the image or the waydroid would be changed.
>
> If I compare with another similar Guix functionality: we can
> produce software for Microsoft Windows with "guix build -t
> x86_64-w64-mingw32 hello" but we at least have Wine for testing.
You can think of waydroid of a "Wine" also. You launch the container and then you can
develop using normal tools such as ADB to get shell etc.
Waydroid can show the whole UI screen or just the application.
The only issue is that the apps are more designed for touch than mouse since most laptops
and PCs don't have a touchscreen.
>
> As I see it, there might be several approaches to solve this testing
> issue.
>
> (1) Use GNU/Linux and Guix to make that FSDG compliant image.
>
> For instance we could have:
> +-----------------------------------------------+
> | Guix host |
> | |
> | Waydroid (the host/container tools) |
> | ^ |
> | | |
> | v |
> | The communication protocols (like Pulseaudio) |
> | ^ |
> | | |
> +---+-------------------------------------------+
> |
> +---+------------------------------------------------------+
> | | Guix guest |
> | v |
> | Android HAL like hardware/waydroid/audio |
> | ^ |
> | | |
> | v |
> | Libhybris or compatibility software that can run Android |
> | libraries on GNU/Linux. |
> | ^ |
> | | |
> | v |
> | GNU/Linux audio stack or software that can use the |
> | Android audio API somehow. |
> +----------------------------------------------------------+
>
> I'm unsure how much work that would be, and I've also not looked if
> some GNU/Linux distributions are already using libhybris with Android
> 10 HAL. I'm also unsure if we need to use glibc or bionic (guix can
> build Android components with glibc and libhybris probably expects
> bionic).
>
> The advantage of this approach that it might be possible to do
> automatic testing within Guix as Guix would be used everywhere.
This is perphaps the solution in the long run. It tould offer a lot of integration
into Guix and nice way to build, test and interact with the image.
> (2) Another approach would be to look more closely at lineage-17.1 and
> make a stripped down version that is hopefuly FSDG compliant. It
> should normally build fine on top of Trisquel.
This is probably the best approach atm. What's missing is the host - Trisquel, Robotnix
and the base image (AOSP, LineageOS, Replicant ...).
> The waydroid additions probably need to be reviewed too.
Agreed. As users want to pack other proprietary stuff inside e.g. GApps and others.
> (3) Porting the Waydroid modifications[2][3] on top of Replicant 11 (and
> reviewing these modifications too).
Well IMHO I'd rather focus in another direction - PostmarketOS[1].
It's GNU/Linux on Phones and works quite good. The downside are the Apps. As most
corporations and developers won't port their apps the Waydroid fills in quite nicely
with the ability to launch the Android app.
However, if you are interested somebody already asked about different base images [2]
> By the way, does someone knows where to find information about the
> architecture of Waydroid. For instance is there some document that
> explains how it works (like that it uses a HAL that use alsa that
> then somehow talks to the host pulseaudio?, what modifications it did
> for graphics, etc).
Haven't found any architecture wiki or document that would describe in greater detail
how it exactly works. Just issue on github which is already closed :-( [3]
[1] https://postmarketos.org/
[2] https://github.com/waydroid/waydroid/discussions/597
[3] https://github.com/waydroid/waydroid/issues/287
----
Petr
next prev parent reply other threads:[~2022-12-13 17:49 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-10 1:33 [bug#51737] Add Waydroid phodina via Guix-patches via
2021-11-10 1:37 ` [bug#51737] [PATCH 1/4] gnu: Add libglibutil phodina via Guix-patches via
2021-11-10 1:38 ` [bug#51737] [PATCH 2/4] gnu: Add libgbinder phodina via Guix-patches via
2021-11-10 1:38 ` [bug#51737] [PATCH 3/4] gnu: Add python-gbinder phodina via Guix-patches via
2021-11-10 1:39 ` [bug#51737] [PATCH 4/4] gnu: Add waydroid phodina via Guix-patches via
2021-11-15 20:03 ` Liliana Marie Prikler
2021-11-15 22:30 ` phodina via Guix-patches via
2021-12-03 15:00 ` phodina via Guix-patches via
2022-06-25 13:08 ` [bug#51737] [PATCH v2 1/7] gnu: Add linux-libre-waydroid phodina via Guix-patches via
2022-06-25 16:46 ` Maxime Devos
2022-06-27 7:07 ` phodina via Guix-patches via
2022-07-19 14:56 ` Maxime Devos
2022-07-19 14:57 ` Maxime Devos
2022-10-29 19:28 ` [bug#51737] [PATCH v3 1/8] " phodina via Guix-patches via
2022-10-31 19:30 ` phodina via Guix-patches via
2022-11-01 6:51 ` Liliana Marie Prikler
2022-11-01 7:04 ` Julien Lepiller
2022-11-04 3:03 ` Denis 'GNUtoo' Carikli
2022-11-04 11:38 ` Denis 'GNUtoo' Carikli
2022-11-04 11:51 ` Denis 'GNUtoo' Carikli
2022-11-04 12:26 ` Denis 'GNUtoo' Carikli
2022-11-12 15:54 ` Denis 'GNUtoo' Carikli
2022-12-13 17:48 ` phodina via Guix-patches via [this message]
2022-12-15 17:02 ` Denis 'GNUtoo' Carikli
2022-12-13 17:10 ` phodina via Guix-patches via
2022-12-13 18:23 ` Julien Lepiller
2022-12-15 16:38 ` Denis 'GNUtoo' Carikli
2022-12-13 16:49 ` phodina via Guix-patches via
2022-12-15 16:44 ` Denis 'GNUtoo' Carikli
2022-10-18 9:32 ` [bug#51737] Add Waydroid dan
2024-03-20 13:56 ` outlook user
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='mtjh0EZY1D6QEA_rp_-kN4aE42A48plvqGCwgm_l3eDtg8oMT4PY-eSazWczQ2e6UDeqjAYj3GjdxzMvDzyZLgCf7htrhTDfTGUyUZRKVYI=@protonmail.com' \
--to=guix-patches@gnu.org \
--cc=51737@debbugs.gnu.org \
--cc=GNUtoo@cyberdimension.org \
--cc=julien@lepiller.eu \
--cc=liliana.prikler@gmail.com \
--cc=ludo@gnu.org \
--cc=maximedevos@telenet.be \
--cc=phodina@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.