Waydroid unter Kalpa Desktop und Aeon Desktop

Vortex Acherontic 715 Wörter 4 Minuten linux opensuse kalpa aeon waydroid
Waydroid Logo

Es gibt zwar eine Anleitung online, wie man Waydroid unter Tumbleweed betriebt, leider überträgt diese sich nicht eins zu eins auf Aeon und Kalpa Desktop. Zu dem ist sie nicht ganz aktuell.

Longterm Kernel installieren

In unseren Test haben wir festgestellt, dass die anbox-modules, zwar mit dem -default Kernel prinzipiell funktionieren, allerdings sorgt das binder Kernelmodul für Instabilitäten im System, so dass es zu zufälligen Abstürzen von Waydroid oder gar einem eingefrorener Desktop kommen kann.

Daher empfehlen wir den -longterm Kernel zu installieren, wie auf unserer extra Dokumentationsseite beschreiben.

Konfiguration des Kernels

Anschließend müssen wir noch ein Kernel Parameter hinzufügen via:

sudo vim /etc/kernel/cmdline

Drück *iÜ auf eurer Tastatur und den Einfügen Modus zu aktiveiren, navigiert an das ende der Datei und fügt psi=1 hinzu.

Die Datei sollte dann in etwa so aussehen:

root=/dev/nvme0n1p2 [...] psi=1

Speichert mit ESC :x

Dann lasst das initrd neu bauen via: sudo transactional-update initrd

Waydroid installieren

sudo transactional-update -c run zypper addrepo https://download.opensuse.org/repositories/home:jimed-rand:waydroid/openSUSE_Tumbleweed/home:jimed-rand:waydroid.repo
sudo transactional-update -c pkg in waydroid anbox-modules

Dann startet das System neu und folgt den Anweisungen weiter unten.

SecureBoot

Unter Systemen mit aktivierten SecureBoot, müssen wir außerdem noch den Machine Owner Key für anbox-modules ausrollen. Da Kalpa einen root account hat, solltet ihr hier direkt mit dem MOK Enroll Bildschirm während des Neustarts begrüßt werden. Das Standartpasswort unter Kalpa ist dass des root Kontos.

Nvidia MOK Management

To enroll the MOK key do the following:

  1. Enroll MOK
  2. Continue
  3. Yes
  4. Enter root passwort (Kalpa) or the chosen password while using mokutils on Aeon
  5. Reboot

Waydroid Einrichten

Als allererstes startet den Waydroid Dienst:

sudo systemctl enable waydroid-container

Nach dem ihr dann Waydroid geöffnet habt und ein ANdroid Abbild herunterladen wollt, fragt Waydroid nach zwei OTAs. Gebt heir die folgenden ein:

System OTA: https://ota.waydro.id/system
Vendor OTA: https://ota.waydro.id/vendor

Waydroid First Start Screen

Gerät Registrieren

Fall ihr euch for das Android Abbild mit Google Anwendungen entschieden habt, müssen wir unsere neues "Gerät" noch verifizieren lassen. Hierfür benötigen wir ein Google Konto.

Während Waydroid läuft öffnet eine Konsolenfenster und trag das folgende ein:

sudo waydroid shell -- sh -c "sqlite3 /data/data/*/*/gservices.db 'select * from main where name = \"android_id\";'"

Der Befehl sollte eine Zeichenkette wie die folgende zurückgeben: android_id|xxxxxxxxxxxxxxxxxxx. Für die Registrierung benötigen wir nur die Nummer nach der Pipe |

Öffnet die Google Geräteregistrierung und meldet euch mit dem Google Konto an, mit dem ihr das neue Gerät verknüpfen wollt.

Trag die zuvor ermittelte Nummer in das Textfeld auf der Geräteregistrierung ein, bestätigt, dass ihr kein Roboter seit und klickt auf Registrieren. Dieser VOrgang kan ein paar Minuten bis zu mehren Stunden dauern.

Anschließend solltet ihr in der Lage sein Google Apps ganz normal via Waydroid, bzw. Lineage OS, zu verwenden.

Waydroid Gerät unrooten

Standardmäßig ist das Android Abbild, welches via Waydroid läuft ein "gerootetes" Gerät. Das bedeutet, dass der Android Benutzer vollen Systemzugriff besitzt. Einige Apps, hauptsächlich Streaming Apps, verweigern allerdings ihren Dienst auf gerooteten Geräten. Daher emfpiehlt es sich den root Zugriff wieder zu entfernen.

Dazu öffnet die Datei: sudo vim /var/lib/waydroid/waydroid.cfg. Drück I auf eurer Tastatur um den Einfügemodus vom Vim zu aktiveiren. Dann fügt das folgende unter [properties] ein:

# fix root liapp
ro.product.brand=google
ro.product.manufacturer=Google
ro.system.build.product=redfin
ro.product.name=redfin
ro.product.device=redfin
ro.product.model=Pixel 5
ro.system.build.flavor=redfin-user
ro.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keys
ro.system.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keys
ro.bootimage.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keys
ro.build.display.id=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keys
ro.build.tags=release-keys
ro.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keys
ro.vendor.build.fingerprint=google/redfin/redfin:11/RQ3A.211001.001/eng.electr.20230318.111310:user/release-keys
ro.vendor.build.id=RQ3A.211001.001
ro.vendor.build.tags=release-keys
ro.vendor.build.type=user
ro.odm.build.tags=release-keys

Anschießend aktualisiert das Gerät wie folgt: sudo waydroid upgrade --offline. Damit sollte dieses Problem behoben sein.

Quellen

Notes

Falls ihr von Runa-Chin's Anleitung hier hergekommen seit, dann unterscheidet sich diese Anleitung in den folgenden Punkten:

  1. Das Repository von dem wir Waydroid und anbox-modules beziehen wurde geändert
  2. Die Installation von weston oder cage ist hier nicht beschrieben, da weder Aeon noch Kalpa mit X11 ausgeliefert werden. Sie besitzen also einen Wayland Compositor von Haus aus.
  3. Eine SecureBoot Abschnitt wurde hinzugefügt, dieser fehlt in der Originalen Anleitung.
  4. Die Kernel Commandline wird heir anders verändert, da sowohl Kalpa als auch Aeon mit SystemD-Boot ausgeliefert werden.
  5. Außerdem haben wir offensichtlich zypper durch transactional-update ersetzt, da unter Aeon und Kalpa zypper so nicht verwendet werden kann.
  6. Geräteregistrierung wurde hinzugefügt
  7. WIe man das Gerät unrooted wird beschrieben