RkBlog

Hardware, programming and astronomy tutorials and reviews.

O co chodzi z Waylandem i Mirem - następcami serwera X.org?

Niebawem X.org zostanie zastąpiony przez nowe menedżery kompozycji - Waylanda i Mira.

Serwer graficzny X.org używany obecnie pod Linuksem ma już swoje lata i jego architektura stanowi wąskie gardło dla współczesnych środowisk graficznych. W 2008 roku wystartował projekt Wayland - zupełnie nowy menedżer kompozycji i systemu okien. Postanowiono porzucić starą architekturę X.org i zaimplementować coś nowego rozwiązującego wszystkie istniejące problemy. Obecnie projekt ten jest oficjalnie wspierany przez organizację Freedesktop.org, X.org i wiele dużych firm związanych z Linuksem. Gdy będzie gotowy zastąpi serwer X.org.

Mir to podobny projekt firmy Canonical przeznaczony dla Ubuntu (Unity oraz wersji na tablety i komórki). Początkowo firma planowała użyć Waylanda, lecz w dość kontrowersyjnych okolicznościach ogłosiła że stworzy własny menedżer kompozycji. To rozpoczęło falę gorących dyskusji i porównań Waylanda z Mirem.

W tym artykule napiszę nieco o tych projektach i kontrowersjach jakie narosły od czasu ogłoszenia powstania projektu Mir.

Wayland i Weston

Czasami trzeba zerwać z przeszłością by zrobić coś dobrze. Swego czasu mieliśmy PHP5, które mozolnie zastępowało PHP4. Mamy też Pythona 3, który z czasem ma zastąpić Pythona 2. W przypadku tych projektów poprawki wymagały tylko częściowego złamania wstecznej zgodności. W przypadku serwera X.org stosowana od dawna architektura okazała się nie do naprawienia bez napisania całości na nowo. Dzisiaj komputery i Linux wygląda zupełnie inaczej niż kilkanaście lat temu.

Wayland jest oficjalnie "namaszczony" na zastąpienie obecnej platformy z serwerem X.org. Wielu programistów tego drugiego pracuje przy rozwoju Waylanda. Nie ma żadnego terminarza - zostanie użyty, gdy będzie gotowy. Fedora szacuje że pełne przejście na Waylanda nastąpi wraz z wydaniem Fedory 21. Niebawem serwer X.org może zniknąć z Raspbiana - dystrybucji przeznaczonej dla Rasberry Pi.

Weston to referencyjna implementacja menedżera okien (kompozytora). Może stanowić wzorzec dla projektów implementujących własne kompozytory (KWin dla KDE, Mutter dla GNOME), czy być używana przez mniejsze środowiska graficzne chcące migrować na Waylanda.

Co się stanie z istniejącymi aplikacjami?

Aplikacje oparte o biblioteki GUI nie obsługujące Waylanda, czy Mira nie będą pod nimi działać. By temu zaradzić dostępni są "pośrednicy" - XWayland i Xmir. Docelowo te aplikacje mają zapewnić działanie starych aplikacji na nowych menedżerach bez konieczności stosowania całego serwera X.org.

Zarówno KDE jak i GNOME idą w kierunku Waylanda. XFCE na razie nie zamierza pracować nad obsługą nowego menedżera kompozycji, a LXDE ogłosiło migrację na Qt5 co także powinno zapewnić wsparcie dla Waylanda. Nie ma jednak powodów do paniki. Przejście dystrybucji na Waylanda nie będzie drastyczne i nie pociągnie za sobą porzucania aplikacji jakich teraz używacie.

Po co to wszystko?

Główny powód to bardziej wydajne i elastyczne środowisko graficzne. Nowa architektura to nowe możliwości na optymalizację, czy nowe funkcjonalności. Dla programistów porzucenie ogromnej ilości "starego" kodu to znaczne udogodnienie bo bardzo trudno rozwijać projekt obciążony dużą ilością kodu. Już teraz zalety widać w przypadku Raspberry Pi. Komputer ten wyposażony jest w dość słaby procesor i dość wydajny układ graficzny. Implementacja X.org zrzucała zbyt wiele zadań na procesor, przez co tryb graficzny był mało responsywny. Jak donosi twórca Raspberry udało się zoptymalizować sterownik dla Waylanda tak by efektywnie wykorzystać GPU komputera. Jako kompozytor wykorzystano Westona. Z systemów na urządzenia mobilne także Tizen rozpoczął wykorzystanie Waylanda.

Canonical i Mir

Firma Canonical odpowiedzialna za rozwój Ubuntu swego czasu także wyraziła zainteresowanie Waylandem. Jednak na pewnym etapie, w marcu 2013 roku firma ogłosiła że sama zbuduje własny menedżer kompozycji dla nowej wersji środowiska graficznego Unity 8 napisanego w Qt5 (obecne Unity używa GTK+). Jako powody podawano niezbyt idealne dopasowanie Waylanda do potrzeb firmy. Podane techniczne powody dość szybko zostały krytycznie skomentowane przez programistów rozwijających Waylanda. Wraz z upływem czasu sytuacja bardziej zaogniała się, ale o tym za chwilę.

Canonical planuje użyć jednego "systemu" na wszystkich swoich platformach - PCty, tablety i komórki. Na urządzenia dotykowe bądą odpowiednie "mobilne" aplikacje, jak i SDK do ich tworzenia przez wszystkich chętnych - tak jak dla Androida, czy iOS. Mir i Unity będą tworzyły ten system. Model biznesowy zakłada stworzenie systemu operacyjnego podobnego do Androida - opartego na otwartym oprogramowaniu, lecz kontrolowanego przez Canonical (własny menedżer kompozycji, własne środowisko graficzne, SDK, aplikacje). Biznesowo taki system może być opłacalny i uzasadniony. Nie budzi to jednak sympatii środowisk Linuksowych. Największe problemy sprawiło jednak samo ogłoszenie powstania projektu Mir.

Wielka wrzawa

Niezależnie jakie były wewnętrzne powody zrezygnowania z Waylanda i tworzenie Mira wywołało to ostrą reakcję programistów związanych z Waylandem i innymi środowiskami graficznymi (głównie KDE). Techniczne powody stworzenia Mira dość szybko rozbito w drobny mak, co można wyszukać na różnych blogach znanych programistów (m.in. KWin/KDE). Od strony pomysłu, założeń Mir jest dość podobny do Waylanda, ale nie identyczny. Należy pamiętać że nie jest tworzony z myślą o różnych środowiskach graficznych, a jedynie o Unity. To upraszcza jego rozwój pod pewnymi względami. Z drugiej strony Canonical musi sama stworzyć menedżer kompozycji bez pomocy z zewnątrz. To olbrzymie wyzwanie.

Zarówno KDE jak i GNOME przechodzą na Waylanda. Opiekun KWin dość jasno dał do zrozumienia że w repozytorium projektu KDE nie znajdzie się żaden kod odpowiedzialny za obsługę Mira - czegoś obsługiwanego wyłącznie przez jedną dystrybucję. Także opiekun Kubuntu niedawno ogłosił iż przez mniej więcej najbliższe dwa wydania Kubuntu pozostanie na X.org a potem spróbuje przejść na Waylanda (który będzie dostępny jako pakiety przeniesione z Debiana, lecz bez większego wsparcia ze strony Canonical). Lubuntu także na razie pozostaje z X.org, a Xubuntu pewnie też nie będzie miało wyboru.

Ubuntu jako jedna z najbardziej rozpoznawalnych dystrybucji Linuska doprowadziła do tego że nawet jej pochodne wrogo (tudzież niechętnie) odnoszą się do planów firmy. Teraz Canonical będzie musiało udźwignąć ciężar oprogramowania rozwijanego "in-house" podobnie jak robi to Google z Androidem, czy Apple z iOS. Sęk w tym że Canonical nie jest aż tak dużą firmą.

Kiedy i gdzie zobaczymy Mira?

Już w Ubunt 13.10 zobaczymy Mira odpalającego przez XMir serwer X.org a na nim obecne Unity. Dla systemów używających zamkniętych sterowników nVidii, czy AMD zastosowany zostanie czysty serwer X.org. W Ubuntu 14.04 LTS tryb czystego X.org zostanie usunięty. W kolejnych wydaniach (być może 14.10 lub następnym) dostaniemy czysty Mir i Unity 8.

Wątpliwości budzi zastosowanie XMira do odpalania serwera X.org. Ideą XMira (jak i XWaylanda) była możliwość odpalania starszych aplikacji "X.org-only". Odpalanie całej sesji serwera X.org może ograniczyć wydajność i wprowadzić nowe problemy. Komentatorzy poczynań Canonical wskazują na zabiegi PR - pokazać Mir przed Waylandem, jak i testowe - przed 14.04 LTS przyda się wypuścić coś "do testów".

Z drugiej strony Canonical może budzić podziw jeżeli chodzi o szybkość i determinacja w realizacji swoich postanowień. Co prawda użycie XMira na obecnej implementacji Mira to jeszcze bardzo daleka droga do czystego Mira to jednak wypuszczenie tego w dystrybucji po kilku miesiącach rozwoju to spore osiągnięcie. Jak to się sprawdzi pokaże Ubuntu 13.10

Kiedy i gdzie zobaczymy Waylanda?

Wayland będzie gdy będzie gotowy - to najprostsza odpowiedź. Dystrybucje i opiekunowie KDE, czy GNOME planują jednak osiągnąć pełną migrację przed końcem 2014 roku. Na chwilę obecną trudno wyrokować kiedy taka migracja nastąpi. Biblioteki GTK+3, EFL, Qt5 (i pewnie inne) obsługują już Waylanda (czy to eksperymentalnie, czy już praktycznie w całości na dość stabilnym poziomie). KWin posiada już eksperymentalną obsługę Waylanda, a GNOME zapewne dołączy niebawem.

Zmora Waylanda i Mira - sterowniki zamknięte

Żeby móc porzucić X.org zamknięte sterowniki AMD i nVidii muszą obsługiwać Waylanda i Mira. Jak na razie żadna z tych firm nie wydała oświadczenia kiedy doda obsługę dla tych menedżerów kompozycji. Nie należy spodziewać się tych oświadczeń szybko. Obie firmy będą raczej czekały aż projekty te dojrzeją i będą gotowe do użycia. Trudno powiedzieć czy firmy te mogą odmówić lub opóźnić wydanie odpowiednich sterowników. Pomiędzy Waylandem i Mirem nie ma dużych różnic jeżeli chodzi o wymagania dla sterownika, więc raczej jeżeli ktoś będzie dodawał obsługę dla nowych menedżerów to raczej dla obu na raz.

Decyzję może przyśpieszyć potrzeba obsługi np. Waylanda na stacjach roboczych wykorzystujących duże ilości kart graficznych do przeprowadzania skomplikowanych operacji. To podobno główne źródło zysku i motor napędowy dla działań nVidii pod Linuksem (AMD w sumie też). Odmowa obsługi np. Mira byłaby potężnym ciosem dla Canonical (choć raczej z technicznego punktu nieuzasadnionym i wprowadziłoby sporo brudnych polityczno/biznesowych przepychanek w świecie Linuksa). Odmowa obsługi Waylanda byłaby jeszcze większym problemem dla odmawiającej firmy - ilość czarnego PRu wylewanego po jej adresem byłaby niewyobrażalna (a.k.a. słynne "fuck you nVidia" Linusa byłoby pikusiem).

Na chwilę obecną Wayland i Mir działają ze sterownikami Intela, oraz otwartymi sterownikami do kart AMD i nVidii... czyli praktycznie tylko układy Intela są obsługiwane na poziomie normalnej używalności. Nie licząc graczy użytkownicy komputerów z procesorami Intela mogą spać w miarę spokojnie. Ci z PCtami bez silnej grafiki wbudowanej wykorzystujące zewnętrzną kartę grafiki lub z laptopami wyposażonymi w kartę nVidii obsługiwaną za pomocą technologii Optimus będą musieli poczekać. Najbardziej niepewna jest obsługa technologii nVidia Optimus. Musimy czekać na oświadczenia nVidii.

Co ciekawe Mir na urządzeniach mobilnych ma wykorzystywać sterowniki graficzne tworzone dla Androida.

Na podsumowanie

Najbliższe miesiące (aż po koniec 2014) będą bogate w wydarzenia związane z Waylandem i Mirem. Wydanie Ubuntu 13.10 może sporo namieszać i ciekawe co z tego wyniknie. Zapewne niektórzy będą musieli zostać przy starszej wersji, albo wybrać odmianę bez XMira, czy zupełnie inną dystrybucję. Także przed LinuxMint stanie wyzwanie dostarczania działającego stosu X.org bez Mira i decyzje o np. migracji Cinamonna na Waylanda, czy też Mira gdy będą już obsługiwane przez AMD i nVidię.

RkBlog

Środowiska Graficzne, 14 July 2013,

Comment article