Autor Wątek: [How To]Mniejszy pobór energii układów graficznych Intel  (Przeczytany 3483 razy)

0 użytkowników i 2 Gości 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
[How To]Mniejszy pobór energii układów graficznych Intel
« dnia: Październik 27, 2014, 20:40:14 »
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ę:

GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_rc6=1 i915.enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1"
III. Wykonujemy:

grub-mkconfig -o /boot/grub/grub.cfg
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

options i915 enable_rc6=1
options i915 enable_fbc=1
options i915 lvds_downclock=1
options i915 semaphores=1

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

Ib.

options i915 enable_rc6=1 enable_fbc=1 lvds_downclock=1 semaphores=1


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:

MODULES="i915"
FILES="/etc/modprobe.d/i915.conf"

Wykonujemy:

mkinitcpio -p linux
Dla kerneli innych niż dystrybucyjne:

mkinitcpio -p linux-nazwakernela
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.


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

GRUB_CMDLINE_LINUX="i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1"
2. Tworzymy plik /etc/modprobe.d/i915.conf

options i915 semaphores=1
options i915 i915_enable_rc6=1
options i915 i915_enable_fbc=1
options i915 lvds_downclock=1

lub krótszą formę:

options i915 i915_enable_rc6=1 i915_enable_fbc=1 lvds_downclock=1 semaphores=1
W pozostałym zakresie wykonujemy dokładnie te same polecenia.




Aktualizacja poradnika nr 2:[/color]

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

[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)
Dell Inspiron 15-3542 (3542-2538) || Linux Register User: #536661
[AUR]  [GitHub]

 

Polityka cookies
Darmowe Fora | Darmowe Forum
kociaprzystan endercraft thepunisher weganizm polskiedobrerpg