KDE - środowisko graficzne stworzone do grania
Linuksowe środowiska graficzne przeżywają bardzo ciekawy okres. Określenie "ciekawy" można oczywiście zastąpić innym, bardziej dosadnym. Da się tutaj wyróżnić 2 zasadnicze trendy. Z jednej strony GNOME Shell i Unity narzucają określony sposób interakcji z pulpitem, zasłaniając się przy tym koniecznością stworzenia rozpoznawalnej "marki" oraz kontrowersyjnymi decyzjami projektantów. Założenia są szczytne, ma być prosto oraz "inaczej". Można przecież wrzucić panel na lewą stronę i wymyślić wyimaginowany powód, który będzie uniemożliwiał zmianę jego położenia, albo zabawiać się dynamicznym tworzeniem wirtualnych pulpitów, grunt żeby migało. Warto również zadbać o atrakcje wizualne, tu coś się pokaże, tam się schowa. Niestety taka zabawa wymaga podjęcia pewnych trudnych decyzji.
Bez composite daleko nie zajedziesz
Dostarczenie odpowiednich efektów, jakich wymagają współczesne środowiska graficzne może odbyć się tylko z wykorzystaniem menedżera kompozycji. Zarówno GNOME Shell, jak i Unity, są jedynie pluginem dla menedżera kompozycji ( Mutter i Compiz). Zaletą jest oczywiście ścisła integracja powłoki z menadżerem. Niestety takie podejście ma kilka wad. Po pierwsze, nie ma możliwości zastąpienia używanego menadżera. W praktyce oznacza to, że użytkownicy GNOME Shell nie mogą używać Compiz, a użytkownicy Unity, Mutter. Oczywiście nie jest to problemem, jeśli wszystko działa ok, ale wystarczy źle działający sterownik karty graficznej, albo ignorancja producenta, aby popsuć całą zabawę. Tak było w przypadku wczesnych wersji GNOME Shell i zamkniętego sterownika kart graficznych AMD. Inną wadą jest konieczność stałego użycia "composite", które ze względu na przestarzałą architekturę xorg, zawsze przynosi pewien narzut, zwłaszcza w przypadku gier.
Tryb 2d
Aby uniknąć problemów jakie wiążą się z użyciem menadżera kompozycji, deweloperzy obu środowisk (GNOME Shell i Unity), przygotowali zamienniki domyślnego interfejsu w postaci, Fallback Mode oraz Unity-2d. Niestety rozwijanie dwóch rożnych interfejsów wiąże się z dodatkowymi kosztami i jest w dłuższej perspektywie nieopłacalne. Pierwsi do tego wniosku doszli deweloperzy Canonical, którzy uśmiercili Unity-2d w Ubuntu 12.10. Teraz przyszła na GNOME fallback, którego już w GNOME 3.8 nie ujrzymy. Jednak wujek dobra rada znalazł rozwiązanie w postaci...
LLVMpipe na ratunek
Czym jest LLVMpipe, każdy może sobie poczytać tutaj. W skrócie, sterownik ten wykorzystując moc naszego procesora zapewnia poprawne działanie GNOME Shell i Unity. Niestety aby skorzystać z jego dobrodziejstw wymagany jest wielordzeniowy procesor z obsługą odpowiednich instrukcji (SSE4 i AVX). LLVMpipe może i jest wystarczający aby zapewnić podstawową obsługę efektów w Unity i GS, ale nawet najmniej wymagająca gra, mówiąc kolokwialnie, zarznie nasz komputer. Poza tym skoro posiadamy wielordzeniowy procesor, to raczej na pewno mamy również wystarczającą kartę graficzną, choćby zintegrowaną. Mówiąc, po ludzku LLVMpipe jest w większości przypadków bezużyteczny. Sytuacja w Unity i GNOME Shell wygląda, tak, że jeśli chcemy pograć musimy liczyć się z pewnym narzutem jaki będzie powodował menadżer kompozycji. Oczywiście w przypadku mocnych kart graficznych, nie będzie to miało większego znaczenia, jeśli jednak trafi nam się wymagająca gra, te kilkanaście klatek na sekundę może mieć kolosalne znaczenie. Co prawda większość menadżerów kompozycji, zaimplementowała możliwość wyłączenia composite dla okien pełnoekranowych, jednak funkcja ta potrafi działać niestabilnie z niektórymi sterownikami. Ponadto, sporo linuksowych gier działa w trybie "okna", zamiast uruchamiać się na pełnym ekranie.
Jak to wygląda w KDE?
O tym jak sytuacja przedstawia się w KDE napisał na swoim blogu Martin Gräßlin. Możemy się tam dowiedzieć, że w przeciwieństwie do innych menadżerów okien KWin i Plasma to dwie oddzielne aplikacje. Jeszcze kilka wersji wstecz wielu użytkowników KDE używało Compiz zamiast KWin. Niestety odkąd Compiz znalazł się pod skrzydłami Ubuntu, jego znaczenie uległo marginalizacji, niemal wyłącznie do Unity. Oprócz tego KWin jest obecnie jednym z najbardziej dojrzałych menadżerów kompozycji, oferującym wiele opcji niedostępnych u konkurencji. Chyba najważniejszą jest możliwość całkowitego wyłączenia efektów 3d.
Jest to również zalecane ustawienie, dla wszystkich osób, które chcą sobie pograć. Oprócz tego KWin oferuje także możliwość zmiany typu kompozycji (XRender i OpenGL)
Możliwość uruchomienia KWin z wyłączonym composite, powoduje, że deweloperzy KDE nie musieli tworzyć oddzielnego interfejsu, a także nie muszą się posiłkować LLVMpipe. W ostatnim czasie kiedy na horyzoncie pojawił się Steam, warto o tym pamiętać.