Autor Wątek: [How To]Optymalizacja Arch Linux ze środowiskiem KDE na Dell Inspiron 15-3542  (Przeczytany 4621 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

sir_lucjan

  • AUR-OR
  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 1327
  • Reputacja +11/-0
  • Nic nie działa, jak Polska cała!
    • Mój profil w AUR
  • Architektura: x86_64
  • DE/WM: Plasma 5
  • Distro: Arch Linux
  • GPU: Intel
  • Kernel: linux-bfq-haswell
W tym wątku mam  pokrótce opiszę kroki, jakie podjąłem by zoptymalizować (jak już wspominałem,
bardzo polubiłem to słówko) swój system. Nie było to konieczne, gdyż biorąc pod uwagę przyzwoite parametry sprzętu (Intel Core i5, 8 GB RAM) - jestem zdania, że nie warto zadowalać się tym co jest dobre tylko dążyć do tego, by było lepiej. Nie posiadam może talentu do przeprowadzania głębokich optymalizacji, a sterowanie pracą kompilatora nieco mnie przerasta - jednak efekt końcowy okazał się całkiem zadowalający.

1. Ustawienia środowiska.

Środowisko KDE uchodzi za bardzo ociężałe. Jest to opinia mocno na wyrost - działa całkiem wydajnie. Jeśli nie korzystamy z KDE PIM oraz nie korzystamy z uroków i korzyści pulpitu semantycznego - możemy je nieco zoptymalizować.

W pierwszym kroku usuwamy Akonadi.

yaourt -S akonadi-fake
pacman -Rcns akonadi

Razem z Akonadi powinno usunąć mariadb - zwolni to nieco miejsca na dysku oraz zmniejszy ilość pamięci pobieranej na start.

Krok drugi to wyłączenie indeksowania przez baloo. W tym celu w Ustawieniach systemowych w pozycji "Wyszukiwanie na pulpicie" dodajemy swój katalog domowy. Spowoduje to wyłączenie Baloo.

Jeśli nie korzystamy z efektów pulpitu, możemy rozważyć ich całkowite wyłączenie. Do tego możemy pokusić się o zamianę kwin na kwin_gles - spowoduje to dalsze oszczędności. Zanim wykonamy poniższe zmiany w systemie warto pokusić się o sprawdzenie, czy kwin_gles działa. Najprościej zrobimy to poprzez wpisanie:
kwin_gles --replacepo naciśnięciu kombinacji Alt+F2. Jeśli wszystko działa, możemy przejść dalej.

Stwórzmy plik ~/.kde4/env/kwin_gles.sh o zawartości:

KDEWM=kwin_gles
W Ustawieniach systemowych odszukujemy pozycję Uruchamianie i wyłączanie. W dziale Samoczynne uruchamianie ustal wykonanie skryptu.

Środowisko zyska dzięki temu sporo świeżości - kosztem efektów, które potrzebne do szczęścia nie są.

Kolejna zasada - jeśli nie potrzebujesz wielu pulpitów, nie ustawiaj, pozostań przy jednym. Dzięki czemu proces "plasma-desktop" nie będzie pobierał wielu zasobów.

Stwórzmy też katalog .compose-cache, co lekko przyspieszy działanie środowiska:

mkdir -p ~/.compose-cache/
Na koniec wybieramy Ustawienia systemowe, szukamy Uruchamianie i wyłączanie. W Zarządzanie sesją wybieramy: Uruchom pustą sesję. 

Zdaje sobie sprawę, że przy 8GB RAM takie oszczędności nie są konieczne, jednak postanowiłem dość mocno odchudzić, by zobaczyć czy warto. Jeśli nie potrzebujemy wodotrysków - jak najbardziej.

2. Kompilujemy kernel

Niestety, posiadam system uniemożliwiający korzystanie z dobrodziejstw najlepiej zoptymalizowanych kerneli. Wiem, sam jestem sobie winny. Musiałem więc sam podjąć się tego wyzwania. Co zrobiłem? Przede wszystkim postanowiłem trzymać się kilku założeń.

I. Skompilowanie kernela pod procesor. W moim przypadku jest to rodzina Core i3/5/7 czwartej generacji - Haswell. (Opcja MHASWELL w configu).

II. Zaaplikowanie patcha UKSM zapobiegającego deduplikacji.

III. Domyślnym planistą I/O będzie BFQ - tutaj zapewnia nieco niższe temperatury oraz krótszy start

IV. Domyślnym planistą CPU będzie BFS (część patcha ck1) wspierający SMT Nice - poprawiona obsługa symetrycznej wielowątkowości jest godna uwagi.

V. Skorzystanie z opcji localmodcfg - dzięki czemu kernel będzie wyraźnie mniejszy, skorzysta ze skryptu modprobed-db który wylistuje używane przez nas modułów.

VI.Korzystając z nconfig usunę to,  z czego nie korzystam.

[lucjan@archlinux ~]$ zgrep -i MHASWELL /proc/config.gz && zgrep -i SMT /proc/config.gz && dmesg | grep scheduler && dmesg | grep UKSM && uname -a
CONFIG_MHASWELL=y
CONFIG_SCHED_SMT=y
CONFIG_SMT_NICE=y
[    0.276941] io scheduler noop registered                                                                                                                                                     
[    0.276969] io scheduler bfq registered (default)                                                                                                                                           
[    0.276970] BFQ I/O-scheduler version: v7r5                                                                                                                                                 
[    0.634581] BFS CPU scheduler v0.456 by Con Kolivas.                                                                                                                                         
[    0.631977] UKSM: relative memcmp_cost = 174 hash=1734972986 cmp_ret=0.                                                                                                                     
Linux archlinux 3.16.3-1-lucjan #1 SMP PREEMPT Wed Sep 17 20:45:27 CEST 2014 x86_64 GNU/Linux

[lucjan@archlinux ~]$ pacman -Qi linux-lucjan
Nazwa          : linux-lucjan
Wersja         : 3.16.3-1
Opis           : Linux Kernel and modules with the UKSM patchset featuring the v1.2.3. and the ck2 patchset featuring the Brain Fuck Scheduler v0.456
Architektura   : x86_64
URL            : http://kerneldedup.org/
Licencja       : GPL2
Grupy          : Żadnych
Dostarcza      : linux-lucjan=3.16.3
Zależy od      : coreutils  linux-firmware  mkinitcpio>=0.7
Opcjonalne zależności: crda
                       nvidia-uksm-ck
                       modprobed_db
Wymagane przez : Żadnych
Opcjonalnie dla: Żadnych
Konfliktuje z  : kernel26-lucjan
Zastępuje      : kernel26-lucjan
Rozmiar po instalacji: 19467,00 KiB
Pakujący       : Piotr Górski <sir_lucjan@openlinux.pl>
Data budowy    : śro, 17 wrz 2014, 20:45:54
Data instalacji : śro, 17 wrz 2014, 20:46:13
Powód instalacji : Zainstalowano na życzenie
Skrypt instalacyjny : Tak
Potwierdzone przez: Żadnych


Jak widzimy, przycięty kernel zajmuje sporo mniej miejsca. Startuje też całkiem szybko:

Startup finished in 2.112s (kernel) + 6.416s (userspace) = 8.528s
3. Optymalizacja sterownika i915

Posiadany przeze mnie laptop posiada tylko jeden układ graficzny - zintegrowany układ Intela.

[lucjan@archlinux ~]$ lspci -k | grep -iA3 VGA
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
        Subsystem: Dell Device 0651
        Kernel driver in use: i915
        Kernel modules: i915

[lucjan@archlinux ~]$ inxi -xG
Graphics:  Card: Intel Haswell-ULT Integrated Graphics Controller bus-ID: 00:02.0
           Display Server: X.Org 1.16.1 driver: intel Resolution: 1366x768@60.00hz
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 10.2.8 Direct Rendering: Yes

Wiem - nie jest to układ przeznaczony dla gracza. Zdaję sobie doskonale z tego sprawę. Był to jednak celowy wybór - nie grałem nigdy na Linuksie oraz grać nie zamierzam - tak więc druga, dedykowana karta graficzna uległaby zakurzeniu i przepadła w mrokach historii. Nic nie szkodzi, by zwiększyć wydajność tego układu.  Posiadam zainstalowane poniższe pakiety:

[lucjan@archlinux ~]$ pacman -Qs intel
local/libva-intel-driver 1.4.0-1
    VA-API implementation for Intel G45 and HD Graphics family
local/mesa-dri 10.3.0-3
    Mesa DRI drivers
local/xf86-video-intel 2.99.916-2 (xorg-drivers xorg)
    X.org Intel i810/i830/i915/945G/G965+ video drivers

Drugi i trzeci sterownik nie wymagają chyba omówienia, zajmiemy się pierwszym. Umożliwia on korzystanie z VDPAU.

Cytat: 'ArchWiki'
Video Decode and Presentation API for Unix is an open source library and API to offload portions of the video decoding process and video post-processing to the GPU video-hardware.

Karta Intela wymaga zainstalowania dwóch paczek.

Cytat: 'ArchWiki'
Intel GMA 4500 series and newer GPUs are supported by the libvdpau-va-gl package together with the libva-intel-driver.

Pierwszą posiadałem zainstalowaną (zrobiłem to odruchowo), drugą zainstalowałem poleceniem:

pacman -S libvdpau-va-gl
Następnie wydałem polecenie:

[lucjan@archlinux ~]$ grep -i vdpau /var/log/Xorg.0.log
[    12.379] (II) intel(0): [DRI2]   VDPAU driver: i965

Wygląda więc na to, że wszystko jest w porządku. Rzecz jasna, nie osiągnę w tym takich wyników, jak przy dedykowanej karcie graficznej - laptop nie służy mi jednak jako centrum multimedialne, więc nie mam powodów do zmartwień.

Ostatnią rzeczą którą opiszę, będzie ustawienie parametrów sterownika i915 z którego korzysta moja karta graficzna. Na ten temat wspominałem w innych poradnikach, więc nie będę szczegółowo opisywał jak to zrobiłem. Edytowałem plik /etc/default/grub i ustawiłem w nim taki zapis:

GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_backlight=vendor  acpi_osi=Linux i915.modeset=1 zswap.enabled=1 zswap.compressor=lz4"

Co oznacza zapis modeset=1 przedstawiłem w poradniku dotyczącym aktywacji KMS w karcie Intel

Z góry mówię, że jest to zapis eksperymentalny. Możliwe, że za jakiś czas wprowadzę w nim zmiany, o czym poinformuję i umieszczę poprawioną wersję. Zmiany zajdą tylko i wyłącznie wtedy jeśli uznam, że któryś z powyższych zapisów jest problematyczny, powoduje gorsze działanie układu/całego systemu. Póki co efekty są zadowalające, nie wiem jednak jak będzie wyglądało to w perspektywie czasu.

Jeśli przyjdą mi do głowy kolejne pomysły, z pewnością je tutaj umieszczę - wpis ten będzie miał charakter stale rozwijanego wątku, w którym będę przedstawiał pomysły na optymalizację posiadanego przeze mnie laptopa. Jeśli masz taki sam/podobny sprzęt, śmiało możesz skorzystać z mojego poradnika. Pamiętaj jednak, że wszelkie zmiany wprowadzasz na własne ryzyko. Nie odpowiadam za nieumiejętne korzystanie z systemu. 


Aktualizacja poradnika nr 1

Jako, że nie zauważyłem problemów wynikających z optymalizacji sterownika i915 postanowiłem wprowadzić tak zwany "early KMS".

https://wiki.archlinux.org/index.php/kernel_mode_setting#Installation

W tym celu podjąłem następujące kroki opisane w poradniki dotyczącym aktywowaniu KMS w kartach graficznych Intel.
« Ostatnia zmiana: Maj 26, 2015, 12:26:33 wysłana przez sir_lucjan »
Dell Inspiron 15-3542 (3542-2538) || Linux Register User: #536661
[AUR]  [GitHub]

 

Polityka cookies
Darmowe Fora | Darmowe Forum
gangpod kociaprzystan endercraft ppiz thepunisher