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
Idź do wersji pełnej