Manjaro 0.8.7 – kilka pomysłów na przetrwanie

manjaro_logo_headerW ramach łamaniach skostniałych przyzwyczajeń i uwiązania do dystrybucji debianopochodnych, na mojej partycji wylądowało ponownie Manjaro 0.8.7. Nieważne czy to efekt nudy czy ciekawości, faktem jest, że w oczekiwaniu na Minta 16 postanowiłem przeprowadzić test na żywym użytkowniku – w tej roli ja sam. Kilka dni intensywnej pracy tylko z użyciem Manjaro dowodzi jednego – nie jest istotna dystrybucja, istotna jest wiedza o narzędziach, które pozwolą nam sprawnie się po niej poruszać. Z Manjaro jest podobnie – choć wybitnie upraszcza pracę w oparciu o Archa (z którego się wywodzi), warto znać kilka sztuczek, aby przynajmniej początkowe prace regulujące system przeprowadzić w z góry ustalonym porządku.

Manjaro 0.8.7 z Xfce
Manjaro 0.8.7 z Xfce
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 mhwdManjaro 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

Pamac - pakiety zintegrowane
Pamac – pakiety zintegrowane
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.  

3 komentarze

  1. Podczas instalacji systemu można wybrać od razu, by instalator uruchomił się z zamkniętymi sterownikami. Następnie zamiast używać polecenia sudo mhwd-kernel -i linux312 można użyć pamaca (lub pacmana) do instalacji pakietu linux312, który automatycznie pobierze także sterowniki pod to jądro. Wystarczy potem zrestartować komputer i usunąć pakiet linux310.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.