Oi pessoal,
Apesar de já acessar as páginas algumas vezes, nunca li tudo. Então decidi ler e percebi que alguma opções vem desativadas e podem melhorar o consumo e o desempenho da placa intel.
Informaçòes: Recomendo ler tudo.
intel Gentoo
List of Intel graphics processing units
Intel graphics Arch
Suporte de recursos
Generation | Chipset | OpenGL | OpenGL ES | OpenCL | VAAPI | Vulkan | VIDEO_CARDS |
---|---|---|---|---|---|---|---|
Gen 1 | 810, 815 | No | No | No | No | No | unsupported |
Gen 2 | i830M, 845G, 855GM, 865G | 1.3 | No | No | No | No | intel i915 |
Gen 3 | 915G/GM, 945G/GM, G/Q33, Q35, Atom D4xx/D5xx/N4xx/N5xx | 1.4 | No | No | No | No | intel i915 |
Gen 4 | 965G/GM/Q, G35, G41, G/Q43, G/GM/Q45 | 2.1 | 2.0 | No | G/GM45: MPEG2 only | No | intel i965 |
Gen 5 | Nehalem (Ironlake) | 2.1 | 2.0 | No | Yes | No | intel i965 |
Gen 6 | Sandy Bridge | 3.3 | 3.0 | No | Yes | No | intel i965 |
Gen 7 | Ivy Bridge, Valley View[table 1] | 3.3 | 3.0 | 1.1[table 2] | Yes | Partial | intel i965 |
Gen 7.5 | Haswell | 4.5 | 3.1 | 1.1[table 2] | Yes | Partial | intel i965 |
Gen 8 | Broadwell, Cherryview[table 3] | 4.5 | 3.1 | 1.1[table 2] | Yes | Yes | intel i965 |
Gen 9 | Skylake, Broxton[table 4] | 4.5 | 3.2 | 1.1[table 2] | Yes | Yes | intel i965 |
Gen 9.5 | Kaby Lake, Coffee Lake | 4.5 | 3.2 | 2.1[table 2] | Yes | Yes | intel i965 |
Estas opções vem desativadas por padrão, pois não tem suporte para placas antigas.
Para saber qual o chipset da sua placa use o comando:
glxinfo | grep -i "OpenGL renderer string:"
Aqui no meu caso é a Haswell.
glxinfo | grep -i "OpenGL renderer string:"
OpenGL renderer string: Mesa DRI Intel(R) **Haswell** Desktop
Para saber todas as opções disponíveis:
~ $ modinfo i915 | grep -i parm
parm: modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) parm: enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6) (int) parm: enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) parm: lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int) parm: panel_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 (0=disabled, 1=full gpu reset, 2=engine reset [default]) (int) parm: vbt_firmware:Load VBT from specified file under /lib/firmware (charp) parm: error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool) parm: enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool) parm: enable_psr:Enable PSR (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) parm: alpha_support:Enable alpha quality driver support for latest hardware. See also CONFIG_DRM_I915_ALPHA_SUPPORT. (bool) parm: disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) parm: enable_ips:Enable IPS (default: true) (int) parm: fastboot:Try to skip unnecessary mode sets at boot time (0=disabled, 1=enabled) Default: -1 (use per-chip default) (int) parm: prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool) parm: load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool) parm: force_reset_modeset_test:Force a modeset during gpu reset for testing (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: mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int) parm: verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool) parm: nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool) parm: edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int) parm: enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto, 0=disable [default], 1=GuC submission, 2=HuC load) (int) parm: guc_log_level:GuC firmware logging level. Requires GuC to be loaded. (-1=auto [default], 0=disable, 1..4=enable with verbosity min..max) (int) parm: guc_firmware_path:GuC firmware path to use instead of the default one (charp) parm: huc_firmware_path:HuC firmware path to use instead of the default one (charp) parm: dmc_firmware_path:DMC firmware path to use instead of the default one (charp) parm: enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool) parm: enable_dpcd_backlight:Enable support for DPCD backlight control (default:false) (bool) parm: enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
Para Arch e etc… este módulo tem que colocar em MODULES no arquivo /etc/mkinitcpio.conf
Debian e etc… já vem habilitado por padrào.
Ativar carregamento de firmware GuC / HuC
Para Skylake e processadores mais recentes, alguns recursos de vídeo (por exemplo, controle de taxa CBR no modo de codificação de baixa potência SKL) podem exigir o uso de um firmware atualizado da GPU, que atualmente (a partir da versão 4.16) não está ativado por padrão. A ativação do carregamento do firmware GuC / HuC pode causar problemas em alguns sistemas; desative-o se ocorrer congelamento (por exemplo, após sair da hibernação).
Crie o arquivo
/etc/modprobe.d/i915.conf
e adicione
options i915 enable_guc=2
Para saber as configurações
parm: enable_guc:Enable GuC load for GuC submission and/or HuC load. Required functionality can be selected using bitmask values. (-1=auto, 0=disable [default], 1=GuC submission, 2=HuC load)
Para verificar use o dmesg
$ dmesg | grep -i -Ei 'GuC|huc'
[drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39)
i915 0000:00:02.0: GuC firmware version 9.39
i915 0000:00:02.0: GuC submission enabled
i915 0000:00:02.0: HuC enabled
A solução é desativar a compactação do framebuffer, o que aumentará imperceptivelmente o consumo de energia (em torno de 0,06 W). Para desabilitá-lo, adicione i915.enable_fbc = 0 aos parâmetros de linha do kernel.
Compactação do Framebuffer (enable_fbc)
O uso da compactação de framebuffer (FBC) pode reduzir o consumo de energia e reduzir a largura de banda de memória necessária para a atualização da tela.
Crie o arquivo
/etc/modprobe.d/i915.conf
E adicione
options i915 enable_fbc=1
Nota: A compactação do framebuffer pode não ser confiável ou indisponível nas gerações da GPU Intel antes do Sandy Bridge (geração 6). Isso resulta em mensagens registradas no diário do sistema semelhantes a esta:
kernel: drm: not enough stolen space for compressed buffer, disabling.
A ativação da compactação do frame buffer em CPUs anteriores ao Sandy Bridge resulta em inúmeras mensagens de erro:
$ dmesg | grep -i drm
[ 2360.475430] [drm] not enough stolen space for compressed buffer (need 4325376 bytes),disabling
[ 2360.475437] [drm] hint: you may be able to increase stolen memory size in the BIOS to avoid this
Fastboot
O objetivo do Intel Fastboot é preservar o framebuffer conforme configurado pelo BIOS ou pelo carregador de inicialização para evitar oscilações até o Xorg ser iniciado.
Crie o arquivo
/etc/modprobe.d/i915.conf
E adicione
options i915 fastboot=1
Aviso: este parâmetro não está ativado por padrão e pode causar problemas em alguns sistemas mais antigos (anteriores ao Skylake). Veja aqui Intel-Fastboot-Default-2019-. Aqui o meu apesar de ser mais antigo, habilitei esta função e não tive problemas até agora.
Desativar sincronização vertical
Útil quando:
- O Chomium / Chrome tem atrasos e desempenho lento devido à GPU e funciona sem problemas com o switch --disable-gpu
- O teste glxgears não mostra o desempenho desejado
O driver intel usa o buffer triplo para sincronização vertical, permitindo desempenho total e evitando rasgos. Para desativar a incronização vertical (por exemplo, para fazer comparações), use este .drirc no diretório home:
Crie o arquivo
~/.drirc
E adicione
<device screen="0" driver="dri2">
<application name="Default">
<option name="vblank_mode" value="0"/>
</application>
</device>
Nota: Não use driconf para criar este arquivo. Tem um bug que defini o drive errado. Caso queira usar um programa use o adriconf