sobota, 8 lutego 2014

GRUB/ACPI

Założenia

Celem wprowadzanych wpisów do pliku konfiguracyjnego GRUB [/etc/default/grub] jest pełna aktywacja obsługi ACPI dla konkretnej architektury [np. Intel icore] oraz aktywowania elementów kernela nie włączanych 'defaultowo'. Najczęstszym objawem problemów z brakiem pełnej obsługi ACPI są: nie działające skróty klawiszowe - Fn i klawisze specjalne, wentylator na procesorze "szaleje", temperatura procesora dochodzi do bardzo wysokich temperatur, przy jednoczesnym braku aktywacji systemu chłodzenia [wentylatora], etc.

Aktywowane funkcjonalności

Zatem, aby "wymusić" na systemie korzystanie z wszystkich dostępnych i mogących być w użyciu przez Linuksa zasobów ACPI, należy wprowadzić do Grub - odpowiednie wpisy. Realizujemy to przy pomocy odpowiedniego narzędzia, jakie przygotowaliśmy w NeteXt'73:

Edytor ustawień GRUB

Za pomocą powołanego powyżej rozwiązania wprowadzamy wpisy aktywujące odpowiednie dla danej architektury funkcjonalności. W treści powyższego linku opisano krok po kroku działania jakie należy podjąć, aby wprowadzić i aktywować poniższe wpisy. Zatem aby nie powtarzać wskażę jedynie, jakie wywołania są aktywowane. Tu podkreślenia wymaga fakt, iż poniżę przykłady odpowiadają wyborowi środowiska acpi_osi=Linux, w opozycji do innego rozwiązania wskazanego w w/w linku, tj. acpi_osi='!Windows 2012' :

  • W przypadku korzystania z architektury innej niż Intel icore [i3, i5, i7], wprowadzamy następujące wpisy:
GRUB_CMDLINE_LINUX="acpi_osi=Linux acpi_enforce_resources=lax"

  • Jeśli nie działa prawidłowo sterowanie podświetleniem matrycy, np. nie widać zmiany podświetlania matrycy, lub nie działają właściwe klawisze Fn wprowadzamy:

GRUB_CMDLINE_LINUX="acpi_osi=Linux acpi_enforce_resources=lax acpi_backlight=vendor"

  • Jeśli jednak mamy do czynienia z chipsetami Intela [icore], opartymi o Sandy/Ivy Bridge  oraz Haswell [i3, i5, i7], wprowadzamy poniższe wpisy:

acpi_osi=Linux acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1

  • W przypadku problemów sterowania podświetlaniem (nie rozwiązuje problemu przygaszania matryc + niemożliwość powrotu do stanu sprzed wygaszenia):

acpi_osi=Linux acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 acpi_backlight=vendor

  • Podkreślić należy, iż w przypadku wpisów dotyczących chipów Intela [icore] obok znacznego spadku zużycia energii, zyskujemy dodatkowo dodatkowo skok wydajności - przede wszystkim układu graficznego Intela.