2 poin oleh GN⁺ 2025-02-03 | 1 komentar | Bagikan ke WhatsApp
  • Waydroid adalah proyek yang mem-boot seluruh sistem Android sebagai container di desktop GNU/Linux berbasis Wayland, sehingga aplikasi Android dapat berjalan berdampingan seperti aplikasi Linux
  • Dengan memanfaatkan Linux namespace, LXC, dan antarmuka binder, container Android dapat mengakses langsung hardware yang diperlukan, serta mendukung platform GNU/Linux arm, arm64, x86, dan x86_64
  • Aplikasi Android dapat diintegrasikan ke folder aplikasi Linux, dan menyediakan cara menjalankan sesuai lingkungan penggunaan seperti Multi-Window Mode, Full UI Mode, dan Fullscreen Mode
  • Runtime terdiri dari image sistem Android dengan kustomisasi minimal berbasis LineageOS, dan image saat ini berbasis Android 13
  • Setelah instalasi, layanan waydroid-container perlu dijalankan dan wizard pertama kali harus diselesaikan dari menu aplikasi; distribusi beta Waydroid-Linux berjalan di lingkungan yang terpasang, bukan live mode

Struktur Android-on-Linux Waydroid

  • Waydroid menggunakan pendekatan mem-boot seluruh sistem Android sebagai container di lingkungan desktop berbasis Wayland pada sistem GNU/Linux umum
  • Android di dalam container menggunakan Linux namespace
    • user
    • pid
    • uts
    • net
    • mount
    • ipc
  • Sistem Android mengakses langsung hardware yang diperlukan melalui LXC dan antarmuka binder
  • Platform yang didukung adalah arm, arm64, x86, dan x86_64 berbasis GNU/Linux
  • Proyek ini gratis dan open source, dengan repositori di GitHub

Integrasi desktop dan mode eksekusi

  • Aplikasi Android berjalan di desktop berdampingan dengan aplikasi Linux, dan Waydroid menambahkan aplikasi Android ke folder aplikasi Linux
  • Mode eksekusi dibagi berdasarkan cara penggunaan
    • Multi-window mode: memperluas definisi Android freeform window dengan menambahkan berbagai fungsi
    • Full UI Mode: menampilkan seluruh UI Android untuk game dan hiburan layar penuh
    • Fullscreen Mode untuk desktop dan kiosk dapat digunakan
  • Dari sisi performa, Waydroid menargetkan perilaku sedekat mungkin dengan native melalui penggunaan Wayland dan AOSP mesa
  • Lingkungan runtime Android disediakan bersama image sistem Android dengan kustomisasi minimal berbasis LineageOS, dan image saat ini berbasis Android 13

Dokumentasi, instalasi, dan beta Waydroid-Linux

  • Dokumentasi dan pengelolaan issue dapat dilihat di tautan terpisah
  • Alur instalasi cepat untuk distribusi systemd mengikuti dokumentasi instalasi per distribusi, lalu jika tidak berjalan otomatis, mulai layanan waydroid-container dan jalankan Waydroid dari menu aplikasi untuk menyelesaikan wizard pertama kali
  • Jika diminta saat eksekusi pertama, masukkan System OTA dan Vendor OTA melalui tautan OTA
  • Waydroid-Linux Beta adalah distribusi yang terintegrasi penuh, dibuat untuk menunjukkan kemungkinan integrasi yang dapat diwujudkan Waydroid
    • Rilis alfa awal dimulai dari Ubuntu 20.04(focal)
    • Saat ini juga mencakup Ubuntu 22.04(jammy) dan Debian 12(bookworm)
    • Mencakup berbagai tool dan skrip untuk memperluas cakupan pekerjaan yang memungkinkan
  • Karena Waydroid menggunakan modul kernel untuk LXC dan binder, Waydroid-Linux tidak berjalan dalam live mode; instalasi diperlukan agar berfungsi normal
  • Item unduhan beta meminta pengguna memeriksa README.md, dan contoh rilis yang tersedia mencakup Ubuntu 22.04 KDE-Plasma, Ubuntu 22.04 Gnome, Debian 12 Beta, Ubuntu 21.10 Beta, serta rilis alfa sebelumnya

1 komentar

 
GN⁺ 2025-02-03
Pendapat di Hacker News
  • Saya cukup terkejut ini masuk front page. Soalnya ini perangkat lunak yang cukup terkenal
    Yang disayangkan adalah tidak adanya image yang disediakan Google yang berjalan di Waydroid. Misalnya image sistem umum. Rasanya kurang nyaman memasukkan kata sandi ke ROM sembarang yang diunduh dari internet
    https://source.android.com/docs/core/tests/vts/gsi

    • Sulit menyebutnya “ROM sembarang yang diunduh dari internet”. LineageOS adalah proyek yang sudah sangat lama mapan, dan selain firmware yang diperlukan untuk perangkat tertentu, sepenuhnya merupakan perangkat lunak bebas dan open source
      Untuk proyek seperti Waydroid yang membutuhkan dukungan komunitas dan penyediaan berkelanjutan, itu pilihan yang wajar. Selama bertahun-tahun Google terus menghapus banyak bagian bebas dan open source yang awalnya ada di AOSP, basis Android, sehingga proyek seperti LineageOS harus mengembangkan komponen pengganti. Meski begitu, menurut saya perubahan yang dilakukan LineageOS terhadap AOSP lebih sedikit daripada kebanyakan produsen ponsel, termasuk Google
    • Apakah bisa disebut sembarang? LineageOS adalah proyek yang cukup mapan. Justru saya lebih enggan memasukkan informasi pribadi ke image yang disediakan Google. Karena model bisnis inti Google adalah mengumpulkan data saya dan menampilkan iklan
    • Jujur, saya lebih percaya LineageOS daripada image yang disediakan Google
    • Sebagai catatan, Firefox juga pernah masuk front page dulu. Itu boleh saja :)
    • Google menyediakan image yang berjalan di Docker
  • Akan bagus kalau ada Android terkontainerisasi yang bisa dijalankan di Mac dengan Docker Desktop atau OrbStack
    Saya ingin memodifikasi image Docker untuk menyiapkan proxy man-in-the-middle yang sudah di-root terlebih dahulu, lalu menjalankan aplikasi Android agar bisa mengamati trafik jaringan dan panggilan API jauh lebih mudah

    • Kalau ingin melakukannya secara sederhana sekarang, jalankan Waydroid lalu jalankan Wireshark di dalam network namespace yang dibuat untuk Waydroid
      sudo ip netns exec wireshark
    • Saya tidak tahu soal pengaturan proxy, tetapi redroid pada dasarnya adalah Android di dalam kontainer Docker
  • Ini adalah basis yang dipakai FuriLabs untuk membuat integrasi aplikasi Android dengan baik. Tentu mereka melakukan fork dan memodifikasinya besar-besaran [0], tetapi pengalaman pengguna untuk bisa memakai aplikasi Android di ponsel Linux sangat bagus
    [0] https://github.com/FuriLabs/waydroid

    • Saya Jesus dari FuriLabs. Sedang menyelesaikan FOSDEM, tetapi kalau ada pertanyaan atau masukan, saya bisa menjawab :)
  • Furiphone FLX1 memanfaatkan ini secara aktif, dan hasilnya sangat bagus. Saya bisa melakukan sebagian besar hal yang benar-benar ingin saya lakukan dengan ponsel Android
    Memang kebutuhan saya tidak banyak, tetapi saya juga tahu orang yang memakainya untuk Signal dan Spotify. Proyek yang hebat dan sangat cocok untuk ponsel Linux

    • Saya baru melihatnya di thread ini dan setelah saya cek kelihatannya bagus. Saya ingin membeli satu, tetapi di FAQ tertulis bahwa “aplikasi yang membutuhkan seluruh Google Play Store beserta persyaratannya tidak akan berjalan, termasuk beberapa aplikasi perbankan”
      Pada akhirnya sepertinya saya tetap harus membawa dua ponsel. Aplikasi bank dan kartu kredit adalah aplikasi penting yang saya butuhkan setiap hari, dan untuk sebagian akun saya bahkan tidak bisa login dari browser desktop tanpa autentikasi aplikasi ponsel. Pembayaran individual juga sering memerlukan konfirmasi dari aplikasi ponsel. Saya juga tidak dalam posisi untuk mengganti rekening demi pengalaman pengguna yang lebih bebas
      Di luar urusan finansial, untuk pekerjaan utama saya harus memakai rangkaian produk Google, dan untuk pekerjaan lain saya juga harus memakai Discord. Sepertinya ini bisa lewat browser meski fiturnya berkurang, tetapi tidak demikian untuk aplikasi bank dan kartu kredit
      Ini bukan keluhan terhadap Waydroid atau FLX1; saya menghargai kerja dan kreativitasnya. Saya sudah lama bermimpi memiliki dan membuat sendiri ponsel yang sepenuhnya bebas dan open source, dan saya tahu besarnya pekerjaan itu. Dulu saya juga memakai dua Nokia N900
      Namun zaman sudah berubah, dan saya berharap ditemukan cara untuk menjalankan aplikasi atau protokol yang dibutuhkan kehidupan sehari-hari sekarang di atas atau berdampingan dengan sistem berbasis bebas dan open source
    • Ponsel ini hampir sempurna. Ada konektor TRRS, kartu uSD, baterai yang bisa diganti pengguna, bahkan dijual di AS
      Namun ketiadaan panel OLED mungkin bisa menjadi kekurangan fatal
    • Saya penasaran seperti apa Furiphone FLX1. Ulasan online-nya terlalu sedikit
    • Apakah port USB-C mendukung DP Alt Mode?
    • Ada Flatpak Signal yang juga berjalan baik di FuriOS
  • Saya punya tiga aplikasi yang saya beli lama sekali: kamus bahasa Swedia, kamus Jerman-Swedia, dan kamus Inggris-Swedia
    Masih bisa dipasang, tetapi tidak lagi tersedia di app store. Perusahaannya, Norstedts, tentu saja sudah beralih ke model langganan. Saya memakai Waydroid untuk menggunakan aplikasi-aplikasi ini di desktop, dan sangat puas

  • Banyak aplikasi bergantung pada dijalankan di distribusi Android “resmi” seperti Google atau Samsung, dan tidak berjalan di distribusi berbasis Lineage milik Waydroid
    Pendekatan ala Wine seperti https://gitlab.com/android_translation_layer/android_transla... tampaknya bisa membantu menipu aplikasi agar mengira sedang berjalan di distribusi Android “resmi”

    • Untuk menipu aplikasi dengan cara seperti ini, ada sekumpulan API tertentu yang harus ditiru. Di Android “asli”, ini ditangani dengan modul Magisk yang menyamarkan sebagian hal, atau microG yang mengimplementasikan ulang layanan Google secara keseluruhan
      Pendekatan ATL ala Wine jelas lebih intuitif untuk meniru API, tetapi tetap membutuhkan implementasi ulang terpisah untuk ATL. Sebaliknya Waydroid menjalankan seluruh lingkungan Android, sehingga ada kemungkinan bisa memakai ulang Magisk atau microG
  • Setiap kali melihat ini, saya berpikir, “Keren! Saya bisa menjalankan aplikasi Android keren yang tidak punya padanan di Linux,” tetapi setiap kali tidak ada yang terlintas. Apakah ada aplikasi Android yang benar-benar wajib ada?

    • Ada Organic Maps dan OSMAnd. Keduanya lebih baik daripada perangkat lunak peta desktop open source yang saya temukan
      Organic Maps punya versi desktop Linux, tetapi kesetaraan fiturnya masih jauh. Namun, ini mungkin berubah berkat hibah ini [1] untuk membuat UI desktop yang bagus bagi Organic Maps
      [1] https://nlnet.nl/project/OrganicMaps-ConvergentUI/
    • Saya suka FairEmail, sebuah klien email. Mungkin terdengar aneh, tetapi bisa jadi lebih baik daripada semua klien email desktop yang pernah saya pakai
    • Yang penting bagi saya adalah hal seperti aplikasi bank yang membutuhkan autentikasi berbasis aplikasi. Tentu saja, solusi seperti ini sayangnya tidak bekerja dengan baik di Waydroid, karena aplikasinya menyadari bahwa ia berada di dalam container lalu memblokir fungsinya
    • Saya sering melihat ini direkomendasikan untuk orang yang ingin memainkan game mobile di Steam Deck
    • Saya punya “gitar pintar” yang membutuhkan aplikasi khusus untuk mengubah pengaturan. Itu satu-satunya alasan saya masih memakai ponsel “pintar”
  • Apakah container ini bisa mengakses perangkat USB hardware? Saya punya kabel USB-C Moondrop FreeDSP dengan PEQ, tetapi hanya berfungsi lewat aplikasi Android yang buruk
    Tablet Android yang saya punya juga touchscreen-nya jelek, jadi mengubah pengaturan EQ terlalu lama. Saya ingin melakukannya langsung dari laptop Linux

    • Sepertinya bisa. Saat Android sedang fokus, kalau perangkat USB dicolokkan, ia bahkan bisa tidak sengaja mengambil alih perangkat USB itu: https://github.com/waydroid/waydroid/issues/778
      Kalaupun tidak, pada akhirnya ini adalah container Linux, jadi dengan sedikit aturan udev mestinya bisa dibuat berfungsi juga
  • Ada beberapa hal yang tampaknya terus absen dari proyek semacam ini. Bagian untuk memakai akselerasi 3D hardware host sebagai versi OpenGL ES dan Vulkan yang secara default didukung kebanyakan ponsel masih kurang
    Selain itu, banyak aplikasi punya cara bawaan untuk mendeteksi bahwa mereka tidak berjalan di ponsel, lalu melihat cpuinfo, membandingkannya dengan perangkat yang diklaim, dan keluar
    Dukungan ARM yang diharapkan dari perangkat juga terus bertambah, begitu pula throughput yang diharapkan. Jadi untuk mengemulasikan bahkan SoC ARM mobile modern biasa pun, performa host x86 yang dibutuhkan makin tinggi
    Terakhir, versi Android yang didukung hampir selalu tertinggal 3–4 generasi dari yang terbaru. Aplikasi cepat menghentikan dukungan Android lama, atau berjalan dengan fitur dan optimasi yang lebih sedikit di OS versi lama. Versi Android yang menjadi basis proyek ini berasal dari 2020
    Sebagai anekdot, bahkan BlueStacks, yang punya stack emulasi dengan kompatibilitas dan optimasi terbaik di bidang ini, saat dijalankan di 7800X3D / RTX 3090, sebagian besar game lebih lambat daripada berjalan native di ponsel Snapdragon 8 tahun lalu

  • Yang mengejutkan adalah belum ada orang yang mengabstraksikan ini agar beberapa container Android bisa dijalankan di bawah LXC
    Di Waydroid hanya ada satu image. Menurut saya sepertinya ia memakai kernel Linux kustom dengan banyak patch, dan saya tidak benar-benar memahaminya, tetapi sisi antarmuka LXC tampak cukup sederhana

    • Waydroid menggunakan kernel host