Si Jonas Dressler mula sa proyekto ng GNOME, na bumuo ng edisyon ng GNOME Shell para sa mga mobile device, ay nag-publish ng gawain na nagbibigay-daan sa iyong patakbuhin ang Aliendalvik environment (AppSupport) sa mga regular na pamamahagi ng Linux. Ang Aliendalvik ay isang layer para sa Sailfish mobile platform na nagbibigay-daan sa pagpapatakbo ng mga application na isinulat para sa Android platform. Sa panahon ng reverse engineering ng Aliendalvik, inihanda ang mga patch para sa Mutter composite server, mga script at mga binding para sa sound server at input system na kinakailangan upang patakbuhin ang Aliendalvik sa labas ng Sailfish platform environment.
Ang paglulunsad ng Aliendalvik ay ipinakita sa Pinephone Pro at Oneplus 6 na mga smartphone, kung saan ito ay na-install sa Arch Linux gamit ang GNOME Mobile shell. Napansin na ang mga karaniwang Freedesktop API ay ginagamit upang makipag-ugnayan sa Aliendalvik sa kapaligiran ng gumagamit ng Sailfish, halimbawa, ang mga notification ay ipinapadala sa pamamagitan ng interface ng DBus org.freedesktop.Notification, at ang protocol ng MPRIS ay ginagamit upang kontrolin ang mga music player. Ang bawat tumatakbong Android application ay ipinapakita gamit ang isang hiwalay na Wayland surface sa sarili nitong window, at ang Wayland na "text-input" na protocol ay ginamit upang ayusin ang input.
Ang Aliendalvik environment ay tumatakbo gamit ang LXC container isolation tool, at ang mga bahagi para sa integration sa host system ay binuo para sa ARM64 architecture at nakasulat gamit ang Qt. Hindi tulad ng katulad na proyekto ng Waydroid, na nagpapatakbo din ng Android environment sa isang container, nagbibigay ang Aliendalvik ng mas mahigpit na pagsasama sa host system, halimbawa, bukas ang mga Android application sa mga regular na window, sinusuportahan ang pag-synchronize ng address book, at ginagamit ang Sailfish on-screen na keyboard.
Ang kapaligiran ng sistema ng Sailfish ay binuo batay sa proyekto ng Mer (mula noong Abril 2019 ito ay nabuo bilang isang mahalagang bahagi ng Sailfish) at mga pakete ng pamamahagi ng Nemo Mer. Gumagamit ang kapaligiran ng systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland at Qt. Ang lipstick composite server ay binuo sa ibabaw ng QtCompositor. Ginagamit ang Firejail upang ihiwalay ang mga aplikasyon. Ginagamit ang ConnMan upang pamahalaan ang mga koneksyon sa network, at ang oFono ay ginagamit bilang stack ng telepono.
Pinagmulan: opennet.ru
