2 puan yazan GN⁺ 2025-02-03 | 1 yorum | WhatsApp'ta paylaş
  • Waydroid, Wayland tabanlı GNU/Linux masaüstlerinde tam bir Android sistemini konteyner olarak başlatıp Android uygulamalarını Linux uygulamaları gibi yan yana çalıştırmayı sağlayan bir projedir
  • Linux namespace’leri, LXC ve binder arayüzünü kullanarak Android konteynerinin ihtiyaç duyduğu donanıma doğrudan erişmesini sağlar; arm, arm64, x86, x86_64 GNU/Linux platformlarını destekler
  • Android uygulamaları Linux uygulama klasörüne entegre edilebilir ve Multi-Window Mode, Full UI Mode, Fullscreen Mode gibi kullanım ortamına göre farklı çalıştırma biçimleri sunar
  • Çalışma zamanı, LineageOS tabanlı, minimum düzeyde özelleştirilmiş bir Android sistem imajından oluşur; mevcut imaj Android 13 tabanlıdır
  • Kurulumdan sonra waydroid-container servisini başlatmak ve uygulama menüsünden ilk çalıştırma sihirbazını tamamlamak gerekir; Waydroid-Linux beta dağıtımı live mode’da değil, kurulu ortamda çalışır

Waydroid’in Android-on-Linux mimarisi

  • Waydroid, standart bir GNU/Linux sistemindeki Wayland tabanlı masaüstü ortamında tam bir Android sistemini konteyner olarak başlatma yaklaşımını kullanır
  • Konteyner içindeki Android, Linux namespace’lerini kullanır
    • user
    • pid
    • uts
    • net
    • mount
    • ipc
  • Android sistemi, LXC ve binder arayüzü üzerinden ihtiyaç duyduğu donanıma doğrudan erişir
  • Desteklenen platformlar GNU/Linux tabanlı arm, arm64, x86, x86_64’tür
  • Proje ücretsiz ve açık kaynaklıdır; deposu GitHub üzerindedir

Masaüstü entegrasyonu ve çalıştırma modları

  • Android uygulamaları masaüstünde Linux uygulamalarıyla yan yana çalışır; Waydroid, Android uygulamalarını Linux uygulama klasörüne ekler
  • Çalıştırma modları kullanım biçimine göre ayrılır
    • Multi-window mode: Android freeform window tanımını genişleterek çeşitli işlevler ekler
    • Full UI Mode: Oyunlar ve tam ekran eğlence kullanımları için tam Android arayüzünü gösterir
    • Masaüstü ve kiosk kullanımı için Fullscreen Mode kullanılabilir
  • Performans tarafında Wayland ve AOSP mesa kullanarak mümkün olduğunca yerel çalışmaya yakın bir deneyim hedefler
  • Android çalışma zamanı ortamı, LineageOS tabanlı, minimum düzeyde özelleştirilmiş bir Android sistem imajıyla birlikte sunulur; mevcut imaj Android 13 tabanlıdır

Dokümantasyon, kurulum ve Waydroid-Linux beta

  • Dokümantasyon ve sorun takibi ayrı bağlantılardan görülebilir
  • systemd tabanlı dağıtımlarda hızlı kurulum akışı, dağıtıma özel kurulum dokümantasyonunu izledikten sonra, otomatik başlamadıysa waydroid-container servisini başlatıp uygulama menüsünden Waydroid’i çalıştırarak ilk çalıştırma sihirbazını tamamlamaktır
  • İlk çalıştırma sırasında istenirse System OTA ve Vendor OTA alanlarına OTA bağlantıları girilir
  • Waydroid-Linux Beta, Waydroid’in sağlayabileceği entegrasyon olasılıklarını göstermek için hazırlanmış, tamamen entegre dağıtımlardan oluşur
    • İlk alfa sürümü Ubuntu 20.04 (focal) ile başladı
    • Şu anda Ubuntu 22.04 (jammy) ve Debian 12 (bookworm) da dahildir
    • Yapılabilecek işlerin kapsamını genişletmek için çeşitli araçlar ve betikler içerir
  • Waydroid, LXC ve binder için kernel modüllerini kullandığından Waydroid-Linux live mode’da çalışmaz; düzgün çalışması için kurulum gerekir
  • Beta indirme öğeleri README.md dosyasının kontrol edilmesini ister; örnek sürümler olarak Ubuntu 22.04 KDE-Plasma, Ubuntu 22.04 Gnome, Debian 12 Beta, Ubuntu 21.10 Beta ve önceki alfa sürümleri sunulur

1 yorum

 
GN⁺ 2025-02-03
Hacker News yorumları
  • Bunun ön sayfaya çıkmasına şaşırdım. Çünkü oldukça iyi bilinen bir yazılım
    Üzücü olan, Waydroid’de çalışan Google tarafından sağlanan bir imaj olmaması. Örneğin genel sistem imajı gibi. İnternetten indirdiğim rastgele bir ROM’a parola girmek içime sinmiyor
    https://source.android.com/docs/core/tests/vts/gsi

    • “İnternetten indirilmiş rastgele bir ROM” demek zor. LineageOS çok uzun süredir yerleşmiş bir proje ve belirli cihazlar için gereken firmware dışında tamamen özgür ve açık kaynak yazılım
      Waydroid gibi topluluk desteği ve sürekli dağıtım gerektiren projeler için doğal bir seçenek. Google, Android’in temeli olan AOSP’de başlangıçta bulunan birçok özgür ve açık kaynak parçayı yıllar içinde sürekli kaldırdı; bu yüzden LineageOS gibi projeler alternatif bileşenler geliştirmek zorunda kaldı. Yine de LineageOS’un AOSP üzerinde yaptığı değişikliklerin, Google dahil çoğu telefon üreticisininkinden daha az olduğunu düşünüyorum
    • Rastgele denebilir mi? LineageOS oldukça köklü bir proje. Hatta kişisel bilgilerimi Google’ın sağladığı bir imaja girmek bana daha itici geliyor. Çünkü verilerimi toplamak ve bana reklam göstermek Google’ın temel iş modeli
    • Açıkçası LineageOS’a, Google tarafından sağlanan bir imajdan daha çok güveniyorum
    • Bu arada Firefox da geçmişte ön sayfaya çıkmıştı. Olabiliyor yani :)
    • Google, Docker’da çalışan imajlar sağlıyor
  • Mac’te Docker Desktop ya da OrbStack gibi şeylerle ayağa kaldırılabilen konteynerleştirilmiş Android olsa güzel olurdu
    Docker imajını değiştirip root’lu bir man-in-the-middle proxy’yi önceden ayarlamak, ardından Android uygulamasını çalıştırıp ağ trafiğini ve API çağrılarını çok daha kolay gözlemlemek isterdim

    • Şimdilik basitçe yapmak istiyorsanız Waydroid’i çalıştırdıktan sonra Waydroid için oluşturulan ağ namespace’i içinde Wireshark çalıştırabilirsiniz
      sudo ip netns exec wireshark
    • Proxy ayarını bilmiyorum ama redroid fiilen Docker konteyneri içindeki Android
  • FuriLabs’in Android uygulama entegrasyonunu iyi yapmasının temeli buydu. Elbette fork’layıp [0] ciddi biçimde değiştirdiler ama Linux telefonda Android uygulamaları kullanılabilir kılan kullanıcı deneyimi harikaydı
    [0] https://github.com/FuriLabs/waydroid

    • FuriLabs’ten Jesus ben. FOSDEM’i toparlıyoruz ama soru ya da geri bildirim varsa yanıtlayabilirim :)
  • Furiphone FLX1 bunu yoğun biçimde kullanıyor ve gerçekten iyi. Gerçek bir Android telefonla yapmak isteyeceğiniz şeylerin çoğunu yapabiliyor
    Tabii benim istediklerim çok fazla değil ama Signal ve Spotify için kullanan insanlar da biliyorum. Harika bir proje ve Linux telefonlara cuk oturuyor

    • Bu başlıkta ilk kez görüp inceledim; iyi görünüyor. Bir tane almak isterdim ama FAQ’da “tam Google Play Store ve gereksinimlerini gerektiren uygulamalar çalışmaz; buna bazı banka uygulamaları da dahildir” deniyor
      Sonunda iki telefon taşımam gerekecek gibi. Banka ve kredi kartı uygulamaları her gün ihtiyaç duyduğum temel uygulamalar; bazı hesaplara masaüstü tarayıcıdan bile telefon uygulamasıyla doğrulama yapmadan giriş yapamıyorum. Tekil ödemeler de sık sık telefon uygulaması onayı gerektiriyor. Daha özgür bir kullanıcı deneyimi için hesap değiştirebilecek durumda da değilim
      Finans dışında, ana işimde Google ürün ailesini kullanmam gerekiyor; başka işlerde de Discord kullanmam gerekmişti. Bu, işlevsellik azalsa bile tarayıcıdan mümkün olabilir gibi; ama banka ve kredi kartı uygulamaları için öyle değil
      Bu Waydroid ya da FLX1’e yönelik bir şikâyet değil; yapılan işi ve yaratıcılığı takdir ediyorum. Tamamen özgür ve açık kaynak bir telefona sahip olmayı ve onu kendim yapmayı uzun zamandır hayal ettim; bunun ne kadar emek istediğini de biliyorum. Eskiden iki Nokia N900 de kullanmıştım
      Sadece zaman değişti ve bugünkü günlük yaşamın gerektirdiği uygulama ya da protokolleri özgür ve açık kaynak tabanlı sistemler üzerinde veya onlarla yan yana çalıştırmanın bir yolu bulunur umarım
    • Bu telefon neredeyse kusursuz. TRRS konnektör, uSD kart, kullanıcı tarafından değiştirilebilir batarya ve ABD’de satış bile var
      Ancak OLED panel olmaması belirleyici bir eksi olabilir
    • Furiphone FLX1’in nasıl olduğunu merak ediyorum. Çevrimiçi inceleme çok az
    • USB-C portunda DP alternate mode destekliyor mu?
    • FuriOS’ta da iyi çalışan Flatpak Signal var
  • Uzun zaman önce satın aldığım üç uygulama var. İsveççe sözlük, Almanca-İsveççe sözlük ve İngilizce-İsveççe sözlük
    Hâlâ kurulabiliyorlar ama uygulama mağazasında artık sunulmuyorlar. Şirket Norstedts doğal olarak abonelik modeline geçti. Bu uygulamaları masaüstünde kullanmak için Waydroid kullanıyorum ve çok memnunum

  • Birçok uygulama Google, Samsung gibi “resmî” Android dağıtımlarında çalışıyor olmaya bağımlı ve Waydroid’in Lineage tabanlı dağıtımında çalışmıyor
    https://gitlab.com/android_translation_layer/android_transla... gibi Wine tarzı bir yaklaşım, uygulamaları “resmî” bir Android dağıtımında çalışıyormuş gibi kandırmaya yardımcı olabilir gibi görünüyor

    • Uygulamaları bu şekilde kandırmak için taklit edilmesi gereken belirli API kümeleri var. “Gerçek” Android’de Magisk modülleri bunların bir kısmını gizleyebiliyor ya da microG, Google hizmetlerini baştan sona yeniden uyguluyor
      ATL’nin Wine tarzı yaklaşımı API’leri taklit etmek için kesinlikle daha sezgisel; yine de ATL için ayrı bir yeniden uygulama gerekiyor. Buna karşılık Waydroid tüm Android ortamını çalıştırdığı için Magisk veya microG’yi yeniden kullanma ihtimali var
  • Bunu her gördüğümde “Harika! Linux karşılığı olmayan güzel Android uygulamalarını çalıştırabilirim” diye düşünüyorum ama her seferinde aklıma hiçbir şey gelmiyor. Mutlaka olması gereken bir Android uygulaması var mı?

    • Organic Maps ve OSMAnd var. Bulduğum açık kaynak masaüstü harita yazılımlarından daha iyiler.
      Organic Maps’in masaüstü Linux sürümü var ama özellik eşitliğinden hâlâ çok uzak. Yine de Organic Maps için iyi bir masaüstü kullanıcı arayüzü yapmayı hedefleyen şu hibe [1] sayesinde bu değişebilir.
      [1] https://nlnet.nl/project/OrganicMaps-ConvergentUI/
    • E-posta istemcisi FairEmail’i seviyorum. Kulağa garip gelebilir ama kullandığım tüm masaüstü e-posta istemcilerinden daha iyi olabilir.
    • Benim için önemli olan, uygulama tabanlı kimlik doğrulama gerektiren banka uygulamaları gibi şeyler. Elbette bu tür çözümler ne yazık ki Waydroid gibi ortamlarda pek iyi çalışmıyor; çünkü uygulama bir konteyner içinde olduğunu fark edip işlevleri engelliyor.
    • Çoğunlukla Steam Deck’te mobil oyun oynamak isteyenlere önerildiğini gördüm.
    • Ayarlarını değiştirmek için özel bir uygulama gerektiren “akıllı gitar”ım var. “Akıllı” telefon kullanmaya devam etmemin tek nedeni bu.
  • Bu konteyner donanımsal USB aygıtlarına erişebiliyor mu? PEQ içeren bir Moondrop FreeDSP USB-C kablom var ve yalnızca berbat bir Android uygulamasında çalışıyor.
    Elimdeki Android tabletin dokunmatik ekranı da kötü olduğundan EQ ayarlarını değiştirmek çok uzun sürüyor. Bunu doğrudan Linux dizüstümden yapmak istiyorum.

    • Çalışıyor gibi görünüyor. Android odaktayken bir USB aygıtı takarsanız, yanlışlıkla o USB aygıtını sahiplenecek kadar: https://github.com/waydroid/waydroid/issues/778
      Öyle olmasa bile sonuçta bir Linux konteyneri, biraz udev kuralıyla bir şekilde çalışır hâle getirilebilir.
  • Bu tür projelerde sürekli eksik gibi görünen birkaç şey var. Ana makinenin donanımsal 3D hızlandırmasını, çoğu telefonun varsayılan olarak desteklediği OpenGL ES ve Vulkan sürümleriyle kullanma kısmı yetersiz.
    Ayrıca birçok uygulamada, telefonda çalışmadığını algılamaya yönelik yerleşik yöntemler var; cpuinfo’ya bakıp iddia edilen cihazla karşılaştırıyor ve sonra kapanıyor.
    Cihazlarda beklenen ARM desteği de artıyor, beklenen işlem kapasitesi de bununla birlikte yükseliyor. Bu yüzden sıradan bir modern mobil ARM SoC’yi bile emüle etmek için gereken x86 ana makine performansı giderek artıyor.
    Son olarak desteklenen Android sürümü neredeyse her zaman güncelin 3-4 nesil gerisinde kalıyor. Uygulamalar eski Android desteğini hızla kesiyor ya da eski OS sürümlerinde daha az özellik ve optimizasyonla çalışıyor. Bu projenin temel aldığı Android sürümü 2020’den.
    Anekdot olarak, bu alanda en uyumlu ve en iyi optimize edilmiş emülasyon yığınına sahip BlueStacks bile 7800X3D / RTX 3090 üzerinde çalıştırıldığında çoğu oyunda geçen yılın Snapdragon 8 telefonunda yerel çalışmasından daha yavaş.

  • Şaşırtıcı olan, birden fazla Android konteynerini LXC altında çalıştırılabilir hâle getirecek şekilde bunu soyutlayan kimsenin olmaması.
    Waydroid’de yalnızca tek bir imaj var. Bana göre çok yamalı özel bir Linux çekirdeği kullanıyor gibiydi; tam çözemedim ama LXC arayüzü tarafı oldukça basit görünüyordu.

    • Waydroid ana makine çekirdeğini kullanır.