Intel graphics (Italiano)

From ArchWiki
Revision as of 16:05, 7 September 2012 by Veleno77 (Talk | contribs) (Accelerazione video Hardware: il supporto per le schede g45 è stato incluso nel driver presente dei repo ufficiali)

Jump to: navigation, search
Sommario help replacing me
Informazioni sulle schede grafiche ed i chipset Intel
Articoli correlati
ATI
ATI Catalyst
NVIDIA
Xorg
Intel_gma3600

Da quando Intel fornisce e sviluppa driver open source, le schede video Intel sono essenzialmente plug-and-play.

Note: l'utilizzo all'interno di una console senza X, consultare Uvesafb.

Modelli

È un errore comune ritenere i chip marcati come "945G" e "GMA 945" il medesimo prodotto con un nome differente. In realtà il secondo non esiste. Intel utilizza la sigla "GMA" per indicare l'unità principale, la GPU. Tutte le altre sigle si riferiscono al chipset della scheda madre, come "915G", "945GM", "G965" o "G45".

Le GPU più comuni e i loro corrispettivi chipset sono:

GPU                Chipset/Northbridge
Intel GMA 900         910, 915
Intel GMA 950         945

Il chipset "i810" (ricordiamo, chipset della scheda madre, e non GPU) è ormai molto datato, ed era prodotto molto prima che la linea 9xx, con la quale iniziò il branding GMA, venisse commercializzata. In maniera analoga, nomi alternativi per i chip 910, 915, e 945 possono presentarsi col prefisso i.

Vedere qua per una lista dettagliata.

Installazione

Prerequisiti: Xorg

installare il pacchetto xf86-video-intel che è reperibile nei repository ufficiali. Esso consente di preselezionare il metodo di accelerazione desiderato. SNA è il metodo consigliato da ora in poi. Potete controllare i benchmarks fatti da Phoronix [1], che sono reperibili qui per Sandy Bridge e qui per Ivy Bridge. UXA è ancora una solida soluzione, se si hanno esperienze problematiche con SNA. Aggiungere quanto segue al file /etc/X11/xorg.conf oppure creando il file /etc/X11/xorg.conf.d/20-intel.conf :

Section
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "sna"
   #Option      "AccelMethod"  "uxa"
   #Option      "AccelMethod"  "xaa"
EndSection

Su sistemi a 64 bit, per usufruire dell’accelerazione con programmi a 32-bit, potrebbe essere necessario installare lib32-intel-dri.

Nota: lib32-intel-dri è reperibile nel repositorio [multilib].

Configurazione

Non è necessario alcun tipo di configurazione per far funzionare Xorg (xorg.conf non è necessario).

Una cosa che si dovrebbe aver già fatto fin dall'inizio (non un passo di configurazione di per sé) è quella di aggiungere l'utente al gruppo adeguato:

# gpasswd -a username video

KMS (Kernel Mode Setting)

KMS è necessario per eseguire X e gli ambienti desktop come GNOME, KDE, XFCE, LXDE, etc. KMS è supportato dai chipset Intel i915 che utilizzano il driver DRM ed è ora abilitato di default dal kernel v2.6.32. Le versioni 2.10 e le più recenti di xf86-video-intel non supportano più UMS, rendendo necessario l’utilizzo di KMS indispensabile[2]. KMS è tipicamente inizializzato dopo che si è avviato il kernel. E' possibile comunque abilitare KMS durante la fase di avvio del kernel, permettendo all'intero processo di boot di funzionare alla risoluzione nativa.

{{Nota|Quando si utilizza KMS, è necessario rimuovere ogni riferimento deprecato a vga o nomodeset dalla propria configurazione di boot.

Per procedere, aggiungere il modulo i915 all'array MODULES in /etc/mkinitcpio.conf:

MODULES="i915"
Nota: Se possedete processori di prima generazione della serie iCore{3,5,7} con GPU integrata, aggiungere i915 all'array MODULES in /etc/mkinitcpio.conf probabilmente farà sì che generi l'errore kernel: intel ips [...]: failed to get i915 symbols, graphics turbo disabled.
Nota: Potrebbe essere necessario aggiungere il modulo intel_agp se il sistema ne lamenta il mancato avvio al boot.

Quindi, ricreare l'initramfs:

# mkinitcpio -p linux

E Riavviare il sistema. Ora tutto dovrebbe funzionare.

Consigli e trucchi

Configurare lo scaling mode

Questa procedura può essere utile per alcune applicazioni a schermo intero:

xrandr --output LVDS1 --set PANEL_FITTING param

dove param può assumere i valori

  • center: la risoluzione sarà mantenuta esattamente come è stata definita, non verrà applicato alcun ridimensionamento
  • full: ridimensiona la risoluzione in modo da occupare l'intero schermo
  • full_aspect: ridimensiona la risoluzione al massimo consentito, mantenendo le proporzioni dell'immagine.

Se ciò non dovesse funzionare, si pò provare con :

xrandr --output LVDS1 --set "scaling mode" param

dove param può assumere il valore di "Full", "Center" o "Full aspect".

Problema KMS: la console è limitata ad una piccola porzione di schermo

Una porta video a bassa risoluzione potrebbe essere abilitata all’avvio, causando l’utilizzo solo di una piccola area dello schermo. Per risolvere, disabilitare esplicitamente la porta incriminata tramite un'impostazione del modulo i915 con video=SVIDEO-1:d come parametro della riga di comando del kernel nel vostro bootloader. Si veda Kernel parameters per ulteriori informazioni.

Se ciò non dovesse funzionare, provare a sostituire TV1 o VGA1 a SVIDEO-1.

Accelerazione video Hardware

Se volete abilitare l'accelerazione hardware per la codifica/decodifica nelle applicazoni multimediali (come VLC o MPlayer) per il vostro controller grafico Intel HD (Ivybridge, Sandybridge), installare il pacchetto libva-driver-intel reperipile sui repository ufficiali.

Il supporto per le schede G45 (X4500MHD) è stato incluso nel pacchetto libva-driver-intel. vlc e mplayer-vaapi funzionano correttamente, mentre (gstreamer-vaapiAUR) con G45 è attualmente corrotto.

Per avvantaggiarsi del sistema VA-API, utilizzare player video che supportano VAAPI. Se utilizzate mplayer, installare mplayer-vaapi, e utilizzare il parametro -vo vaapi. Per abilitare la decodifica video in flash, aggiungere EnableLinuxHWVideoDecode=1 nel file /etc/adobe/mms.cfg. Se la decodifica hardware video non funzioni ancora, allora potete aggiungere l'opzione OverrideGPUValidation = 1.

Impostare il valore di gamma e luminosità

Intel non offre un metodo per impostare questi parametri a livello driver. Fortunatamente questi possono essere impostati tramite xgamma e xrandr.

Il valore di Gamma può essere impostato con:

xgamma -gamma 1.0

oppure

xrandr --output VGA1 --gamma 1.0:1.0:1.0

La luminosità può essere impostata con:

xrandr --output VGA1 --brightness 1.0

Risoluzione dei Problemi

Glxgears mostra un basso frame rate

Note: glxgears non è un benchmark valido per confrontare le performance fra più sistemi.

Se glxgears viene eseguito per effettuare un test sulle performance della propria scheda video, si possono notare che mostra risultati intorno ai 60 FPS:

[...]
311 frames in 5.0 seconds = 61.973 FPS
311 frames in 5.0 seconds = 62.064 FPS
311 frames in 5.0 seconds = 62.026 FPS
[...]

Questo non è causato da una regressione delle performance della GPU, bensì perché il sistema grafico sta utilizzando l'opzione vertical synchronization (vsync), vincolando i valori di Glxgears alla frequenza nativa del monitor in uso.

Disabilitare VSYNC

Per disabilitare VSYNC bisogna aggiungere nella Section "Device" del file /etc/X11/xorg.conf.d/20-intel.conf la stringa [[ic|Option "SwapbuffersWait" "false"}}

In alternativa, impostare vblank_mode a 0 in ~/.drirc e assicurarsi che il driver sia impostato su dri2.

~/.drirc
<device screen="0" driver="dri2">
   <application name="Default">
   <option name="vblank_mode" value="0" />
   </application>
</device>

Schermo vuoto durante l’avvio, alla fase "Loading modules"

Se si sta utilizzando "late start" KMS e lo schermo diventa vuoto alla fase "Loading modules", potrebbe essere d’aiuto aggiungere i915 e intel_agp all’initramfs. Vedere la sezione precedente KMS

In alternativa, si potrebbe risolvere aggiungendo alla riga di comando del kernel quanto segue:

video=SVIDEO-1:d

Video tearing

Si può probabilmente risolvere il problema del video tearing, come descritto nel paragrafo Accelerazione video Hardware. In alternativa, potete aggiungere:

Option "TearFree" "true" 

in /etc/X11/xorg.conf.d/20-intel.conf

Freeze/crash del server X con i driver intel

Esiste un problema conosciuto con il chipset i845G, che provoca il blocco delle GPU dopo un po.

Se riscontrate dei problemi con il server X che termina inaspettatamente, o che sembra bloccarsi, o la GPU non risponde correttamente, disabilitare l'uso GPU con l'opzione "NoAccel":

/etc/X11/xorg.conf.d/20-intel.conf
 Section "Device"
   Identifier "old intel stuff"
   Driver "intel"
   Option "AccelMethod"  "sna"
   Option "NoAccel" "True"
 EndSection

Aggiungere risoluzioni non rilevate

Questo problema è trattato nell'articolo di Xrandr.

Altre Risorse