Wayland neden daha iyi?

148

Mark Shuttleworth tarafından kısa bir süre önce duyurulduğu üzere, Ubuntu, görüntü yönetmeni olarak Wayland'ı kullanmaya doğru ilerleyecek.

X11 ve Wayland arasındaki en büyük farklar nelerdir? Wayland neden Ubuntu'yu daha iyi hale getirecek?

    
sordu Hillar 05.11.2010 14:52

6 cevap

121

Tasarımda nasıl farklılaştığını görmek için Wayland mimarisi sayfasını görebilirsiniz. Standart bir GEM / DRM yığınının tümünü çekirdeğe doğru zorlayarak ve kompozisyonun kendisini yöneterek tüm grafik yığınını basitleştirmesi gerekiyordu.

Bunu, bitlerinizin olduğu ve tüm yerinizde bulunan X yığınına karşılaştırın. X karmaşasından bazıları esnek tasarımdan geçiyor, bazıları acı çekiyor. Tüm compositors'lar (Compiz / Metacity / Mutter / KWin / etc) daha sonradan eklenmiştir. Özünde, X'in muhtemelen kendisinin yapması gereken şeyi yapmaya hevesliler. Eğer işler dışarıda olduğu gibi genişliyorsa, projenin sürdürülemez hale gelebileceği bir noktaya ulaşacağız.

Sonuç olarak, donanım desteği olduğunda, tüm kümeyi standart kurulumlarda kullanmak için daha verimli ve daha az ağrılı yapmalıdır.

Ancak, şu ana kadar çözüm öneremediğim birkaç sorun var:

  • X, oldukça ağ farkında. Pencereleri diğer bilgisayarlara gönderebilirsiniz, uzak girişler ile birden fazla ekrana sahip olabilir ve bunun gibi her türlü korkak şeylere sahip olabilirsiniz. Bu oldukça uzman görünebilir ancak yaygın olarak kullanılan bir teknolojidir. Wayland, kıyaslandığında oldukça yerel ve statik görünür.

  • Ayrıca sürücü desteği de var. Kapalı kaynak sürücüler henüz Wayland'ın uğraştığı KMS / shared-GEM / shared-DRM teknolojilerini desteklemiyor. Bir saflık Nouveau ile tamam olabilir, ancak yüksek performanslı bir 3D ekran kartında 100-400 sterlin ödeyen bir kişi, şimdiki açık sürücü ile alabileceği zayıf 3D performansından memnun olmaz.

    Güncelleme: Nvidia hem Wayland hem de Mir'i desteklemek için çalışıyor. .

Her iki durumda da, yıllarca (muhtemelen iki ila üç IMO) konuşuyoruz, bunun gibi bir şey daha önce kararlı bir test için hazır ve daha önce X'ten vazgeçmek zorunda kalmadan önce (eğer Wayland daha iyi bir şekilde).

    
verilen cevap Oli 05.11.2010 15:43
48

X ve Wayland arasındaki farkların lotu var. Muhtemelen grafikten en büyük olanı, Wayland herhangi bir çizim yapmamasıdır

.

X, iki çizim API'sine sahiptir. Bunlardan biri eski, işe yaramaz ve kimse kullanmayan çekirdek X11 protokolünün bir parçasıdır. Diğeri ise, degradeler gibi diğer şeylerin yanı sıra modern kompozit operasyonlar sağlayan XRender uzantısıdır. Mesela Kahire bu şekilde kullanır. X ayrıca yazı tipi çizim API'lerine sahiptir.

Wayland'ın çizim API'si yok. Bir Wayland istemcisi, temel olarak bazı grafik belleğine bir işaretçi olan bir DRM arabellek tutamacı alır; Wayland, müşterinin bu arabelleğe nasıl çizdiğini bilmiyor ya da önemsemiyor. X terimlerinde bu, tüm uygulamaların doğrudan oluşturma alması anlamına gelir - çizim isteklerinin sunucudan geçmesi gerekmez.

Wayland'ın yaptığı tek render, müşterinin arabelleklerini ekrana kopyalamaktır.

Fayda açısından bakıldığında, Wayland, X'den çok daha az karmaşıktır ki bu, bakımın daha kolay yapılmasını sağlamalıdır - ancak bu sadeliğin bir kısmı karmaşıklığı zorlamaktan kaynaklanmaktadır (örneğin: aslında bunun üzerine nasıl çizileceğini arabellek, ağ saydamlığı) yığının diğer katmanlarına. Müşterileri tüm oluşturmalarından sorumlu kılarak müşteriler, çift arabelleğe alma gibi şeylerle ilgili daha akıllı olabilir.

Grafiklerin dışında başka avantajlar da var. Örneğin uygulamaları kumlamak çok daha kolay.

    
verilen cevap RAOF 07.11.2010 06:40
16

Gözlerimdeki en büyük fark, Wayland'ın çekirdeğe X-Server'dan daha yakın olması. X'ten çekirdeğe (kernel modu ayarı, KMS olarak bilinir) gelen grafik sürücülerinin hareketiyle, Wayland X'in yerini almak için bu yeni işlevselliği kullanmayı planlıyor. Aşağıdakileri görmeyi bekleyebilirsiniz ...

X'ten daha az bir ayak izi - ekranın çekirdeği tarafından ele alındığı için, Wayland'ın kullanılabilir hale gelmesi için fazla bir şey yapması gerekmeyecek. Bu, X iletiminin (başka bir PC'deki bir ekrana bakın) X ile kaybolabileceğinden şüphelendiğim için her iki şekilde de gider.

KMS özellikleri: X sunucusunu yeniden başlatmadan ekran çözünürlüğünü değiştirebilme (bunun bir süre sonra X'e sabitlendiğine inanıyorum, en azından nvidia için), intel chipsets için çekirdek panik hata ayıklama konsolu (nouveau'ya taşınıyor) Bu tür bir şeye dönüşün.

Eğer yanılıyorsam, herhangi biri beni düzeltebilir mi?

    
verilen cevap TGM 05.11.2010 15:36
11

Diğer tüm gönderiler Wayland'ın faydalarını vurgulamaktadır, ancak hepsi sadece iyi değildir. X'in Wayland'ın en büyük avantajı, X'in ağ üzerinden çalıştığıdır. X ağ şeffaf, gerçek program başka, genellikle daha güçlü bir makinede çalışırken pencerede veya XDMCP ile bir tam oturum, bir terminalde görüntüleyebilirsiniz. Wayland gibi bir şeyle, ağ şeffaflığı fikri gitti. Belki de bu günlerde, hızlı ağlar ve VNC ve RDP gibi diğer protokollerle çok fazla gerekli değildir, sadece tamlık için bahsettiğimi düşündüm.

    
verilen cevap Christian Hujer 02.09.2015 22:16
6

Basitçe söylemek gerekirse, umut daha iyi grafikler içindir (daha az buggy, daha hızlı, daha kolay kullanım). Daha önce olmayan bir şey bile mümkün olabilir. Ben şahsen en azından rekabetin her zaman yaptığı gibi, bir şeyler hazırlayacağını düşünüyorum.

    
verilen cevap ido 05.11.2010 15:20
3

Günlük çalışmalarda herkesin hızlıca fark edeceği iki küçük şey:

  • Wayland, X11'de düzeltmek için çok zor görülen kâğıt parçalarını ortadan kaldırıyor. Ünlü bir örnek: Bir menü açıkken veya kilit ekranı açıkken işlev tuşlarını (hoparlör sesi, ekran parlaklığı vb.) Kullanma.
  • Wayland giriş cihazlarında daha iyidir. Birincisi, kalıcı bir dokunmaya duyarlı tıklama ayarı dahil olmak üzere, dokunmatik yüzeyleri yapılandırmak için daha birçok seçenek vardır.
verilen cevap Nico Schlömer 15.08.2017 15:52

Etiketlerdeki diğer soruları oku

___ qstnhdr Ubuntu'da Android SDK / ADT Paketi için Komple Kurulum Kılavuzu ___ answer466302 ___

Bu uzun bir cevap gibi görünebilir, ancak her adımı olabildiğince ayrıntılı olarak açıklamaya çalıştım, böylece hiçbir şey ters gidebilir. Bunu, yeni başlayanlar bile olsa 5 dakikadan daha kısa bir sürede ayarlayabilirsiniz.

  1. Eclipse'i kullanmak için Java'ya ihtiyacınız olacak, bu yüzden önce yükleyin:

    Eclipse bir IDE . Android ADT paketi varsayılan olarak Eclipse IDE ile paketleniyor. İsterseniz, başka bir IDE (örneğin, NetBeans ) kullanmayı da tercih edebilirsiniz, ancak Eclipse varsayılan olduğundan sadece Eclipse'i kapsayacağım. öğretici.

    1. Bir terminali aç

      Bunu Tire'nizde arayın veya CTRL + ALT + T

      tuşlarına basın.

    2. Aşağıdaki komutları yürütün:

      %pre%

      Ekranınızda herhangi bir hata olup olmadığını kontrol edin, ardından devam edin.

  2. Artık Android ADT paketini indirin (bu Eclipse + Android SDK'sıdır):

    1. İndirme sayfasına gitmek için burayı tıklayın.
    2. %code% öğesini tıklayın
    3. %code% kontrol edin
    4. Mimarinizi seçin:

      Bunu nasıl kontrol edebilirim?

      • 32 bit Ubuntu'nuz varsa %code% kontrol edin
      • 64 bit Ubuntu'nuz varsa %code% kontrol edin
    5. %code% öğesini tıklayın
  3. Android ADT paketini yükle:

    1. İndirdiğiniz %code% dosyasını açın
    2. Tüm dosyaları bir dizine çıkarın, örneğin:

      %pre%

      Ayıklandıktan sonra bu dizin 2 farklı dizin içermelidir:

      %pre%
  4. %code% ikili dosyalarını %code% dosyanıza ekleyin:

    Bu zorunlu değil, bir terminalden erişilebilir %code% gibi komutlar yapar.

    1. Bir terminali aç
    2. Aşağıdaki komutu yürütün:

      %pre%
    3. Üstteki şu satırı ekleyin:

      %pre%
    4. Dosyayı kaydetme

      Bunu CTRL + X , Y , ENTER

      tuşlarına basarak yapabilirsiniz.
  5. Kolayca ADT'yi başlatmak için Dash'ınızda bir kısayol oluşturun:

    1. Bir terminali aç
    2. Aşağıdaki komutu yürütün

      %pre%
    3. Bunu yapıştırın:

      Bu, terminal pencerenizin içinde doğru bir şekilde isteyerek yapılabilir ve ardından %code% 'i tıklayabilirsiniz.

      %pre%

      Not: Kullanıcı adınız ile %code% değerini değiştirin. Kullanıcı adınızı bir terminalde %code% yürüterek alabilirsiniz.

    4. Dosyayı kaydet
    5. Yürütülebilir hale getirmek için aşağıdaki komutu çalıştırın:

      %pre%

Her şeyi doğru yaparsanız, Android ADT'yi başarıyla yüklediniz. Dash'ınızı açın ve %code% araması yapın. Çalışmakta olup olmadığını kontrol etmek için %code% seçeneğini tıklayın!

    
___ qstntxt ___

Android SDK / ADT Paketini Ubuntu'ya yüklemek için ne yapılması gerekiyor?

Android SDK'mın başlamasına engel olan sorunlarla karşılaştığım ve bundan sonra uygun forumlarda soruları yayınladığımda, cevabın her adımı farklı forumlarda bulundu. Bu yüzden, Ubuntu'yu yeniden yüklemesi ve Android SDK / ADT Paketini sıfırdan yüklemesi gerektiğinde, bunun tek bir çözüm olması açısından faydalı olacağını düşündüm!

    
___ answer318247 ___

1. Adım

  
    

Sistem Ayarlarını Kontrol Et - & gt; Ayrıntılar, Ubuntu'nuzun 32 bit mi, yoksa 64 bit mi olduğu

  

2. Adım

  
    

(Yazılım merkezi veya komut satırı kullanarak) Ubuntu'nuz bir 32 bit işletim sistemiyse, %code%

dosyasını yükleyin.          

64 bit işletim sistemi yüklüyse, %code% (Ubuntu 13.04 veya önceki sürüm) veya %code% (Ubuntu 13.10 ve üstü)

  

3. Adım

  
    

%code% uygulamasını yükleyin. Uyumlu değilse, %code% deneyin veya uyumlu değilse %code%

  

4. Adım

  

Android SDK komut satırı araçlarını burayı indirin (sayfanın altında bulunurlar) ) ve Android SDK'sine ihtiyacınız olduğu sürece bırakabileceğiniz bir yere açın, örneğin %code% .

5. Adım

  
    

Sıkıştırılmamış ADT Bundle klasörünün (veya duruma göre Android SDK klasörünün) %code% ve %code% klasörüne sahip olduğunu kontrol edin. % Co_de% klasörü yoksa, bu komutu kullanarak komut çalıştırarak android sanal aygıt yöneticisinden yükleyebilmeniz gerekir

%pre%          

terminalde. Bu klasörler saklanan bazı önemli komutları içerir. Bunları yürütülebilir yolunuza ekleyin. Onları yoluna eklemek şu şekilde yapılabilir:

         

İlk önce %code% dosyasını çalıştırın. Bir dosya açılır. Bu satırları şu dosyaya eklemeniz yeterli:

%pre%          

Burada, %code% ve %code% değerini, SDK'yı veya ADT paketi indirmeyi açtığınız yere göre mutlak yollarla değiştirmeniz gerekir. Artık %code% , %code% , %code% vb. Komutların tümü, mutlak yollar vermeden terminalde basitçe yürütülebilir. Yani, mutlak yolu olmadan verdiyseniz "komut bulunamadı" hatası almazsınız.

  

6. Adım

  
    

Terminalde %code% yazın ve 5. Adım doğru şekilde yapıldıysa, yüklemenizi tamamlayabileceğiniz Android SDK Paket Aracı başlayacaktır.

  
    
___ answer532535 ​​___

Ayrıca %code% ve %code% 'yi bu PPA ' dan yükleyebilirsiniz.

%pre%

Yapmanız gereken %code% yüklemesini tamamlamak için:

%pre%

Ayrıca %code% yükleyebilirsiniz:

%pre%

Şimdi kurulumun beklendiği gibi gittiğini kontrol edin:

%pre%     
___ answer664248 ___

Başka bir alternatif var. Entegre Geliştirme Ortamları (IDE) programlamayı kolaylaştırıyor, bunlarla ilgili bir problem var, ancak bir IDE'nin bir Linux sisteminde (Ubuntu) en son versiyonunu, reposlarda bulunmuyorsa kurmak zor olabiliyor. Android Studio böyle bir IDE'dir.

  

Android Studio, Android uygulaması için resmi IDE'dir   IntelliJ IDEA'ya dayalı geliştirme. Yeteneklerin üstünde   IntelliJ'ten beklediğinizde, Android Studio şunları sunuyor: Esnek Gradle tabanlı   yapı sistemi oluşturmak Varyantları ve çoklu apk dosya üretimi Kod   Ortak uygulama özellikleri oluşturmanıza yardımcı olacak şablonlar Zengin düzen düzenleyici   sürükle ve bırak tema düzenleme lint araçları yakalamak için destek ile   performans, kullanılabilirlik, sürüm uyumluluğu ve diğer sorunlar   ProGuard ve uygulama imzalama yetenekleri Google için yerleşik destek   Cloud Platform, Google Cloud Messaging'i entegre etmeyi kolaylaştırır ve   App Engine.

Aşağıdakilerden çıkarılan: İşte

Bu prosedürü izleyin:

  1. İlk olarak aşağıdaki komutu yürütün.
  

%code%

  1. Ardından repoyu güncelleyin.
  

%code%

  1. Şimdi yazılımı yükleyin:
  

%code%

  1. Yüklenecek tüm paketi göreceksiniz, Ubuntu'ya kurulum işlemine devam etmek için "y" yazın. İşin bittiğinde. Aşağıdakilerle devam edin.
  

%code%

Yükleme yolunu varsayılan değer olarak bırakın;

Enter tuşuna tekrar basın. Lisansı "a" yazıp ardından indirme işlemini başlatmanız gerekir.

Android Studio, size bir sihirbaz sunacak, bir sonraki adımı atmaya devam edecek ve lisansı kabul edebilecek. Ardından, en yeni Android SDK'sı gibi Android geliştirme gereksinimlerini karşılamaya devam edecektir. Gerekli paketlerin yüklenmesi tamamlandıktan sonra "Son" a tıklayın.

    
___ answer466245 ___

Aslında, Android uygulamasını geliştirmek için Android Studio'yu kullanmanız gerektiğini düşünüyorum. Ancak, eclipse kullanmak için nedeniniz varsa, aşağıdaki kılavuzu takip edebilirsiniz.

%pre%

1. Java Runtime (JDK) ve Eclipse IDE'nin Yüklenmesi

  • Ubuntu'da %code% ara ve %code% uygulamasını başlat

  • %code% öğesini %code% olarak ara ve %code% 'yi yükle.

  • %code% 'yı %code% ' da arayın ve yükleyin.

  • Tutulması ve JDK'yi başarıyla yüklediyseniz, bilgisayarınızda arama sonucunda görünür.

  • JDK için ayrıca bir terminali açmak için CTRL + ALT + T tuşlarına basabilir ve tekrar kontrol etmek için% co_de komutunu yazabilirsiniz. .

  • İpuçları: Başlatıcı üzerinde tutulma simgesini kilitleyin.

2. SDK’yı İndirme

  • SDK'nın en son sürümünü indirmek için İşte adresine gidin.

  • Aşağı kaydırın ve %code% öğesini tıklayın.

  • %code% 'in altında %code% %code% ' yi tıklayın.

  • %code% öğesini işaretleyin ve %code% 'i tıklayın.

  • İndirme işlemini bekleyin.

3. Kurulum için Hazırlanma

  • Dosyayı indirmeyi ayarladığınız konuma gidin.
  • Rigth [.tgz] dosyasını tıklayın ve %code% 'i seçin.

  • Artık %code% adlı bir dosyanın aşağıdaki gibi göründüğünü görebiliyorsunuz.

  • %code% klasörünü girin.

  • %code% klasörünü girin ve ardından klasör konumunu kopyalayın.

  • Bir terminali açmak için CTRL + ALT + T tuşlarına basın ve sonra aşağıdaki komutu kullanın. % Co_de% daha önce kopyaladığım konumdur. Konumun terminale geçmesi için %code% yazabilir ve sağ tıklayabilirsiniz.

    %pre%

  • Artık %code% çalıştırılacak.

4. Paketleri Kurma

  • [Numara] paketlerini yükle ... 'yi tıklayın.

  • %code% 'yi ve ardından Yükle ' yi tıklayın.

  • Yükleme işlemini bekleyin.

  • Son olarak, bu mesaj gösterilecek.

5. Düzenleme ".bashrc"

  • Yeni bir terminal açmak için CTRL + ALT + T tuşlarına basın ve aşağıdakileri yazın: %code%

  • Şimdi aşağıdaki metin görünecek.

  • Metnin tamamının yukarı 'na aşağıdakileri ekleyin ve ardından kaydedin. (Dosyayı kapatmayın)

    %pre%
  • Örnek:

  • [Önerilen] %code% dosyasının tamamını eclipse'in çalışma alanına ve %code% adlı oluşturduğunuz bir klasörün altına taşıyın. Dahası, yeri kopyalamanız gerekiyor.

  • Şimdi ".bashrc" dosyasına geri dönün ve daha sonra kopyaladığınız konumla '~' değiştirin ve kaydedin ve kapatın.

  • Ubuntu sisteminizi kapatın ve yeniden başlatın.

6. Android Sanal Cihazını Kurma

  • CTRL + ALT + T tuşlarına basın ve Android Virtual Device Manager'ı açmak için %code% yazın.

  • Yeni ... 'yi tıklayın. Aşağıdakine benzer şekilde ayarlayın ve Tamam 'ı tıklayın.

  • Sanal cihazınızı ve ardından Başlat ... 'ı tıklayın.

  • Başlat 'ı tıklayın.

  • Sanal cihazınızı başlatılıyor

7. Eclipse'de ADT Eklentisini Yükleme

  • Eclipse'i başlatın ve Yardım - & gt; Yeni Yazılımı Kur ...

  • Ekle ... 'yi tıklayın.

  • Aşağıdakileri yazıp Tamam 'ı tıklayın.

    %pre%

  • %code% onay kutusunu işaretleyin ve ardından Sonraki & gt; 'i tıklayın.

  • Sonraki & gt; 'i tıklayın.

  • "Kabul ediyorum ..." u tıklayın ve Son 'ı tıklayın.

  • Yükleme işlemini bekleyin.

  • Tutulmayı yeniden başlat.

  • Tercihleri ​​Aç 'ı tıklayın.

  • Kendi SDK konumunuzu kopyalayın (Dosyanın konumu %code% ).

  • %code% metin kutusuna yapıştırın ve ardından Uygula ve Tamam 'ı tıklayın.

  • Ubuntu'nuzla herhangi bir android uygulama oluşturmanın keyfini çıkarın.

___ answer732010 ___

CLI yaklaşımı

Ubuntu 15.10, Android 22'de test edildi.

Bir cihaz:

  • geliştirici modunu ve USB hata ayıklamayı etkinleştirin: İşte
  • USB kablosuyla bilgisayara bağlantı kurun

Ardından:

%pre%

%code% dosyanıza ekleyin: TODO: Hangileri gerçekten gereklidir?

%pre%

Çıkış ve giriş. İhtiyacınız olabilir:

%pre%

Kurulumu test et

Ellerinizi bu gibi minimal proje veya %code% altına bakın.

Bir Ant projesi ise ( %code% dosyası içeriyorsa) şunu çalıştırın:

%pre%

Bir Gradle projesi ise ( %code% dosyası içerir):

%pre%

Uygulama, cihazınıza yüklenmelidir.

Studio (ADT halefi) ile başlatılabilir:

%pre%

NDK örnekleri %code% altında bulunabilir ve bunları şu şekilde kurabilir ve yükleyebilirsiniz:

%pre%

Resmi Debian paketlerinin durumu

Şu anda resmi bir Debian paketi yok.

Ancak, bunu çözmeye çalışan bir Google Code of Code 2015 projesi var: İşte

    
___ ISO dosyası nasıl kurulur?