Jonas Dressler de la proiectul GNOME, care dezvoltă ediția GNOME Shell pentru dispozitive mobile, a publicat dezvoltări care permit rularea mediului Aliendalvik (AppSupport) pe distribuții standard. LinuxAliendalvik este un strat pentru platforma mobilă Sailfish care permite lansarea de aplicații scrise pentru platformă. AndroidÎn timpul ingineriei inverse a Aliendalvik, au fost pregătite patch-uri pentru serverul compozit Mutter, scripturi și legături pentru serverul de sunet și sistemul de intrare, necesare pentru rularea Aliendalvik în afara mediului platformei Sailfish.
A fost demonstrată funcționarea Aliendalvik pe smartphone-urile Pinephone Pro și Oneplus 6, instalate în Arch. Linux cu shell-ul GNOME Mobile. Se observă că Aliendalvik folosește API-uri standard Freedesktop pentru a interacționa cu mediul de utilizare Sailfish. De exemplu, notificările sunt transmise prin interfața DBus org.freedesktop.Notification, iar protocolul MPRIS este utilizat pentru a controla playerele muzicale. Fiecare rulare Android- aplicația este afișată folosind o suprafață Wayland separată într-o fereastră proprie, iar protocolul Wayland de „introducere text” este utilizat pentru a organiza datele introduse.
Mediul Aliendalvik rulează folosind instrumentele de izolare a containerelor LXC, iar componentele pentru integrarea cu sistemul gazdă sunt construite pentru arhitectura ARM64 și scrise folosind Qt. Spre deosebire de proiectul similar Waydroid, care rulează, de asemenea Android- mediu containerizat, Aliendalvik oferă o integrare mai strânsă cu sistemul gazdă, de exemplu, Android- aplicațiile se deschid în ferestre obișnuite, este acceptată sincronizarea agendei și se utilizează tastatura de pe ecran Sailfish.
Mediul de sistem Sailfish este construit pe baza proiectului Mer (dezvoltat ca o componentă a Sailfish din aprilie 2019) și a pachetelor din distribuția Nemo bazată pe Mer. Mediul folosește systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland și Qt. Composite serverului Lipstick este construit pe baza QtCompositor. Firejail este folosit pentru izolarea aplicațiilor. ConnMan este folosit pentru gestionarea conexiunilor de rețea, iar oFono este folosit pentru stiva de telefonie.
Sursa: opennet.ru
