From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id qIwjNCS7mGOCIAEAbAwnHQ (envelope-from ) for ; Tue, 13 Dec 2022 18:49:24 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id mJ9JMyS7mGNgGwEAG6o9tA (envelope-from ) for ; Tue, 13 Dec 2022 18:49:24 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 680E4D590 for ; Tue, 13 Dec 2022 18:49:24 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p59Or-0002Bs-FB; Tue, 13 Dec 2022 12:49:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p59Op-0002Bd-3Q for guix-patches@gnu.org; Tue, 13 Dec 2022 12:49:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p59Oo-0004cf-5n for guix-patches@gnu.org; Tue, 13 Dec 2022 12:49:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p59On-0000nq-Ox for guix-patches@gnu.org; Tue, 13 Dec 2022 12:49:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51737] [PATCH v3 1/8] gnu: Add linux-libre-waydroid. Resent-From: phodina Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 13 Dec 2022 17:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51737 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Denis 'GNUtoo' Carikli Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Maxime Devos , Julien Lepiller , "51737@debbugs.gnu.org" <51737@debbugs.gnu.org>, Liliana Marie Prikler Received: via spool by 51737-submit@debbugs.gnu.org id=B51737.16709537233077 (code B ref 51737); Tue, 13 Dec 2022 17:49:01 +0000 Received: (at 51737) by debbugs.gnu.org; 13 Dec 2022 17:48:43 +0000 Received: from localhost ([127.0.0.1]:33617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p59OV-0000nZ-7m for submit@debbugs.gnu.org; Tue, 13 Dec 2022 12:48:43 -0500 Received: from mail-40131.protonmail.ch ([185.70.40.131]:10591) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p59OS-0000nT-Sj for 51737@debbugs.gnu.org; Tue, 13 Dec 2022 12:48:41 -0500 Date: Tue, 13 Dec 2022 17:48:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1670953715; x=1671212915; bh=pi78kiFdgW1J8AYrAJi1TJA6dSM5eT0H0EanlD8drDA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=VQIlcNeNFY6l2aZfdxsSyRrwkKMH4ZBObswnbsUdxGIrzxGp9qQlBKsvOUuihj6kn /fmW19DwEh/gHoPsy9ixkxb5U2WRHIjuUfJD64U2iccAHjIt/ymPCDOAF6gfKYTVu1 RnwTr/guC4YL3ZMkR3/i9aYFkPxcV2Zkr6QnAY+SPZCybOvbyq3aHRQdIDjPnC9W/W 6EqqZzfbVUKdOe0MlDvMIKj8SAgt/ZqvtQF0xcgLsS1n9er4yWxfDu0fya8U+ObGIl 10d83tFeDYOu4L5zWzM6+SP39cHCC+wJq7kKoZABPHgYqQ/NxBhSpYkeJcZa8WrS0T 0hujb9rze0+rA== Message-ID: In-Reply-To: <20221104040308.770e2853@primary_laptop> References: <6DHjUMqjMoW-JFxyBmViVrNgl6CjM63WJ5vn4bejvkbXWdkQa_NSI1l2lfluy4q_PMSinz3DdOq5mM5oVsuoHsrDzMKEqjcUTQ_R7NpAYp0=@protonmail.com> <95979f80d53295fa999af83919909ee786fde125.camel@telenet.be> <8fzx37ONySCMqGXHR4oPO5rd9PWHkHEZVvAb7fGF4EY8pcYugP0Sc8WyO2odhu5SJBfPDbnjkOjxga5n91wMcEKWdSOYYlYKX-ITndH2WUM=@protonmail.com> <9768fe9c925723795a7b9c24504cfec57f5bfde4.camel@gmail.com> <20221104040308.770e2853@primary_laptop> Feedback-ID: 14143818:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: phodina X-ACL-Warn: , phodina via Guix-patches From: phodina via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1670953764; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=pi78kiFdgW1J8AYrAJi1TJA6dSM5eT0H0EanlD8drDA=; b=nRvrKGcolcBqfUgh4+dpw4mUoXFgmjPS9pSx9OdVRuQNSktFguA2MfEgwkTSQ6LLFzDUDz WmmFrQXsychbxzMltwiiPnTbBwPYshtxhrKdzy9dEoeusTk+KPuUML9/IPdcziieIGfAlN tb+MzGPzQOsEU/rrK2ErTioOXSK+ZPcKRBkMKgra5KwHqBOC+L33100kJ7a7FH0IAdNF6z WQqc2jWWYRqWbVQ2gg+kBBZxe3KhknUYefYMZZFg/uPtclDZD3PpElwPL+qf/EarAP2NZJ 9iu+fomsg6WmG87OZ3V2jMIE3HhsvvSGDNR9PWWkPazQFpPRk9tFvCWJJ4Mpjg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=VQIlcNeN; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1670953764; a=rsa-sha256; cv=none; b=stRCYBw7ratQv/VqmFOlCyPBJNoliICBPoFNmpv2gXqzmIl5SDj9t2jF95F1gTRja6xDt9 /cOFJuE1JCS88Pfihb+NOf7UYMMVU03h+DB3yw5GFq+kRezf5yud1GhKtE82gpKR0fIZ2h FRCrCsO5GsoIXWIgYoOl5ThIl3gWAvPNgqXvVFGxljP1hl26yvRI2Kdefzap95n834ICoQ 44bvMOhjtDrjIefitUjYDF2D8OhMe19StzKgj8KhBad2eLL5UU5Zo2F2PiJUv9XbdSSBSx eN5kxbwoMCEHrRPefgwhJv5Mg0unxcIY+FXkI22Fd99HPlCR/pP+kN6tPiuYyA== X-Migadu-Spam-Score: -0.47 X-Spam-Score: -0.47 X-Migadu-Queue-Id: 680E4D590 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=VQIlcNeN; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org X-TUID: 4TM4l7pOHiLh 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 Usersp= ace 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 familia= r 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 unfortuna= tely 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 test= s 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 th= en 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 sinc= e 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 inte= gration 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 - Trisqu= el, 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. A= s most corporations and developers won't port their apps the Waydroid fills in qui= te 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 grea= ter 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