Poradniki > Software

[How To]Mniejszy pobór energii układów graficznych Intel

(1/1)

sir_lucjan:
Jeśli chcemy zmniejszyć pobór energii  kart graficznych firmy Intel, musimy zastosować kilka dodatkowych wpisów.
Zmieniamy zmienne, jakie wprowadzamy w GRUB albo podnosimy odpowiednie moduły później.

Pierwsza opcja to:
1. Edycja pliku /etc/default/grub

I. Edytujemy wyżej wymieniony plik.

II. Odszukujemy linijkę GRUB_CMDLINE_LINUX_DEFAULT i dopisujemy do niej następującą linijkę:


--- Kod: ---GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_rc6=1 i915.enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1"
--- Koniec kodu ---

III. Wykonujemy:


--- Kod: ---grub-mkconfig -o /boot/grub/grub.cfg
--- Koniec kodu ---

Druga, alternatywna metoda, to:

2. Tworzymy plik /etc/modprobe.d/i915.conf

I. W pliku tym wpisujemy następującą treść:

Ia. Forma dłuższa


--- Kod: ---options i915 enable_rc6=1
options i915 enable_fbc=1
options i915 lvds_downclock=1
options i915 semaphores=1
--- Koniec kodu ---

Równie dobrze wpis może mieć nieco krótszą formułę:

Ib.


--- Kod: ---options i915 enable_rc6=1 enable_fbc=1 lvds_downclock=1 semaphores=1


--- Koniec kodu ---

Jest to dokładnie to samo, tylko zapisane na dwa różne sposoby.

Niezależnie od tego, którą z powyższych opcji wybierzemy, dokonujemy nadto edycji pliku /etc/mkinitcpio.conf

Dodajemy do niego:


--- Kod: ---MODULES="i915"
FILES="/etc/modprobe.d/i915.conf"
--- Koniec kodu ---

Wykonujemy:


--- Kod: ---mkinitcpio -p linux
--- Koniec kodu ---

Dla kerneli innych niż dystrybucyjne:


--- Kod: ---mkinitcpio -p linux-nazwakernela
--- Koniec kodu ---

Po dokonaniu wszystkich zmian restartujemy komputer.

Poniżej zamieszczam krótki opis poszczególnych funkcji:


--- Cytuj ---enable_rc6=1 - RC6 was enabled by default for a while, but then it ended up being too buggy for some hardware configuration so it had to be disabled. For affected systems on the current code-base, enabling RC6 can cause GPU hangs. The Intel RC6 feature allows the GPU to enter a lower power state when the GPU is idling.
enable_fbc=1 - This kernel option enables FBC (frame-buffer compression) for the Intel graphics driver. Frame-buffer compression is not enabled by default since for some systems when frame-buffer compression is active there is a bug where the screen is not being properly repainted when using a compositing window manager. As implied by the name, frame-buffer compression will compress the buffer of what's to be drawn to the screen so that less memory bandwidth is used on screen refreshes, and as a result, less memory being confused.
lvds_downclock=1 - This kernel option will down-clock the LVDS refresh rate, which can increase power savings as a result. However, for systems that do not properly support LVDS down-clocking, the screen can begin to flicker during use.

--- Koniec cytatu ---


Musimy pamiętać, że zmniejszenie zużycia energii może powodować nieco mniejszą wydajność. Zużycie energii może nie być duże, zatem musimy przemyśleć, na czym zależy nam bardziej - nieco większa wydajność czy nieco dłuższy czas pracy baterii!



Aktualizacja poradnika nr 1:[/color]

Jeśli posiadamy kernele lts czyli 3.10, 3.12 oraz 3.14 zapisy będą wyglądały nieco inaczej.

1. Edycja pliku /etc/default/grub


--- Kod: ---GRUB_CMDLINE_LINUX="i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1"
--- Koniec kodu ---

2. Tworzymy plik /etc/modprobe.d/i915.conf


--- Kod: ---options i915 semaphores=1
options i915 i915_enable_rc6=1
options i915 i915_enable_fbc=1
options i915 lvds_downclock=1
--- Koniec kodu ---

lub krótszą formę:


--- Kod: ---options i915 i915_enable_rc6=1 i915_enable_fbc=1 lvds_downclock=1 semaphores=1
--- Koniec kodu ---

W pozostałym zakresie wykonujemy dokładnie te same polecenia.




Aktualizacja poradnika nr 2:[/color]

Pełną listę parametrów otrzymamy tutaj:


--- Kod: ---[lucjan@archlinux ~]$  modinfo i915 | grep parm
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int)
parm:           panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int)
parm:           powersave:Enable powersavings, fbc, downclocking, etc. (default: true) (int)
parm:           semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)                                                                                       
parm:           enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int)                                                                         
parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)                                                                         
parm:           lvds_downclock:Use panel (LVDS/eDP) downclocking for power savings (default: false) (int)                                                                                       
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)                                                                   
parm:           lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)                                                                                   
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (default: true) (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
parm:           enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full) (int)
parm:           enable_psr:Enable PSR (default: false) (int)
parm:           preliminary_hw_support:Enable preliminary hardware support. (int)
parm:           disable_power_well:Disable the power well when possible (default: true) (int)
parm:           enable_ips:Enable IPS (default: true) (int)
parm:           fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool)
parm:           prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
parm:           disable_display:Disable display (default: false) (bool)
parm:           disable_vtd_wa:Disable all VT-d workarounds (default: false) (bool)
parm:           enable_cmd_parser:Enable command parsing (1=enabled [default], 0=disabled) (int)

--- Koniec kodu ---

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej