Manjaro 0.8.7 – kilka pomysłów na przetrwanie
Cała atrakcyjność Manjaro wynika z faktu, że jest to dystrybucja ciągła, a to oznacza brak konieczności instalowania systemu co każde nowe wydanie. Na pokład dystrybucji można wskoczyć w każdym momencie i być na bieżąco (obecna wersja startowa to Manjaro 0.8.7). Niemniej, o tej ciągłości różnie się mówi, a niepoprawnie przeprowadzony w moim wydaniu poprzedni upgrade na jakiś czas wyłączył z użytku moją lokalną instalację. Ale to były surowe początki Manjaro – teraz jest z pewnością lepiej i przewidywalniej. Graficzny instalator, domyślny dostęp do repozytoriów AUR (paczki z najnowszymi wersjami programów), Pamac jako graficzna wariacja nt. polecenia pacman (takie archowe apt), automatyka wykrywająca nasz sprzęt w komputerze, wsparcie dla kilku wersji kerneli, a wszystko to sporadycznie okraszone magią enigmatycznych komend w terminalu. This is Manjaro.
Kernel 3.12
Świeżo po zainstalowaniu Manjaro 0.8.7 orientujemy się, że użytkujemy kernel w wersji 3.10.X. Nie jest to staroć, jednak na kanwie doniesień o mitycznej sprawności kernela 3.12.X, wiele osób zapewne zechce być bardziej na bieżąco. Pierwszy plus dla Manjaro – najnowszy kernel znajdziemy w repozytorium. Wymiana kernela to też bułka z masłem, o ile wybierzemy masło dietetyczne. A do tego konieczne jest zapoznanie się z pierwszym z niuansów Manjaro – poleceniem mhwd – Manjaro Hardware Detection. Ten tekstowy program wykona dla nas rozpoznanie naszego sprzętu, wyświetli dostępne sterowniki, itp. O tym za chwilę, bo dla bezbolesnej instalacji kernela będzie potrzebowali wariantu tego polecenia – mhwd-kernel. Co nim osiągniemy?
Aby otrzymać listę dostępnych wersji kerneli:
sudo mhwd-kernel -l
Aby zainstalować wybrany:
sudo mhwd-kernel -i linux312
Jeżeli wszystko przebiegło sprawnie i nie otrzymaliśmy komunikatu o błędzie, jesteśmy gotowi do przełączenia się na nasz nowy nabytek – restartujemy zatem komputer i w GRUBie upewniamy się, że mamy wybrany wariant Manjaro z kernelem 3.12. Po poprawny uruchomieniu systemu i utwierdzeniu się w przekonaniu o pracy na 3.12 (polecenie uname -r), możemy usunąć zbędny poprzedni kernel:
sudo mhwd-kernel -r linux310
Jak do tej pory, wszystko ładnie, przewidywalnie i przyjemnie…
Sterowniki karty graficznej
Czym jest system operacyjny bez wydajnej pracy karty graficznej. Dla wielu użytkowników kompromis wydajności i wolności oferowany przez otwarte sterowniki np. nouveau nie jest szczególnie atrakcyjny, dlatego większość z nas i tak kończy z zamkniętym sterownikiem od producenta. W Manjaro roztoczymy w pełnej krasie kontrolę nad zainstalowanymi i używanymi sterownikiami posiłkując się wspomnianym mhwd.
Dostępne sterowniki graficzne otrzymamy w wyniku:
sudo mhwd -l
Otwarte, zamknięte, do wyboru. Zainstalowanie wybranego jest banalnie przewidywalne – jeżeli chcemy zdać się na automatykę, to wpisujemy:
sudo mhwd -a pci nonfree 0300
Ręcznie:
sudo mhwd -i pci nazwa_sterownika
Słowo wyjaśnienia – pci oznacza urządzenie dostępne na konkretnym złączu (obecnie mhwd i tak obsługuje tylko pci), nonfree wybierze dla nas sterownik zamknięty najlepiej odpowiadający naszej karcie graficznej, a 0300 to ID oznaczające kartę graficzną (mhwd ma ambicje w przyszłości obsługiwać też wymianę sterowników dla innych urządzeń i stąd spory zapas puli ID).
Niestety, po restarcie ta skądinąd sympatyczna automatyka rozczarowała mnie boleśnie. Tryb graficzny najzwyczajniej nie wystartował. Szybkie dochodzenie wykazało, że w ferworze wszystkiego, jakimś cudem mhwd zapominał zablokować uprzednio używany przez system sterownik nouveau i co oczywiste, próba obsługi karty graficznej jednocześnie przez zamknięty i otwarty sterownik musiała się tak skończyć. Tu była już potrzebna pewna sekwencja czynności – po zalogowaniu się w konsoli.
Wyrzucamy sterowniki nouveau zaszyte w podręcznym initrd:
sudo nano /etc/mkinitcpio.conf
… i z liniki MODULES=”nouveau” kasujemy nouveau:
MODULES=””
Zapisujemy i regenerujemy obraz initrd (linuxXXX w zależności od używanego kernela):
sudo mkinitcpio -p linux312
Uruchamiamy ponownie komputer i cieszymy się trybem graficznym i zniewoleniem w postaci zamkniętych sterowników.
Compton – estetyka pod publikę
Coś za coś – użytkując Xfce lub LXDE i mając zamknięte sterowniki, w większości wypadków nie posłużymy się usprawnieniami w menadżerach okien Xfwm4 i Openbox, służących poprawieniu estetyki wyświetlania zawartości ekranu w zgodzie i pod dyktando synchronizacji pionowej (czyli bez zarywania zawartości okien, plików wideo, itp.). Wprowadzona niedawno w ustawieniach Xfwm4 opcja synchronizacji pionowej po prostu nie zadziała i nadal będziemy cierpieli z powodu niuansów estetycznych. Rozwiązaniem na to jest użycie/zastąpienie kompozytora, który odpowiednio zsynchronizuje nam zawartość ekranu. I tym kompozytorem jest minimalistyczny Compton.
Wystarczy zainstalować go za pomocą Menadżera Pakietów, by następnie skupić swoją uwagę na jego konfiguracji – a jakże, w pliku tekstowym. Do tego celu tworzymy sobie plik ~/.compton.conf i wklejamy doń:
backend = "glx"; paint-on-overlay = true; glx-no-stencil = true; glx-no-rebind-pixmap = true; #vsync = "opengl-swc"; # These are important. The first one enables the opengl backend. The last one is the vsync # method. Depending on the driver you might need to use a different method. # The other options are smaller performance tweaks that work well in most cases. # You can find the rest of the options here: https://github.com/chjj/compton/wiki/perf-guide, # and here: https://github.com/chjj/compton/wiki/vsync-guide # Shadow shadow = true; # Enabled client-side shadows on windows. no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows. no-dnd-shadow = true; # Don't draw shadows on DND windows. clear-shadow = true; # Zero the part of the shadow's mask behind the window(experimental). shadow-radius = 7; # The blur radius for shadows. (default 12) shadow-offset-x = -7; # The left offset for shadows. (default -15) shadow-offset-y = -7; # The top offset for shadows. (default -15) shadow-exclude = [ "! name~=''", "n:e:Notification", "n:e:Plank", "n:e:Docky", "g:e:Synapse", "g:e:Kupfer", "g:e:Conky", "n:w:*Firefox*", "n:w:*Chrome*", "n:w:*Chromium*", "class_g ?= 'Notify-osd'", "class_g ?= 'Cairo-dock'", "class_g ?= 'Xfce4-notifyd'", "class_g ?= 'Xfce4-power-manager'" ]; # The shadow exclude options are helpful if you have shadows enabled. Due to the way compton # draws its shadows, certain applications will have visual glitches # (most applications are fine, only apps that do weird things with xshapes or argb are # affected). # This list includes all the affected apps I found in my testing. The "! name~=''" part # excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt # tab switcher. # Fading fading = true; # Fade windows during opacity changes. fade-delta = 4; # The time between steps in a fade in milliseconds. (default 10). fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). #no-fading-openclose = true; # Fade windows in/out when opening/closing detect-client-opacity = true; # This prevents opacity being ignored for some apps. For example without this enabled my xfce4-notifyd is 100% opacity no matter what. # Window type settings wintypes: { tooltip = { fade = true; shadow = false; }; };
Słowo wyjaśnienia – w powyższym konfigu korzystamy z GLX (openGL – Compton potrafi również obsłużyć XRender), a to automatycznie aktywuje naszą synchronizację włączoną domyślnie w sterownikach graficznych (nvidia-settings). Jeżeli jednak chcemy wymusić swoją własną metodę synchronizacji, odkomentowujemy linijkę z ‘vsync = “opengl-swc”;’. Generalnie warto się zapoznać np. z tym opisem.
Aby aktywować naszego kompozytora, musimy udać się do (dla Xfce) Ustawień systemu -> Ulepszenia menadżer okien -> Kompozycja i ją wyłączyć. Teraz wydajemy polecenie:
compton -b
Powinno mrugnąć, błysnąć i gotowe. Aby uruchamiać Comptona podczas startu systemu, dopisujemy powyższe polecenie w Ustawienia Systemu -> Sesja i uruchamianie -> Automatyczne uruchamianie. Aby sprawdzić, czy to działa, wystarczy poruszać oknami lub odpalić plik wideo – jeżeli nie widzimy żadnego zrywania i wszystko stanowi całość, jest ok.
Pakiety – aktualnie i jeszcze więcej
Menadżer pakietów Pamac to miłe narzędzie, choć nieco enigmatyczne. Gdybyśmy chcieli za jego pomocą dostać się do zasobów repozytorium AUR (bo tekstowe komendy instalacyjne nas deprymują), to musimy… Wykorzystać tryb tekstowy, aby zainstalować Pamac z AUR. Najnowsza wersja umożliwia bowiem przeszukiwanie również zasoby wspomnianego repozytorium.
sudo yaourt pamac
Czy to wszystko?
Sterowniki, kernel, estetyka, obsługa pakietów. W zasadzie i na szybko, to pierwsze rzeczy które mogą niektórych uwierać i przeszkadzać w sprawnym posługiwaniu się systemem. Wymienianie domyślnych programów z Manjaro i zastępowanie ich swoimi ulubionymi to oczywista oczywistość, a cały system oczekuje u mnie pierwszej próby ognia, czyli podbicia przez deweloperów wersji.