Zmiany na biurku
Oprócz wytarcia paru kółek po kubkach, stwierdziłem, że czas zrobić coś z biurkiem. Tym komputerowym. Na monitorze.
A skoro obecnie na topie są XGL/AIGLX/COMPIZ i inne takie udziwniacze pulpitów, to postanowiłem przełamać sztywne ramy okienek i nieco je zwyginać.
Z drugiej strony, jako człowiek leniwy ( Linux rozleniwia ) niechętnie przyjmowałem do świadomości konieczność niezłego kombinowania, żeby uruchomić XGL na moim Debianie. Dodatkową kłodą były sterowniki NVIDII które czegoś tam nie posiadają i to nieposiadanie nie pomaga w użytkowaniu XGL’a.
Nadzieja nadeszła wraz z wiadomością, że NVIDIA udostępniła wersję BETA swoich sterowników 1.0-9625. Oprócz wielu poprawek posiadają te sterowniki implementację GLX_EXT_texture_from_pixmap, co umożliwia użycie AIGLX zamiast XGL’a. AIGLX jak wiadomo jest już dołączony do Xorg’a 7.1, nie ma zatem potrzeby instalowania osobnego XGL’a. Istotnym było również to, że w sterownikach BETA NVIDIA wspiera już modularnego Xorg’a 7.1 ( i 7.0 jak we wcześniejszej wersji ).
Cóż pozostało – uzbroiłem się w sterowniki NVIDII 1.0-9625, zaktualizowałem Xorg do wersji 7.1, zainstalowałem debianowe paczki Compiz ( ‘apt-cache search compiz‘ i wszystko co tam mamy – oczywiście musimy mieć listę pakietów z sekcji unstable ). Najpierw przezornie skompilowałem sobie starszy sterownik NVIDII ( 1.0-8774 ), żebym w razie czego miał do czego wrócić. Pierwsze co się rzuciło w oczy, sterownik w celu poprawnego skompilowania się dla wersji modularnej Xorg’a potrzebował paczki xserver-xorg-dev ( dociekliwi domyślą się po co i na co, mniej dociekliwi przeczytają co wypisuje instalator sterownika gdy nie ma tej paczki w systemie ). Xorg 7.1 z tymi sterownikami działał poprawnie, zatem można było eksperymentować dalej.
Cóż pozostało – kompilacja sterowników BETA. Skompilowały się bez problemów ( każdy pamięta rzecz jasna o tym, aby na czas kompilowania sterowników wyłączyć gdm/kdm ogólnie X’y ). Z młodzieńczą wewrą uruchamiam GDM i … Nastała ciemność, płacz i zgrzytanie zębów. Przełączanie na konsole nic nie daje. System pod tą płachtą czerni działa i tyle można wywnioskować.
No to zapuściłem komputer, wstawiłem chwilowo init=/bin/bash w Grubie, pogmerałem w /etc/, wyłączyłem start GDM’a i dawaj z testowaniem. Bardzo było to upierdliwe, gdyż każde niepowodzenie komputer kwitował czarnym ekranem, a ja resetem. Testowanie polegało na zmienianiu ustawień Xorg’a, kompilowaniu w te i we wte i nic. Potem udałem się po rozum do głowy i wyczytałem, iż te problemy z czarnym ekranem to nie tylko ja mam. Remedium na te dolegliwości okazał się być patch, który wyłączał w sterownikach funkcjonalność i2c.
( ściągamy patch, rozpakowujemy instalator sterowników do katalogu, nakładamy patch, uruchamiamy instalator z katalogu ).
No jeeeest, w końcu obraz się pojawił. Czas uruchomić Compiza. Tu już sprawa była prostsza, bo wystarczyło wyłączyć kompozytora w panelu sterowania XFCE ( bo XFCE mam ), w konsoli uruchomić compiz –replace i cieszyć się, że coś tam się uruchamia. Ale teraz, co zrobić, żeby Compiz przy każdym uruchamianiu się okienek startował, zamiast domyślnego WM.
Akurat w przypadku XFCE sprawa jest dość prosta – w pliku ~/.cache/sessions/xfce4-session-`uname -n`:0 mamy zapis sesji, sobie go wyedytowałem, wykasowałem wszystko co się tyczyło XFwm4, a w miejsce tego utworzyłem wpis uruchamiający Compiz.
I zadziałało. To oczywiście sposób dla pojedynczego użytkownika, rozwiązanie ‘system wide’ musi być uskutecznione albo w katalogu każdego użytkownika, albo w /etc/xdg/xfce4-session/xfce4-session.rc.
Słówko o konfiguracji Xorg’a. W sekcji sterownika ‘nvidia’ dodajemy :
Option “AddARGBGLXVisuals” “True”
Słówko o poprawce w /usr/bin/compiz. Domyślnie ten skrypt wywołuje compiz’a z parametrem –indirect-rendering, a skoro mamy sterowniki karty graficzne wspierające 3D – pozbędźmy się tego parametru.
To nad czym się tu rozwodziłem w wersji bardziej skondensowanej można znaleźć np. na tej stronie.
Screenshot’ów nie zamieszczam – bo jak Compiz w akcji wygląda, przekona się każdy kto sobie go zainstaluje 🙂
Rzecz o wydajności i płynności działania – nie jest źle. Na procesorze Athlon XP 2200+, 512 MB, GF6600 otrzymałem w pełni wydajne i płynne środowisko, całkowicie wybajerzone. Gry 3d działają, filmy działają, jedyne co się tnie, to renderowanie stron w Firefox’ie. Ale o tym to wam jeszcze kiedyś opowiem.
No no 🙂 jak Ty sie już przesiadasz na zbajerowane biurko to czas myśleć nad zmianą swojego 😉 hehe.
a mojej zonie kiedys xgl-a pokazalem, to jej sie to nie podobalo 🙂
Jak ja chciałbym mieć Compiza…
Ale na ATI 3D Rage nie pójdzie :P.
Poza tym – Pentium 2 450MHz i 192 MB RAMu nie służą…