Srp 13

TLP – Rozšírená správa napájania

Dnes si predstavíme chronicky známy program. Volá sa TLP. Čo-to sa o ňom dá prečítaj aj na Arch Wiki. Ide o nástroj pre príkazový riadok bez grafického rozhrania, ktorý v sebe skrýva výdobytky pokročilých nastavení bez nutnosti poznania technických detailov. Prichádza s predvolenými nastaveniami optimalizovanými pre životnosť batérie. Takže nepotrebuje žiadne dodatočné doladenia. No to neznemená, že sa ešte nedá prispôsobiť náročnejším a špecifickejším požiadavkám.

 

Nastavenia závisia od zdroja napájania:

  • Režimy podľa druhu jadra a časový limit pre špinavú vyrovnávaciu pamäť
  • Škálovanie frekvencie procesorov vrátane “turbo boost” a “turbo core”
  • Limit pre max a min P-stav na kontrolu rozptylu výkonu CPU
  • HWP rady o energetickej hospodárnosti
  • Plánovač napájania pre multi-core / hyper-threading
  • Výkonu procesoru v porovnaní s politikou úspory energie (x86_energy_perf_policy)
  • Pokročilá úroveň správy harddisku (APM) a vypršanie časového limitu (per disk)
  • AHCI správa napájania (ALPM) s možnosťou zakázanie zariadení
  • Správa aktívneho stavu napájania PCIe (PCIe ASPM)
  • Riadenie napájania pre PCI(e) zariadenia pripojené na zbernici
  • Riadenie výkonu grafickej karty Radeon (KMS a DPM)
  • Úsporný režim pre Wifi
  • Vypnutie optických jednotiek napojených na tzv. drive bay (väčšinou sa naň pripájajú disky či čítačky kariet)
  • Režim úspory energie zvuku

Dodatočné funkcie:

  • Plánovač I/O (per disk)
  • Autosuspend USB zo zakázanými či povolenými zariadeniami (vstupné zariadenia sú vylúčené automaticky)
  • povolenie alebo zakázanie integrovaných wifi, bluetooth alebo wwan zariadení pri štarte a vypnutí systému
  • Obnovenie stavu rádiového zariadenia pri štarte systému (od predchádzajúceho vypnutia).
  • Sprievodca radio zaradeniami:  radio switch na pripojenie či odpojenie siete a na ukotvenie a odpojenie
  • Zakázanie Wake On LAN (zapnutie počítača cez počítačovú sieť)
  • Integrovaný  stav pre WWAN a bluetooth po obnoví so spánku či hibernácie
  • Ochladzovanie procesorov Intel za účelom zníženia využívaného napätia(vyžaduje sa jadro s opravou PHC)
  • Prahové hodnoty nabíjania batérií  (len modely ThinkPad)
  • Rekalibrácia batérie (len modely ThinkPads)

 

Inštalácia programu

Program sa nachádza v oficiálnych repozitároch:

sudo pacman -S tlp
sudo pacman -S tlp-rdw
sudo pacman -S tp_smapi
sudo pacman -S acpi_call
sudo pacman -S ethtool
sudo pacman -S x86_energy_perf_policy
sudo pacman -S lsb-release
yay -S tlp-git
yay -S tlp-pmu
yay -S tlp-rdw-git
yay -S tlpui-git
yay -S threshy
yay -S threshy-gui

tlp je samotný balíček.
tlp-rdw je balíček pre sprievodca radio zaradeniami (Radio Device Wizard). Je závislý na tlp.
tlp-pmu je balíček s podporou pm-utils (slúžia na spánok a hibernáciu, balíček sa nachádza v AUR).
tlpui-git je grafické rozhranie na úpravu tlp v GTK3+
ethtool je potrebný na zakázanie Wake On Lan
smartmontools je potrebný na S.M.A.R.T. informácie v tlp-stat
x86_energy_perf_policy je potrebný na nastavenie výkonu procesoru v porovnaní s politikou úspory energie
lsb-release je potrebný na zobrazenie LSB informácií v tlp-stat

Len pre ThinkPad:

tp_smapi je potrebný pre prahové hodnoty nabitia batérie, prekalibráciu a špecifický stavový výstup tlp-stat
acpi_call je potrebný pre prahové hodnoty nabitia batérie a pre kalibráciu na Sandy Bridge a novších modeloch
threshy slúži na kontrolu prahových hodnôt nabíjania pomocou D-Bus bez správcovských oprávnení
threshy-gui je grafické rozhranie v Qt5 pre threshy

Ktorý modul jadra (tp_smapi alebo acpi_call) musíme nainštalovať:

V termináli zadáme tento príkaz a hľadáme Suggestions:

sudo tlp-stat
Install tp-smapi kernel modules for ThinkPad battery features
Install acpi_call kernel module for ThinkPad battery features

Väčšina modelov ThinkPad potrebuje iba jeden z vyššie uvedených modulov jadra. Kontrolný výstup, kde hľadáme jeden z týchto riadkov:

sudo tlp-stat -b
tp-smapi = inactive (unsupported hardware)
tpacpi-bat = inactive (unsupported hardware

 

Manuálová stránka:

man tlp

Použitie:

tlp start|true|bat|false|ac|usb|bayoff|discharge|setcharge|fullcharge|recalibrate|stat|diskid

Zobrazenie informácií o aktuálnom používanom režime (AC alebo BAT) a aplikovaných konfiguráciách:

sudo tlp-stat

Spustenie tlp:

sudo tlp start

 

Vytvorenie a maskovanie služieb

Na vytvorenie potrebných služieb si otvoríme terminál:

sudo systemctl enable tlp.service
sudo systemctl enable tlp-sleep.service

Na maskovanie služieb, ktoré kolidujú s novo-vytvoreným stále pracujeme v termináli:

sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socket

POZNÁMKA: tlp.service automaticky spúšťa NetworkManager.service, v prípade, že je služba dostupná. Ak používate iného správcu sietí, je nutné službu NetworkManager.service zamaskovať alebo službu tlp.service upraviť.

Maskovanie služby NetworkManager.service:

sudo systemctl mask NetworkManager.service

Úprava služby tlp.service:

sudo systemctl edit tlp.service

Otvorí sa okno s predvoleným terminálovým textovým editorom. Odstránime alebo pomocou mriežky (#) zakomentujeme riadok, ktorý v sebe nesie Wants=.

 

Vytvorenie služby pre RDW (Radio Device Wizard):

sudo systemctl enable NetworkManager-dispatcher.service

Viac o konfigurácii na manuálových stránkach.

 

Konfigurácia TLP

Predvolená konfigurácia pre mnohých dostačujúca. Preto sa nebudem venovať obšírnejšiemu popisu. Iba ukážem, čo všetko sa dá v konfiguračnom súbore nájsť. Najmä zaujímavejšie položky. Všetky nastavenia aj s ich popisom.

Konfiguračný súbor sa nachádza v /etc/default/tlp a na jeho úpravu sú potrebné administrátorské práva:

sudo gedit /etc/default/tlp

 

Nerozoznanie zdroja napájania alebo vynútenie režimu na batérii:

# Dostupné režimy: AC, BAT.
# Týka sa iba niektorého staršieho hardvéru.
TLP_DEFAULT_MODE=BAT

# Nastavenie režimu prevádzky: 0 = závisí od zdroja energie, 1 = vždy používajte TLP_DEFAULT_MODE
# Tip: použite v spojení s TLP_DEFAULT_MODE = BAT pre nastavenia BAT na AC.
TLP_PERSISTENT_DEFAULT=1

 

Btrfs a zabránenie poškodeniu súborového systému:

# AHCI správca napájania (ALPM) pre diskové zariadenia:
# Dostupné parametre: min_power, med_power_with_dipm(*), medium_power, max_performance.
# (*) Od jadra >= 4.15 vyžadvoaný, teda odporúčaný.
# Viaceré hodnoty oddelené medzerami sa postupne pokúšajú, až kým jedna nebude úspešne aplikovaná.
SATA_LINKPWR_ON_BAT=max_performance

Viac informácií na GitHub vývojára alebo Reddit.

 

Bumblebee a NVIDIA grafická karta:

Pri súčasnom používaní Bumblebee a NVIDIA, musíme vypnúť správu napájania GPU v TLP, aby Bumblebee mohol ovládať výkon GPU.

V otvoríme si terminál a zadáme príkaz:

lscpi

Vyhľadáme si  adresu GPU:

01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 745] (rev a2)
# Vylúčte zariadenie PCI(e) z adresy Runtime PM (oddelené medzerami).
# Použite lspci na získanie adresy (1. stĺpec).
RUNTIME_PM_BLACKLIST="01:00.0"

 

Niektoré zaujímavé parametre:

CPU škálovanie:

# Voľba CPU škálovania.
# Intel Core iX  s intel_pstate: powersave(*), performance.
# Starší hardvér s acpi-cpufreq: ondemand(*), powersave, performance, conservative, schedutil.
# (*) is odporúčané nastavenie.
# Tip: použite tlp-stat -p na zobrazenie aktívneho ovládača a dostupných regulátorov.
# Dôležité: Funkcia powersave pre intel_pstate a ondemand for acpi-cpufreq sú energeticky efektívne pre " takmer všetky" pracovné záťaže, a preto jadro distribúcií ich volí ako predvolenú hodnotu. If you still want to change,
# Dôležité: Ak toto nastavenie chceš zmeniť, musíš vedieť, čo robíš.
# Dôležité: Je potrebné zakázať nastavenia distribúcie.
#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave
# Nastavenie pre minimálnu a maximálnu frekvenciu pre škálovanie.
# Dostupné frekvencie pozri výstup z tlp-stat -p.
#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0
# Nastavenie pre Intel P-state: 0..100 (%).
# Limit pre maximálnu a minimálnu hodnotu P-state na kontrolu rozptylu výkonu procesora.
# Hodnoty sú uvedené ako percento dostupnej výkonnosti.
# Vyžaduje procesor Intel Core iX s intel_pstate.
#CPU_MIN_PERF_ON_AC=0
#CPU_MAX_PERF_ON_AC=100
#CPU_MIN_PERF_ON_BAT=0
#CPU_MAX_PERF_ON_BAT=30

Povolenie turba:

# Nastavenia pre CPU turbo: 0=zakázanie, 1=povolenie.
# Vyžaduje procesor Intel Core iX.
# Dôležité: Môže byť v konflikte s nastaveniami distribúcie.
# Dôležité: Hodnota 1 turbo neaktivuje, iba ho povolí.
#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0

Radio Device Wizard:

# Radio zariadenia zakázané pri štarte: bluetooth, wifi, wwan.
# Viaceré položky sa oddeľujú medzerou.
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
# Radio zariadenia povolené pri štarte: bluetooth, wifi, wwan.
# Viaceré položky sa oddeľujú medzerou.
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
# Radio zariadenia zakázané pri vypínaní: bluetooth, wifi, wwan.
# (riešenie pre zariadenia, ktoré blokujú vypnutie).
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
# Radio zariadenia povolené pri vypínaní: bluetooth, wifi, wwan.
# (zabránenie, aby ostatné chýbali operačné systémy).
#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
# Radio zariadenia povolené  na AC: bluetooth, wifi, wwan.
#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
# Radio zariadenia zakázané na BAT: bluetooth, wifi, wwan.
#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
# Radio zariadenia zakázané na BAT, keď sa nepoužívajú (nie sú pripojené): bluetooth, wifi, wwan.
#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
# Radio zariadenia zakázané pri pripojení.
#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
# Radio zariadenia povolené pri odpojení.
#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
# Radio zariadenia povolené (enable) alebo zakázané (disable) v dokovacej stanici.
#DEVICES_TO_ENABLE_ON_DOCK=""
#DEVICES_TO_DISABLE_ON_DOCK=""
# Radio zariadenia povolené (enable) alebo zakázané (disable) mimo dokovacej stanice.
#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
#DEVICES_TO_DISABLE_ON_UNDOCK=""

 

Napsat komentář

Your email address will not be published.

%d blogerům se to líbí: