r   e   k   l   a   m   a
r   e   k   l   a   m   a

Kiedy rok Linuksa na desktopie? Szanse były dotąd marne, z Waylandem sytuacja wygląda lepiej

Strona główna Aktualności

Od wielu, wielu lat użytkownicy Linuksa pocieszają się, że rok Linuksa na desktopie – czas w którym wolny system operacyjny zdobędzie choć pięć procent rynku i zacznie być zauważany przez producentów komercyjnego oprogramowania – jest już bliski. Nawet jednak najpopularniejsza z dystrybucji, Ubuntu, nie pomogła. Od lat odsetek użytkowników „pingwina” nie przekracza dwóch-trzech procent, a kupienie komputera z preinstalowanym Linuksem (nadającym się do użytku, a nie potraktowanym jako zamiennik FreeDOS-a) graniczy z niemożliwością. Powodów takiego stanu rzeczy jest wiele, tak biznesowych jak i technicznych, było wiele. Najważniejszy z nich jest dość nieprzyjemny dla miłośników Linuksa: te wszystkie używane przez nich dystrybucje – Ubuntu, Fedora, Mandriva, OpenSUSE – jako systemy operacyjne dla komputerów „na biurko” są, z perspektywy potrzeb typowego użytkownika, dość kiepskie. Windows i Mac OS X przez te wszystkie lata zapewniały o wiele bardziej spójne i wygodne środowisko.

Miłośnicy Linuksa rzucą na autora tego tekstu pewnie fatwę za bluźnierstwo, ale co robić? GNU/Linux to platforma, względem której praktycznie niczego nie można założyć. Nie wiadomo, jakie środowisko graficzne będzie wykorzystywał, nie wiadomo z której wersji jądra korzysta, nie wiadomo jaki ma menedżer pakietów… nic dziwnego, że za wiele oprogramowania firm trzecich dla Linuksa nie ma, a producenci sprzętu nierzadko „zapominają” o przygotowaniu sterowników na ten system. Dystrybucje Linuksa, na poziomie binarnych paczek, nie są po prostu zbyt kompatybilne ze sobą. Do tego dochodzi złożoność podstawowych składników systemu, szczególnie stojącego u podstaw wszystkich środowisk graficznych systemu okienkowego X.

X Window System (dziś najczęściej spotykany pod postacią swojej implementacji X.org) to prawdziwy dinozaur na współczesnych komputerach osobistych. Powstał na początku lat 80 zeszłego stulecia, i był odpowiedzią na potrzeby tamtych czasów. Tworzony z myślą o wykorzystaniu na stacjach roboczych podpiętych do sieci lokalnych i zdalnie korzystających z dużych serwerów aplikacji, od początku był realizowany w architekturze klient-serwer, w której klient żądający zmian zawartości okienek komunikował się z serwerem zajmującym się wyświetlaniem grafiki i obsługą urządzeń wejścia wyjścia. Wszystko to po przezroczystym sieciowo protokole, który sprawiał, że nieważne było to, na której maszynie program jest uruchomiony, a na której wyświetlany wynik jego działania.

r   e   k   l   a   m   a

Z pewnego punktu widzenia było to wspaniałe rozwiązanie, jednak cierpiało na jeden problem: było szaleńczo skomplikowane. Otwarta architektura X Window System sprawiała, że stosunkowo łatwo było twórcom jego implementacji rozszerzać je o nowe możliwości, jednak wykorzystanie ich przez niezależnych programistów systemowych (twórców bibliotek graficznych, engine'ów gier i innych warstw abstrakcji) było znacznie trudniejsze, niż to było np. w wypadku znacznie prostszego systemu okienek Microsoft Windows czy OS-a X. By nie być gołosłownym: obecny interfejs programowania klienta X11 ma niemal 1300 punktów dostępu. I to właśnie monstrum do dzisiaj jest nieodzowną częścią każdej dystrybucji GNU/Linux, nawet tych, które uruchamiano na maleńkich netbookach. Alternatywy nie było, a potrzeby użytkowników narzucały konieczność dodawania kolejnych modułów – XRandR, XRender, XComposite. Szczęśliwie część kluczowych elementów udało się przenieść do jądra Linuksa (np. zarządzanie pamięcią czy ustawianie trybów grafiki) i zewnętrznych bibliotek (takich jak freetype czy cairo), ale i tak do spójności i elegancji Core Graphics OS-a X było daleko.

W 2008 roku pojawiła się nadzieja na uwolnienie desktopowego Linuksa z tych anachronizmów. Prawda – w niektórych scenariuszach, dla administratorów zarządzających zdalnie bazami Oracle'a, możliwość zdalnego uruchamiania aplikacji po sieciowym protokole jest bardzo wygodna. Ale X-ów. Programista Kristian Hogsberg z Red Hata postawił pytanie, czy na Linuksie możliwe jest w ogóle uzyskanie doskonałej ramki, czyli stanu, w którym aplikacje na tyle dobrze renderowały grafikę, że użytkownik nigdy nie zauważy żadnych usterek. Wkrótce po tym pojawił się zarys zupełnie nowej architektury systemu grafiki dla Linuksa, który:

  • połączy w sobie menedżera okien z systemem okien w jednym procesie (czyli tak, jak gdyby Compiz czy Kwin zostały zintegrowane z systemem X),
  • będzie wykorzystywał jako backend grafiki tylko bibliotekę OpenGL (później zmieniono to na OpenGL ES),
  • odda w całości jądru zarządzanie pamięcią (GEM), bezpośrednim renderowaniem (DRM) i trybami grafiki.

Efekt? Kosztem pozbycia się sieciowych atrakcji X-ów, zyskujemy architekturę, która jest wygodna dla multimediów, gier 3D czy zaawansowanych menedżerów kompozycji dla rozbudowanych pulpitów, takich jak KDE. Pomysł okazał się na tyle atrakcyjny, że zainteresowanie Waylandem (bo taką nazwę otrzymał nowy serwer wyświetlania) wyraziły Intel i Nokia (gdy jeszcze robiły coś razem z mobilnym systemem Maemo), a później dołączył do nich Canonical – Mark Shuttleworth zapowiedział, że w przyszłości Wayland stanie się domyślnym elementem Ubuntu.

W tym tygodniu, po czterech latach prac doczekaliśmy się wydania milowej wersji Waylanda, oznaczonej numerkiem 1.0. Nie oznacza to, że za chwilę wszystkie dystrybucje wyrzucą serwer X-ów. To 1.0 oznacza po prostu zamrożenie interfejsu i protokołu Waylanda. Programiści mogą mieć teraz pewność, że ich aplikacje, pisane pod kątem wersji 1.0 będą poprawnie działały w przyszłości, bez względu na kolejne innowacje wprowadzane do nowego serwera. Ich praca na pewno będzie zaś łatwiejsza, niż w wypadku X-ów – API Waylanda jest piętnaście razy mniejsze niż starszego brata.

Lista rzeczy, jakie pozostały do zrobienia, zanim Wayland stanie się realnym zamiennikiem dla X-ów, jest wciąż spora, więc pewnie dopiero najwcześniej Ubuntu 13.10 przyniesie jego obsługę. Jednak już dzisiaj wiele ważnych dla Linuksa projektów jest gotowych na zmiany. Menedżer kompozycji Kwin z KDE został już wstępnie przeniesiony na Waylanda, biblioteka Qt5 zapewnia niemal kompletne wsparcie, trwają prace nad GTK+, Compizem i SDL, a jeden z inżynierów Intela przygotował dla Waylanda wersję przeglądarki Chromium.

Co ciekawe, w przyszłości Wayland może być w stanie zapewnić sieciową przezroczystość, tak jak X, a już dzisiaj pozwala na uruchamianie aplikacji X-ów przez serwer X11, uruchomiony jako klient Waylanda, w podobny sposób jak w środowisku OS-a X działają X-owe aplikacje.

Chcecie zobaczyć ten aspekt przyszłości Linuksa w praktyce, nie bawiąc się w kompilowanie i konfigurowanie Waylanda? Niedawno pojawiła się ciekawa eksperymentalna dystrybucja na bazie Ubuntu 12.10, używająca domyślnie nowego serwera. Nazywa się (sic!) RebeccaBlackOS, i możecie pobrać ją ze strony sourceforge.net/projects/rebeccablackos/.

Czego jeszcze brakować więc będzie Linuksowi do OS-a X i Windows? Cóż, na pewno stabilnego binarnego interfejsu aplikacji (ABI) – ale to już kwestia na odrębny felieton.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.