Difference between revisions of "Intel graphics (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Installazione: correzione di sintassi)
(eliminati due paragrafi, corretto paragrafo sulla configurazione e aggiunti vari template di forma)
Line 36: Line 36:
 
Prerequisiti: [[Xorg (Italiano)|Xorg]]
 
Prerequisiti: [[Xorg (Italiano)|Xorg]]
 
   
 
   
[[pacman (Italiano)|installare]] il pacchetto {{pkg|xf86-video-intel-uxa}} o {{Pkg|xf86-video-intel-sna}} che sono reperibili nei [[Official Repositories (Italiano)|repository ufficiali]]. UXA è ancora l'architettura di accelerazione raccomanda. SNA è raccomandabile per CPU Sandy Bridge e più recenti, è inoltre una valida opzione in caso di esperienze problematiche con i driver UXA. Un valido benchmarks fatto da Phoronix  può essere trovato [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 qui] per Sandy Bridge e [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 qui] per Ivy Bridge.
+
[[pacman (Italiano)|installare]] il pacchetto {{pkg|xf86-video-intel-sna}} o {{Pkg|xf86-video-intel-uxa}} che sono reperibili nei [[Official Repositories (Italiano)|repository ufficiali]]. SNA è raccomanto specialmente per CPU Sandy Bridge e più recenti, come dimostrano i benchmarks fatti da Phoronix  [http://www.phoronix.com/scan.php?page=news_item&px=MTEzOTE], che sono reperibili [http://www.phoronix.com/scan.php?page=article&item=intel_glamor_first&num=1 qui] per Sandy Bridge e [http://www.phoronix.com/scan.php?page=article&item=intel_ivy_glamor&num=1 qui] per Ivy Bridge. UXA è ancora una solida soluzione, se si hanno esperienze problematiche con SNA.
  
 
Su sistemi a 64 bit, per usufruire dell’accelerazione con programmi a 32-bit, potrebbe essere necessario installare lib32-intel-dri.
 
Su sistemi a 64 bit, per usufruire dell’accelerazione con programmi a 32-bit, potrebbe essere necessario installare lib32-intel-dri.
Line 54: Line 54:
 
[[KMS]] è necessario per eseguire X e gli ambienti desktop come [[gnome (Italiano)|GNOME]], [[KDE (Italiano)|KDE]], [[Xfce (Italiano)|XFCE]], [[LXDE (Italiano)|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 {{pkg|xf86-video-intel}} non supportano più UMS, rendendo necessario l’utilizzo di KMS indispensabile<sup>[https://www.archlinux.it/forum/viewtopic.php?id=7786]</sup>. 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.
 
[[KMS]] è necessario per eseguire X e gli ambienti desktop come [[gnome (Italiano)|GNOME]], [[KDE (Italiano)|KDE]], [[Xfce (Italiano)|XFCE]], [[LXDE (Italiano)|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 {{pkg|xf86-video-intel}} non supportano più UMS, rendendo necessario l’utilizzo di KMS indispensabile<sup>[https://www.archlinux.it/forum/viewtopic.php?id=7786]</sup>. 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 a {{ic|vga}} o {{ic|nomodeset}} dalla linea del kernel in {{ic|/boot/grub/menu.lst}}}}
+
{{Nota|Quando si utilizza KMS, '''è necessario''' rimuovere ogni riferimento deprecato a {{ic|vga}} o {{ic|nomodeset}} dalla propria configurazione di boot.
  
 
Per procedere, aggiungere il modulo {{ic|i915}} all'array {{ic|MODULES}} in {{ic|/etc/mkinitcpio.conf}}:
 
Per procedere, aggiungere il modulo {{ic|i915}} all'array {{ic|MODULES}} in {{ic|/etc/mkinitcpio.conf}}:
Line 66: Line 66:
 
  {{bc|# mkinitcpio -p linux}}
 
  {{bc|# mkinitcpio -p linux}}
  
E Riavviare il sistema. Ora tutto dovrebbe funzionare, in caso di problemi, provare ad abilitare esplicitamente KMS aggiungendo {{ic|1=i915.modeset=1}} alla linea del kernel in {{ic|/boot/grub/menu.lst}}:
+
E Riavviare il sistema. Ora tutto dovrebbe funzionare.
# (0) Arch Linux
+
title  Arch Linux
+
root  (hd0,0)
+
kernel /boot/vmlinuz-linux root=/dev/... '''i915.modeset=1'''
+
initrd /boot/initramfs-linux.img
+
e assicurarsi di non utilizzare {{ic|1=vga=...}} nè {{ic|nomodeset}}. Riavviare e Xorg dovrebbe funzionare.
+
 
+
Se si volesse disabilitare KMS, si può cambiare cambiare l'opzione {{ic|i915.modeset}} da 1 a 0 nel {{ic|/boot/grub/menu.lst}} di [https://wiki.archlinux.org/index.php/GRUB_(Italiano) GRUB], senza dover ricompilare nulla:
+
# (0) Arch Linux
+
title  Arch Linux
+
root  (hd0,0)
+
kernel /boot/vmlinuz-linux root=/dev/... '''i915.modeset=0'''
+
initrd /boot/initramfs-linux.img
+
{{ic|1=i915.modeset=0}} è per intel l’equivalente di {{ic|nomodeset}} per le altre schede video.
+
 
+
{{nota |Aggiungere l'opzione {{ic|nomodeset}} per la linea di boot del kernel, potrebbe impedire l'esecuzione degli effetti desktop di KDE o di gnome-shell su Gnome3}}
+
 
+
Per disabilitare KMS senza dover modificare {{ic|menu.lst}}, accendere la macchina e durante la schermata di GRUB, premere un pulsante per disabilitare il timeout. Selezionare quindi il kernel che si vuole avviare (probabilmente quello già selezionato) e premere {{keypress|e}} per modificare. Selezionare la riga che inizia con "kernel" e premere nuovamente {{keypress|e}}.
+
Quindi aggiungere l'opzione {{ic|i915.modeset}} e impostarla 0.
+
Premere {{keypress|invio]] e {{keypress|b}} per avviare. Notare che questo cambiamento è temporaneo, KMS sarà attivato di nuovo dopo il riavvio.
+
 
+
{{Nota|Se si possiede una Intel GMA 950 e durante la fase di boot si ottiene uno schermo vuoto, sarà necessario installare un kernel meno recente come il kernel 2.6.31.6-1 oppure disabilitare modesetting con il parametro di avvio del kernel}}
+
 
+
=== Vedere anche ===
+
* [[KMS]] - Wiki di Arch Linux, articolo sul kernel mode setting.
+
* [[Xrandr]] &mdash; Se si riscontrano problemi nell'impostare la risoluzione.
+
* Forum di Arch Linux (inglese): [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]
+
  
 
== Consigli e trucchi ==
 
== Consigli e trucchi ==
Line 99: Line 72:
 
=== Configurare lo scaling mode ===
 
=== Configurare lo scaling mode ===
  
Questa procedura può essere utile per alcune applicazioni a schermo intero.
+
Questa procedura può essere utile per alcune applicazioni a schermo intero:
 
  xrandr --output LVDS1 --set PANEL_FITTING param
 
  xrandr --output LVDS1 --set PANEL_FITTING param
 
dove {{ic|param}} può assumere i valori
 
dove {{ic|param}} può assumere i valori
Line 105: Line 78:
 
* {{ic|full}}: ridimensiona la risoluzione in modo da occupare l'intero schermo
 
* {{ic|full}}: ridimensiona la risoluzione in modo da occupare l'intero schermo
 
* {{ic|full_aspect}}: ridimensiona la risoluzione al massimo consentito, mantenendo le proporzioni dell'immagine.
 
* {{ic|full_aspect}}: ridimensiona la risoluzione al massimo consentito, mantenendo le proporzioni dell'immagine.
Se ciò non dovesse funzionare, si pò provare con
+
Se ciò non dovesse funzionare, si pò provare con :
 
  xrandr --output LVDS1 --set "scaling mode" param
 
  xrandr --output LVDS1 --set "scaling mode" param
 
dove {{ic|param}} può assumere il valore di {{ic|"Full"}}, {{ic|"Center"}} o {{ic|"Full aspect"}}.
 
dove {{ic|param}} può assumere il valore di {{ic|"Full"}}, {{ic|"Center"}} o {{ic|"Full aspect"}}.
Line 128: Line 101:
 
=== Impostare il valore di gamma e luminosità ===
 
=== 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.
+
Intel non offre un metodo per impostare questi parametri a livello driver. Fortunatamente questi possono essere impostati tramite {{ic|xgamma}} e {{ic|xrandr}}.
  
 
Il valore di Gamma può essere impostato con:
 
Il valore di Gamma può essere impostato con:
Line 146: Line 119:
 
=== Glxgears mostra un basso frame rate  ===
 
=== Glxgears mostra un basso frame rate  ===
  
{{Note|glxgears non è un benchmark valido per confrontare le  performance fra due o più sistemi.}}
+
{{Note|{{ic|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 risultati intorno ai '''60 FPS''':
+
Se {{ic|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 = 61.973 FPS
 
  311 frames in 5.0 seconds = 62.064 FPS
 
  311 frames in 5.0 seconds = 62.064 FPS
 
  311 frames in 5.0 seconds = 62.026 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 [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization (vsync)]], vincolando i valori di Glxgears alla frequenza nativa del monitor in uso.
 
Questo non è causato da una regressione delle performance della GPU, bensì perché il sistema grafico sta utilizzando l'opzione [[Wikipedia:Analog television#Vertical synchronization|vertical synchronization (vsync)]], vincolando i valori di Glxgears alla frequenza nativa del monitor in uso.
Line 162: Line 135:
 
Per disabilitare VSYNC bisogna aggiungere nella {{ic|Section "Device"}} del file {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}  la stringa [[ic|Option "SwapbuffersWait" "false"}}
 
Per disabilitare VSYNC bisogna aggiungere nella {{ic|Section "Device"}} del file {{ic|/etc/X11/xorg.conf.d/20-intel.conf}}  la stringa [[ic|Option "SwapbuffersWait" "false"}}
  
In alternativa, impostare {{ic|vblank_mode}} a {{ic|0}} e assicurarsi che il {{ic|driver}} sia impostato su {{ic|dri2}}.
+
In alternativa, impostare {{ic|vblank_mode}} a {{ic|0}} in {{ic|~/.drirc}} e assicurarsi che il {{ic|driver}} sia impostato su {{ic|dri2}}.
  
 
{{hc|~/.drirc|2=<device screen="0" driver="dri2">
 
{{hc|~/.drirc|2=<device screen="0" driver="dri2">
Line 176: Line 149:
 
In alternativa, si potrebbe risolvere aggiungendo alla riga di comando del kernel quanto segue:
 
In alternativa, si potrebbe risolvere aggiungendo alla riga di comando del kernel quanto segue:
 
  video=SVIDEO-1:d
 
  video=SVIDEO-1:d
 
=== Il monitor esterno collegato al portatile lampeggia nero ogni 30 secondi===
 
 
Se il vostro portatile utilizza una scheda grafica Intel HD e il vostro schermo LCD esterno è nero o lampeggia  ogni 30 secondi, l'aggiornamento del kernel e driver video può aiutare a risolvere il problema. A partire dalla versione {{pkg|xf86-video-intel}} 2.14.0-1 e kernel 2.6.37-5 viene risolto questo problema.
 
  
 
===É disponibile solamente una bassa risoluzione===
 
===É disponibile solamente una bassa risoluzione===
Line 213: Line 182:
 
==Altre Risorse==
 
==Altre Risorse==
 
* http://intellinuxgraphics.org/documentation.html (include una lista dell'hardware supportato)
 
* http://intellinuxgraphics.org/documentation.html (include una lista dell'hardware supportato)
 +
* [[KMS]] &mdash; Arch wiki sul kernel mode setting
 +
* [[Xrandr]] &mdash; Se si riscontrano problemi con l'impostazione della risoluzione
 +
* Arch Linux forums: [https://bbs.archlinux.org/viewtopic.php?pid=522665#p522665 Intel 945GM, Xorg, Kernel - performance]

Revision as of 14:24, 14 July 2012

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-sna o xf86-video-intel-uxa che sono reperibili nei repository ufficiali. SNA è raccomanto specialmente per CPU Sandy Bridge e più recenti, come dimostrano 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.

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. Per esempio, aggiungere l'opzione seguente alla linea del kernel in /boot/grub/menu.lst:

 video=SVIDEO-1:d

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.

Per schede G45 (X4500MHD) è necessario (libva-g45-h264AUR) e (libva-driver-intel-g45-h264AUR) da AUR, poiché per le schede G45 Intel fornisce una accelerazione video hardware con supporto h264 abilitato, solo tramite sul ramo "g45-h264" - per maggiori informazioni http://intellinuxgraphics.org/h264.html). 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

É disponibile solamente una bassa risoluzione

Se Xorg si avvia con una risoluzione 800x600 e non trovare altre voci, può essere, perché si ha ancora un file /etc/X11/xorg.conf lasciata da una vecchia configurazione NVIDIA. Semplicemente cambiando il driver da "nvidia" a "intel" non è sufficiente quando si passa da xorg.conf di NVIDIA per Intel. Eliminare /etc/X11/xorg.conf, lasciando che il driver scelga automaticamente la impostazione migliore.

Video tearing

Si può probabilmente risolvere il problema del video tearing, come descritto nel paragrafo Accelerazione video Hardware.

Freeze/crash del server X con i driver intel

Se riscontrate dei problemi con il server X che termina inaspettatamente, o che sembra bloccarsi, o la GPU non risponde correttamente, potreste risolvere con l'utilizzo dell'opzione "Shadow":

/etc/X11/xorg.conf.d/20-intel.conf
 Section "Device"
   Identifier "old intel stuff"
   Driver "intel"
   Option "Shadow" "True"
   Option "DRI" "false"
 EndSection

Poiché utilizzando questa correzione (Option "Shadow" "True") vengono disabilitate molte funzioni dell'accelerazione video, si possono incorrere in problemi con gnome-screenshot e programmi simili, come gimp o gcolor2.

Un'altra opzione che può essere utile in alcune implementazioni è quella di abilitare semaphores nel driver video del kernel, aggiungendo i915.semaphores=1 alle opzioni del kernel. Per rendere questo cambiamento definitivo in GRUB2, cambiare la la lista dei comandi da dare al kernel in /etc/default/grub e lanciare il comando grub-mkconfig per ricreare il file di GRUB2 che includa questa opzione.

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.semaphores=1"

Aggiungere risoluzioni non rilevate

Questo problema è trattato nell'articolo di Xrandr.

Altre Risorse