Difference between revisions of "ATI (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Kernel mode-setting (KMS))
m
(47 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category: Graphics (Italiano)]]
+
[[Category:Graphics (Italiano)]]
[[Category: X Server (Italiano)]]
+
[[Category:X Server (Italiano)]]
{{i18n|ATI}}
+
[[cs:ATI]]
 
+
[[de:ATI]]
{{Article summary start|Sommario}}
+
[[en:ATI]]
{{Article summary text|Una panoramica sui driver open source delle schede video ATI/AMD.}}
+
[[es:ATI]]
{{Article summary heading|Articoli correlati}}
+
[[fr:ATI]]
{{Article summary wiki|ATI Catalyst}}
+
[[ja:ATI]]
{{Article summary wiki|KMS}}
+
[[pl:ATI]]
{{Article summary wiki|Xorg}}
+
[[ru:ATI]]
{{Article summary end}}
+
[[tr:ATI]]
 
+
[[zh-CN:ATI]]
I possessori di schede video '''ATI''' possono scegliere tra i driver proprietari ATI/AMD ({{Package AUR|catalyst}}) e i driver open source({{Package Official|xf86-video-ati}}).
+
{{Related articles start (Italiano)}}
 +
{{Related|AMD Catalyst (Italiano)}}
 +
{{Related|KMS}}
 +
{{Related|Xorg (Italiano)}}
 +
{{Related articles end}}
 +
I possessori di schede video '''AMD''' possono scegliere tra i [[AMD Catalyst (Italiano)|driver proprietari]] ATI/AMD ({{AUR|catalyst}}) e i driver open source({{Pkg|xf86-video-ati}}).
  
 
Attualmente, le performance dei driver open source non sono ''alla pari'' con i driver proprietari in termini di prestazioni 3D e mancano di alcune caratteristiche, come il supporto TV-out. Tuttavia, offrono un miglior supporto dual-head, un eccellente accelerazione 2D, e forniscono l'accelerazione 3D necessaria ai vari [[Window Manager (Italiano)|Window Manager]] che sfruttano le accelerazioni OpenGL, come [[Compiz_(Italiano)|Compiz]] o KWin.
 
Attualmente, le performance dei driver open source non sono ''alla pari'' con i driver proprietari in termini di prestazioni 3D e mancano di alcune caratteristiche, come il supporto TV-out. Tuttavia, offrono un miglior supporto dual-head, un eccellente accelerazione 2D, e forniscono l'accelerazione 3D necessaria ai vari [[Window Manager (Italiano)|Window Manager]] che sfruttano le accelerazioni OpenGL, come [[Compiz_(Italiano)|Compiz]] o KWin.
  
In caso si incertezza, provare in primo luogo i driver open source; essi sono adatti alla maggior parte dei bisogni e sono generalmente più flessibili e meno problematici. (vedere la [http://www.x.org/wiki/RadeonFeature tabella delle caratteristiche] per i dettagli.) Per una panoramica riservata ai driver proprietari ATI "Catalyst" e la loro configurazione, consultare [[ATI Catalyst]]; questo articolo copre solamente i driver open source. I driver [http://www.archlinux.org/news/439/ ATI Catalyst non sono ufficialmente supportati] in Arch Linux.
+
In caso si incertezza, provare in primo luogo i driver open source; sono adatti alla maggior parte delle necessità e sono generalmente più flessibili e meno problematici. (vedere la [http://www.x.org/wiki/RadeonFeature tabella delle caratteristiche] per i dettagli.) Per una panoramica riservata ai driver proprietari ATI "Catalyst" e la loro configurazione, consultare [[ATI Catalyst]]; questo articolo copre solamente i driver open source. I driver [https://www.archlinux.org/news/439/ ATI Catalyst non sono ufficialmente supportati] in Arch Linux.
  
 
==Convenzione dei nomi==
 
==Convenzione dei nomi==
Line 24: Line 29:
 
== Panoramica ==
 
== Panoramica ==
  
I driver {{codeline|xf86-video-ati}} (radeon)
+
I driver {{Ic|xf86-video-ati}} (radeon)
*Funzionano con i chipset Radeon fino a HD 4xxx (ultimi R700 chipsets) così come le serie HD 5xxx (ultimi R800 chipsets).  
+
*Funzionano con i chipset Radeon fino a HD 6xxx e 7xxxM (ultimi chipset Northern Islands).
 +
**Le schede della serie HD 77xx (Southern Islands) hanno un supporto solo parziale. Controllare la [http://www.x.org/wiki/RadeonFeature feature matrix] per verificare quali funzioni non sono supportate.  
 
**Le schede Radeon della serie X1xxx sono pienamente supportate, stabili, e forniscono una piena accelerazione 2D e 3D.  
 
**Le schede Radeon della serie X1xxx sono pienamente supportate, stabili, e forniscono una piena accelerazione 2D e 3D.  
**Le schede Radeon dalla serie HD2xxx alla HD4xxx hanno pieno supporto all'accelerazione 2D  ed una accelerazione 3D funzionale, ma non supportano tutte le caratteristiche che vengono fornite dai driver proprietari (per esempio, il powersaving è da tempo in fase di test).  
+
**Le schede Radeon dalla serie HD2xxx alla HD6xxx hanno pieno supporto all'accelerazione 2D  ed una accelerazione 3D funzionale, ma non supportano tutte le caratteristiche che vengono fornite dai driver proprietari.  
 
*Supportano DRI1, RandR 1.2/1.3, accelerazione EXA e [[KMS|kernel mode-setting]]/DRI2 (con le ultime versione del kernel Linux, libdrm e Mesa).
 
*Supportano DRI1, RandR 1.2/1.3, accelerazione EXA e [[KMS|kernel mode-setting]]/DRI2 (con le ultime versione del kernel Linux, libdrm e Mesa).
*Tutte le schede dalla HD 5xxx (R800) alle ultime sono supportate, ma per ora solamente con supporto 2D.
 
*Il supporto per '''HDMI''' verrà presto implementato in '''xf86-video-ati''' tramite AtomBIOS. È già funzionante su alcuni chipset. (almeno sul RV620 funziona correttamente)
 
  
Generalmente ,'''xf86-video-ati''' dovrebbe essere la prima scelta, indipendentemente dalla scheda ATI di cui si è in possesso. In caso sia necessario usare un driver per le nuove schede ATI, si dovrebbe preferire il  driver proprietario '''Catalyst'''.  
+
Generalmente ,'''xf86-video-ati''' dovrebbe essere la prima scelta, indipendentemente dalla scheda ATI di cui si è in possesso. In caso sia necessario usare un driver per le nuove schede ATI, si dovrebbe considerare il  driver proprietario '''Catalyst'''.  
 
+
{{Nota|xf86-video-ati è riconosciuto come "'''radeon'''" da Xorg (in xorg.conf). }}
+
  
 +
{{Nota|xf86-video-ati è riconosciuto come "'''radeon'''" dal kernel e da Xorg (in {{ic|xorg.conf}}). }}
 
== Installazione ==
 
== Installazione ==
  
{{Attenzione| Se sono stati precedentemente installati i driver proprietari (catalyst), assicurarsi di rimuoverli e '''riavviare''' il sistema prima di installare i driver Open Source, assicurandosi di eliminare anche il vecchio file di configurazione {{Filename|/etc/X11/xorg.conf}}.}}
+
=== Installazione di xf86-video-ati ===
 
+
[[pacman (Italiano)|Installare]] {{pkg|xf86-video-ati}}, disponibile nei [[Official Repositories (Italiano)|repository ufficiali]]:
Per installare {{codeline|xf86-video-ati}}:
+
{{cli|# pacman -S xf86-video-ati}}
+
  
La versione GIT di questi drivers più pacchetti aggiuntivi (kernel26-git, etc.) possono essere scaricati sui [https://bbs.archlinux.org/viewtopic.php?id=79509&p=1 repository radeon] o da [[AUR]]
+
La versione GIT di questi drivers più pacchetti aggiuntivi (linux-git, etc.) possono essere scaricati dai [https://bbs.archlinux.org/viewtopic.php?id=79509&p=1 repository radeon] o da [[AUR]]
  
 
== Configurazione ==
 
== Configurazione ==
Line 49: Line 50:
 
Xorg caricherà automaticamente il driver e userà l'EDID monitor  per impostare la risoluzione nativa. La configurazione è necessaria solo per l'ottimizzazione del driver.
 
Xorg caricherà automaticamente il driver e userà l'EDID monitor  per impostare la risoluzione nativa. La configurazione è necessaria solo per l'ottimizzazione del driver.
  
Se si desidera effettuare una configurazione manuale, creare {{Filename|/etc/X11/xorg.conf.d/20-radeon.conf}}, e aggiungere quanto segue:
+
Se si desidera effettuare una configurazione manuale, creare {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}, e aggiungere quanto segue:
{{file|name=/etc/X11/xorg.conf.d/20-radeon.conf|content= Section "Device"
+
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf| Section "Device"
 
     Identifier "vga"
 
     Identifier "vga"
 
     Driver "radeon"
 
     Driver "radeon"
Line 59: Line 60:
 
== Kernel mode-setting (KMS) ==
 
== Kernel mode-setting (KMS) ==
  
 +
{{tip| Se si hanno problemi con la risoluzione, consultare [[Kernel Mode Setting#Forcing modes and EDID|questa pagina]].}}
  
 
[[KMS]] abilita la risoluzione nativa nel framebuffer e permette l'interscambio istantaneo tra console (tty). KMS abilita inoltre le più recenti tecnologie (come ad esempio DRI2) riducendone eventuali anomalie ed incrementando le prestazioni 3D, oltre al risparmio energetico in kernel-space.  
 
[[KMS]] abilita la risoluzione nativa nel framebuffer e permette l'interscambio istantaneo tra console (tty). KMS abilita inoltre le più recenti tecnologie (come ad esempio DRI2) riducendone eventuali anomalie ed incrementando le prestazioni 3D, oltre al risparmio energetico in kernel-space.  
  
KMS per le schede video ATI richiede il driver opensource di [[Xorg (Italiano)]] {{Package Official|xf86-video-ati}} versione 6.12.4 o più recente.  
+
KMS per le schede video ATI richiede il driver opensource di [[Xorg (Italiano)]] {{Pkg|xf86-video-ati}} versione 6.12.4 o più recente.  
  
 
=== Abilitare KMS ===
 
=== Abilitare KMS ===
Dal kernel26 v.2.6.33, KMS è abilitato di default per le schede ATi.
+
{{Nota|Dal kernel v.2.6.33, KMS è abilitato di default per le schede ATI/AMD autorilevate. Questa sezione rimane per configurazioni al di fuori della norma.}}
  
 
==== Avvio rapido ====
 
==== Avvio rapido ====
  
''Questo metodo avvierà KMS il più presto possibile durante il [[Arch Boot Process (Italiano)|processo d'avvio]] (ossia quando [[mkinitcpio (Italiano)|initramfs]] sarà caricato).''
+
''Questi due metodi avvieranno KMS il più presto possibile durante il [[Systemd (Italiano)|processo d'avvio]].''
  
Se si sta utilizzando un particolare kernel (es: linux-zen), ricordarsi di utilizzare l'appropriato file di configurazione di mkinitcpio. Es: {{filename|/etc/mkinitcpio-zen.conf}}. Le seguenti istruzioni valgono per il kernel predefinito ({{Pkg|linux}}).
+
1. Il primo metodo consiste nell'aggiungere alla riga di boot del kernel il parametro {{ic|1= radeon.modeset=1}}. Consultare la pagina relativa al proprio bootloader per sapere come fare.
  
# Rimuovere qualsiasi opzione {{Codeline|<nowiki>vga=</nowiki>}}  dalla linea del ''kernel'' nel file di configurazione del bootloader ({{Filename|/boot/grub/menu.lst}} per chi usa [[GRUB (Italiano)|GRUB]]).  L'uso di altri driver del framebuffer (come {{codeline|[[uvesafb (Italiano)|uvesafb]]}} o {{codeline|radeonfb}}) provocherebbe conflitti con KMS. Rimuovere qualsiasi altro modulo relativo al framebuffer da {{Filename|/etc/mkinitcpio.conf}}. {{Codeline|<nowiki>video=</nowiki>}} può essere utilizzato in abbinamento a KMS.
+
* Rimuovere qualsiasi opzione {{Ic|<nowiki>vga=</nowiki>}}  dalla linea del ''kernel'' nel [[Boot Loader#Configuration files|file di configurazione del bootloader]].  L'uso di altri driver del framebuffer (come {{Ic|[[uvesafb (Italiano)|uvesafb]]}} o {{Ic|radeonfb}}) provocherebbe conflitti con KMS.  
# Aggiungere {{Codeline|radeon}} alla stringa MODULES in {{Filename|/etc/mkinitcpio.conf}}. A seconda dal chipset della scheda madre, può essere necessario aggiungere {{Codeline|intel_agp}} (o {{Codeline|ali_agp}}, {{Codeline|ati_agp}}, {{Codeline|amd_agp}}, {{Codeline|amd64_agp}} etc.)  prima del modulo {{Codeline|radeon}}.  
+
*La velocità dell'AGP può essere impostata con il parametro {{ic|<nowiki>radeon.agpmode=x</nowiki>}}, dove x può assumere i valori 1, 2, 4, 8 (velocità AGP) o -1 (PCI mode).
# Rigenerare initramfs:
+
 
{{cli|# mkinitcpio -p linux}}
+
2. Altrimenti, quando l'[[mkinitcpio (Italiano)|initramfs]] è caricato:
# Aggiungere {{Codeline|<nowiki>radeon.modeset=1</nowiki>}} alle opzioni del kernel nel file di configurazione del bootloader per abilitare KMS.
+
* Se si utilizza un kernel differente da quello stock {{ic|-ARCH}} (ad es. linux-zen), ricordarsi di utilizzare un file di configurazione di ''mkinitcpio'' separato (ad es. {{ic|/etc/mkinitcpio-zen.conf}}) e non {{ic|/etc/mkinitcpio.conf}}.
# La velocità del bus AGP può essere impostata tramite l'opzione del kernel {{ic|<nowiki>radeon.agpmode=x</nowiki>}} dove x può assumere il valore di 1, 2, 4, 8 (velocità dell'AGP) o -1 (modalità PCI)
+
* Rimuovere ogni modulo relativo al framebuffer dal proprio mkinitcpio.
# '''Riavviare''' il sistema.
+
* Aggiungere {{Ic|radeon}} alla stringa MODULES del proprio file di configurazione di mkinitcpio.conf. A seconda dal chipset della scheda madre, può essere necessario aggiungere {{Ic|intel_agp}} (o {{Ic|ali_agp}}, {{Ic|ati_agp}}, {{Ic|amd_agp}}, {{Ic|amd64_agp}} etc.)  prima del modulo {{Ic|radeon}}.  
 +
* Rigenerare [[mkinitcpio (Italiano)#Creazione dell'immagine ed attivazione|initramfs]]:
 +
* '''Riavviare''' il sistema.
  
 
==== Avvio ritardato ====
 
==== Avvio ritardato ====
Line 85: Line 89:
 
''Scegliendo questa modalità, KMS verrà avviato quando i moduli vengono caricati durante il [Arch Boot Process (Italiano)|processo d'avvio]].''
 
''Scegliendo questa modalità, KMS verrà avviato quando i moduli vengono caricati durante il [Arch Boot Process (Italiano)|processo d'avvio]].''
  
Se si sta utilizzando un kernel personalizzato (es:linux-zen), ricordarsi di utilizzare l'appropriato file di configurazione di mkinitcpio. Es: {{filename|/etc/mkinitcpio-zen.conf}}. Le seguenti istruzioni valgono per il kernel predefinito ({{Pkg|linux}}).
+
Se si sta utilizzando un kernel personalizzato (es:linux-zen), ricordarsi di utilizzare l'appropriato file di configurazione di mkinitcpio. Es: {{ic|/etc/mkinitcpio-zen.conf}}. Le seguenti istruzioni valgono per il kernel predefinito ({{Pkg|linux}}).
  
# Rimuovere qualsiasi opzione {{Codeline|<nowiki>vga=</nowiki>}}  dalla linea del ''kernel'' nel file di configurazione del bootloader ({{Filename|/boot/grub/menu.lst}} per chi usa [[GRUB (Italiano)|GRUB]]).  L'utilizzo di altri driver del framebuffer (come {{codeline|[[Uvesafb (Italiano)|uvesafb]]}} o {{codeline|radeonfb}}) provocherebbe conflitti con KMS. Rimuovere qualsiasi altro modulo relativo al framebuffer da {{Filename|/etc/mkinitcpio.conf}}. {{Codeline|<nowiki>video=</nowiki>}} può essere utilizzato in abbinamento a KMS.
+
{{Nota| Per il supporto all'AGP, potrebbe essere necessario aggiungere {ic|intel_agp}}, {{ic|ali_agp}}, {{ic|ati_agp}}, {{ic|amd_agp}}, o {{ic|amd64_agp}}) al file .conf appropriato in {{ic|/etc/modules-load.d}}.}}
# Aggiungere {{Codeline|radeon}} alla stringa MODULES in {{Filename|/etc/rc.conf}}. A seconda del chipset della scheda madre, può essere necessario aggiungere {{Codeline|intel_agp}} prima del modulo {{Codeline|radeon}}.  
+
# Rimuovere qualsiasi opzione {{Ic|<nowiki>vga=</nowiki>}}  dalla linea del ''kernel'' nel [[Boot Loader#Configuration files|file di configurazione del bootloader]].  L'utilizzo di altri driver del framebuffer (come {{Ic|[[Uvesafb (Italiano)|uvesafb]]}} o {{Ic|radeonfb}}) provocherebbe conflitti con KMS. Rimuovere qualsiasi altro modulo relativo al framebuffer da {{ic|/etc/mkinitcpio.conf}}. {{Ic|<nowiki>video=</nowiki>}} può essere utilizzato in abbinamento a KMS.
 +
# Aggiungere {{ic|<nowiki>options radeon modeset=1</nowiki>}} a {{ic|/etc/modprobe.d/modprobe.conf}}.
 
# '''Riavviare''' il sistema.
 
# '''Riavviare''' il sistema.
  
{{Tip|Alcuni utenti hanno ottenuto maggiori velocità nel caricamento del modulo [[udev (Italiano)|udev]] aggiungendo {{Codeline|<nowiki>options radeon modeset=1</nowiki>}} a {{Filename|/etc/modprobe.d/modprobe.conf}}.}}
 
  
 
=== Errori e risoluzione dei problemi di KMS ===
 
=== Errori e risoluzione dei problemi di KMS ===
 
====Problemi generici ====
 
 
Se si riscontrano problemi di crash al momento del login, dell'ingresso nel proprio desktop oppure dei blocchi quando vengono avviate applicazioni 3D come {{codeline|glxgears}}, si può provare a risolverli tramite l'aggiunta dell'opzione del kernel "'''pci=nomsi'''".
 
Vedere https://bugzilla.kernel.org/show_bug.cgi?id=15626 per schede della serie x200m.
 
 
{{nota | Dalla versione del kernel 2.6.35 (e probabilmente già dalla versione 2.6.34), è probabile che  ''pci<nowiki>=</nowiki>nomsi'' sia già abilitata come impostazione predefinita.}}
 
  
 
==== Disabilitare KMS ====
 
==== Disabilitare KMS ====
  
Alcuni utenti, potrebbero provare a disabilitare il kernel mode-setting se venissero visualizzati kernel panics, risoluzioni non corrette nel framebuffer all'avvio, nessuna segnale dalla GPU [[Xorg (Italiano)|Xorg]] che non si avvia, o Xorg che ritorna al Mesa software rasterizer (senza quindi accelerazione 3D), o problemi con "POWER OFF" allo spegnimento (kernel 2.6.33-2)
+
Dalla versione del kernel Linux 3.9, il driver {{ic|radeon}} '''necessita''' del kernel mode-setting (il vecchio user mode-setting può ancora essere abilitato in fase di compilazione).
+
Se è presente {{ic|<nowiki>radeon.modeset=0</nowiki>}} (o {{ic|nomodeset}}) nella riga di boot del kernel, rimuoverlo. Se è presente{{ic|<nowiki>options radeon modeset=0</nowiki>}} ovunque in {{ic|/etc/modprobe.d}}, rimuoverlo.
#Aggiungere {{Codeline|<nowiki>radeon.modeset=0</nowiki>}} (o {{Codeline|nomodeset}}, se il primo non dovesse funzionare) alle opzioni del kernel nel file di configurazione del bootloader ({{Filename|/boot/grub/menu.lst}} per gli utenti [[GRUB (Italiano)|GRUB]]).
+
{{nota| La disabilitazione del KMS potrebbe rendere inutilizzabili gli effetti grafici della gnome-shell di GNOME3 e di KDE}}
+
# Se {{Codeline|radeon}} era stato aggiunto alla stringa MODULES in {{Filename|mkinitcpio.conf}} per abilitarlo in ''avvio rapido'', rimuoverlo.
+
# Rigenerare [[mkinitcpio (Italiano)|initramfs]] con
+
{{cli|# mkinitcpio -p linux}}
+
  
Altrimenti, le opzioni del modulo possono essere specificate in un file all'interno della cartella {{Filename|/etc/modprobe.d}}. Se si usa il modulo '''radeon'''  ({{Codeline|<nowiki>lsmod | grep radeon</nowiki>}}) disabilitare KMS creando un file contenente il codice seguente:
+
==== Rinominare {{ic|xorg.conf}} ====
  
{{File|name=/etc/modprobe.d/radeon.conf|content=options radeon modeset=0}}
+
Rinominare {{ic|/etc/X11/xorg.conf}}. Nel caso includa opzioni che vanno in conflitto con KMS, questo forzerà Xorg ad un nuovo e corretto autorilevamento hardware. Dopo averlo rinominato, '''riavviare''' Xorg.
 
+
==== Rinominare {{Filename|xorg.conf}} ====
+
 
+
Rinominare {{Filename|/etc/X11/xorg.conf}}. Nel caso includa opzioni che vanno in conflitto con KMS, questo forzerà Xorg ad un nuovo e corretto autorilevamento hardware. Dopo averlo rinominato, '''riavviare''' Xorg.
+
  
 
== Ottimizzazione prestazioni ==
 
== Ottimizzazione prestazioni ==
{{out of date}}
+
Applicare le seguenti opzioni a {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}.
Applicare le seguenti opzioni alla sezione "'''Device'''" in /etc/X11/'''xorg.conf'''.
+
  
 +
In modo predefinito, xf86-video-ati gira impostando la velocità dell'AGP a 4x. In genere è sicuro cambiare questo parametro. In caso di blocchi, ridurre il valore o rimuovere l'intera linea (valori accettabili sono 1, 2, 4, 8). Se si utilizza KMS, questa opzione viene ignorata, e sovrascritta dall'impostazione passata tramite il parametro del kernel {{ic|radeon.agpmode}}
 +
        Option "AGPMode" "8"
  
In modo predefinito, xf86-video-ati gira impostando la velocità dell'AGP a 1x. In genere è sicuro cambiare questo parametro. In caso di blocchi, ridurre il valore o rimuovere l'intera linea (valori accettabili sono 1, 2, 4, 8).
+
'''ColorTiling''' è totalmente sicuro attivarlo e presumibilmente lo sarà di default. Molti utenti hanno ottenuto un incremento di prestazioni abilitandolo, ma non è ancora supportato su schede con chip R200 e precedenti, sulle quali il carico di lavoro sarà passato alla cpu.
        Option "AGPMode" "4"
+
 
+
'''ColorTiling''' è totalmente sicuro attivarlo e presumibilmente lo sarà di default. Molti utenti hanno ottenuto un incremento di prestazioni abilitandolo su xorg.conf.
+
 
         Option "ColorTiling" "on"
 
         Option "ColorTiling" "on"
  
'''Acceleration architecture'''; questa opzione sarà possibile solo su schede video '''nuove'''. Se non si può accedere ad X una volta abilitato, rimuoverlo.
+
'''Acceleration architecture'''; questa opzione sarà disponibile solo su schede video '''nuove'''. Se non si può accedere ad X una volta abilitato, rimuoverlo.
 
         Option "AccelMethod" "EXA"
 
         Option "AccelMethod" "EXA"
  
'''Page Flip''' È generalmente sicuro. Se usato su schede più datate, richiede la disattivazione di EXA. Con i drivers più recenti può tranquillamente essere abilitato insieme a EXA.
+
'''Page Flip''' È generalmente sicuro. Se usato su schede più datate, disattiverà EXA. Con i drivers più recenti può tranquillamente essere abilitato insieme a EXA.
 
         Option "EnablePageFlip" "on"  
 
         Option "EnablePageFlip" "on"  
  
Line 140: Line 126:
 
         Option "AGPFastWrite" "yes"
 
         Option "AGPFastWrite" "yes"
  
'''EXAVSync ''' Questa opzione cerca di "schivare" certe asimmetrie dell'immagine sul monitor, chiamate tearing, creando una situazione di stallo nel motore finchè il controller del display ha oltrepassato la zona di destinazione.  Ciò riduce il tearing con un decremento di prestazioni ed è noto che causa instabilità in alcuni tipi di chips.
+
'''EXAVSync ''' Questa opzione cerca di "schivare" certe asimmetrie dell'immagine sul monitor, chiamate tearing, creando una situazione di stallo nel motore finchè il controller del display ha oltrepassato la zona di destinazione.  Ciò riduce il tearing con un decremento di prestazioni ed è noto che causi instabilità in alcuni tipi di chip.
Molto utile abilitare questa opzione se Xv crea sovrapposizioni su video o desktop con accelerazione 3D. Non è necessario se KMS (quindi l'accelerazione DRI2) è abilitato.
+
Molto utile abilitare questa opzione se si abilità l'overlay di Xv su video su un desktop con accelerazione 3D. Non è necessario se KMS (quindi l'accelerazione DRI2) è abilitato.
 
  Option "EXAVSync" "yes"
 
  Option "EXAVSync" "yes"
  
Un esempoi di sezione Device in xorg.conf:
+
Un esempio di file di configurazione {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}:
<pre>
+
{{bc|
 
Section "Device"
 
Section "Device"
 
       Identifier  "My Graphics Card"
 
       Identifier  "My Graphics Card"
      Driver      "radeon"
+
        Option "AGPMode"               "8"  #not used when KMS is on
      Option     "DRI" "on"  
+
Option "AGPFastWrite"         "off" #could cause instabilities enable it at your own risk
      Option     "DynamicPM" "on"     # Dynamic powersaving.
+
Option "SWcursor"             "off" #software cursor might be necessary on some rare occasions, hence set off by default
      Option     "ClockGating" "on"   # Assisting option for powersaving.
+
Option "EnablePageFlip"       "on" #supported on all R/RV/RS4xx and older hardware and set off by default
      Option     "AccelMethod" "EXA"   # EXA should fit most cases.
+
Option "AccelMethod"           "EXA" #valid options are XAA, EXA and Glamor. EXA is the default.
      Option      "EXAVSync" "on"      # EXAVSync is explained above.
+
Option "RenderAccel"           "on" #enabled by default on all radeon hardware
      Option     "DMAForXv" "on"       # Forced option in order to enable Xv overlay.
+
Option "ColorTiling"           "on"  #enabled by default on RV300 and later radeon cards.
      Option     "ScalerWidth" "2048"  # That should fix some very rare bugs.
+
Option "EXAVSync"             "off" #default is off, otherwise on. Only works if EXA activated
      Option     "EnablePageFlip" "on" # It will not be enabled on R5xx cards.
+
Option "EXAPixmaps"           "on" #when on icreases 2D performance, but may also cause artifacts on some old cards. Only works if EXA activated
      Option     "RenderAccel" "on"   # Optional. It should be enabled by default.
+
Option "AccelDFS"             "on" #default is off, read the radeon manpage for more information
      Option     "AccelDFS" "on"       #Optional. See the man page.
+
      BusID      "PCI:1:0:0"
+
 
EndSection
 
EndSection
</pre>
 
'''Consultare il manpage per ulteriori configurazioni.'''
 
<code>man radeon</code>
 
  
Un valido strumento da provare è [http://aur.archlinux.org/packages.php?do_Details=1&ID=2994 driconf]. Permette di modificare diverse configurazioni, come vsync, anisotropic filtering, texture compression, etc. Con questo utile strumento è anche possibile disabilitare il "Low Impact fallback" necessario ad alcuni programmi (es. Google Earth).
+
}}
  
== Gestione risparmio energetico ==
+
La definizione del '''gartsize''', se non autorilevata, può essere effettuata aggiungendo l'opzione {{ic|1=radeon.gartsize=32}} ai [[Kernel parameters|parametri del kernel]]. La dimensione è espressa in MegaByte, e 32 è un valore valido per schede con chip RV280.
 +
In alternativa, è possibile impostarlo tramite {{ic|/etc/modprobe.d/radeon.conf}}:
 +
{{Ic|1=options radeon gartsize=32}}
  
=== Con KMS abilitato ===
+
'''Consultare il manuale per ulteriori configurazioni.'''
Per ora il driver radeon, di default disabilita la gestione del risparmio energetico (power saving/powerplay) ma l'ultimo kernel (2.6.35 ora che scrivo) prevede l'uso di "sysfs" per abilitarla.
+
{{bc|man radeon}}
  
La gestione del risparmio energetico usando KMS e' ancora in fase di sviluppo. Dovrebbe funzionare, ma alcune schede potrebbero dare problemi. Un problema comune e' quello che lo schermo lampeggia quando si passa da un profilo energetico ad un altro, e in alcune configurazioni potrebbe causare un blocco del sistema. Il metodo UMS e' generalmente piu' stabile, ma le opzioni di risparmio energetico sono inferiori rispetto a quelle disponibile con KMS.
+
Un valido strumento da provare è {{pkg|driconf}}. Permette di modificare diverse configurazioni, come vsync, anisotropic filtering, texture compression, etc. Con questo utile strumento è anche possibile disabilitare il "Low Impact fallback" necessario ad alcuni programmi (es. Google Earth).
  
Ci sono vari modi per abilitare il risparmio energetico tramite sysfs:
+
=== Attivare PCI-E 2.0 ===
 +
Può portare problemi di instabilità su alcune schede madri o non aggiungere alcun beneficio, se si vuole comunque provarlo di persona è sufficiente aggiungere "radeon.pcie_gen2=1" alla riga di comando del kernel.
  
1. Usare un kernel >= 2.6.35: la gestione risparmio energetico tramite sysfs e' abilitata di default
+
{{Nota|A partire dal kernel 3.6 , il PCI-E v2.0 nei driver '''radeon''' sembra essere attivo di default.}}
  
2. Provare ad aggiungere radeon.dynpm=1 ai parametri del kernel (con una versione del kernel < 2.6.35). Con una versione del kernel >=2.6.35 questa opzione non e' piu' necessaria e non deve essere usata, l'interfaccia sysfs e' disponibile di default. Se questa opzione viene passata ad un kernel >= 2.6.35, il driver non verra' caricato correttamente ed il sistema usera' un rendering software.
+
Ulteriori informazioni su questo [http://www.phoronix.com/scan.php?page=article&item=amd_pcie_gen2&num=1 Articolo di Phoronix ]
  
3. Usare il repository [radeon] (non supportato):
+
=== Glamor ===
 +
Con le versioni più recenti dei driver radeon è possibile utilizzare un nuovo metodo di accelerazione chiamato ''glamor'': è un metodo di accelerazione 2d implementato tramite OpenGL, e dovrebbe funzionare con schede grafiche che montino chip uguali o superiori al R300.
 +
{{bc|Option "AccelMethod"          "glamor"}}
  
Questo repository garantisce pacchetti aggiornati del driver radeon e delle sue dipendenze, prelevati principalmente da snapshot dei sorgenti su git.
+
È necessario però aggiungere prima qqueste due voci alla sezione Module
 +
{{bc|Section "Module"
 +
Load "dri2"
 +
Load "glamoregl"
 +
EndSection}}
 +
== Gestione risparmio energetico ==
 +
La gestione del risparmio energetico è totalmente differente a seconda dell'uso o meno del KMS.
 +
=== Con KMS abilitato ===
 +
Il driver radeon di default disabilita la gestione del risparmio energetico, ma è resa disponibile un'utility "sysfs" per abilitarla.
  
<pre>
+
La gestione del risparmio energetico usando KMS e' ancora in fase di sviluppo. Dovrebbe funzionare, ma alcune schede potrebbero dare problemi. Un problema comune e' quello dello schermo lampeggiante quando si passa da un profilo energetico ad un altro, e in alcune configurazioni potrebbe causare un blocco del sistema. Il metodo UMS e' generalmente piu' stabile, ma le opzioni di risparmio energetico sono inferiori rispetto a quelle disponibile con KMS.
[radeon]
+
 
Server = http://spiralinear.org/perry3d/$arch/
+
Usare il repository [radeon] (non supportato) per abilitare il risparmio energetico. Questo repository garantisce pacchetti aggiornati del driver radeon e delle sue dipendenze, prelevati principalmente da snapshot dei sorgenti su git.
</pre>
+
 
 +
{{bc|1=
 +
[mesa-git]
 +
Server = http://pkgbuild.com/~lcarlier/$repo/$arch/
 +
}}
  
 
Ecco come selezionare i profili di risparmio energetico tramite sysfs:
 
Ecco come selezionare i profili di risparmio energetico tramite sysfs:
  
Avendo accesso come root, hai due possibilita':
+
Avendo accesso come root, si hanno due possibilità:
  
 
1. '''Variazione dinamica della frequenza (a seconda del carico della GPU)'''
 
1. '''Variazione dinamica della frequenza (a seconda del carico della GPU)'''
  
<code>
+
{{bc|# echo dynpm > /sys/class/drm/card0/device/power_method}}
  echo dynpm > /sys/class/drm/card0/device/power_method
+
</code>
+
  
Il metodo "dynpm" varia dinamicamente le frequenze di clock in base al carico della gpu. In questo modo le performance aumentano quando si stanno eseguendo applicazioni intensive per la gpu, e diminuiscono quando la GPU e' inattiva. La modifica delle frequenze di clock potrebbe portare ad uno sfarfallio del video, quando si stanno usando piu' monitor. Per questo motivo il profilo dynpm funziona solo quando e' collegato un solo monitor.
+
Il metodo "dynpm" varia dinamicamente le frequenze di clock in base al carico della gpu. In questo modo le performance aumentano quando si stanno eseguendo applicazioni intensive per la gpu, e diminuiscono quando la GPU e' inattiva. La modifica delle frequenze di clock viene tentata durante i periodi di blanking verticale, ma a causa dei timing delle funzioni di reclocking, non sempre si riesce a portarla a termine nel periodo di blanking, questo potrebbe portare ad uno sfarfallio del video. Per questo motivo il profilo dynpm funziona solo quando e' collegato un solo monitor.
  
 
{{Nota|L'uso dei "profili" descritto sotto e' meno aggressivo del metodo "dynpm", ma in questo momento e' molto piu' stabile e senza rischi di sfarfallio e funziona anche con piu' monitor collegati.}}
 
{{Nota|L'uso dei "profili" descritto sotto e' meno aggressivo del metodo "dynpm", ma in questo momento e' molto piu' stabile e senza rischi di sfarfallio e funziona anche con piu' monitor collegati.}}
Line 205: Line 201:
 
2. '''Variazione della frequenza, basata su Profili'''
 
2. '''Variazione della frequenza, basata su Profili'''
  
<code>
+
{{bc|echo profile > /sys/class/drm/card0/device/power_method}}
  echo profile > /sys/class/drm/card0/device/power_method
+
Il metodo "profile" permette di selezionare uno dei 5 profili riportati sotto. Ogni profilo modifica la frequenza e/o il voltaggio della scheda video.
</code>
+
 
+
Il metodo "profile" permette di selezionare uno dei 5 profili riportati sotto.
+
Ogni profilo modifica la frequenza e/o il voltaggio della scheda video.
+
  
 
* "default": usa le impostazioni di default (frequenza e voltaggio sono quelli massimi di fabbrica). Questo e' il profilo predefinito.
 
* "default": usa le impostazioni di default (frequenza e voltaggio sono quelli massimi di fabbrica). Questo e' il profilo predefinito.
Line 220: Line 212:
 
Per esempio se vogliamo usare il profilo "low"... eseguiamo questo comando:
 
Per esempio se vogliamo usare il profilo "low"... eseguiamo questo comando:
  
<code>
+
{{bc|echo low > /sys/class/drm/card0/device/power_profile}}
  echo low > /sys/class/drm/card0/device/power_profile
+
</code>
+
  
 
Sostituire "low" con uno dei profili possibili.
 
Sostituire "low" con uno dei profili possibili.
  
{{Nota|Impostare un valore in questo file non vale in modo permanente, quando hai scelto il profilo, hai bisogno di aggiungere questo comando al file /etc/rc.local (per esempio), in modo tale che venga eseguito all'avvio del sistema.}}
+
{{Nota|Impostare un valore in questo file non vale in modo permanente. Per ottenere ciò, usare un [[Systemd (Italiano)#File temporanei|file temporaneo di systemd]] o una regola di [[udev (Italiano)]]}}
  
Questa gestione del risparmio energetico e' supportata su tutte le schede (r1xx-evergreen) che includono una tabella degli stati energetici all'interno del vbios; alcune schede potrebbero non averne il supporto (specialmente alcune vecchie schede per desktop).
+
{{Nota| Gli utenti di Gnome-shell potrebbero essere interessati all'estensione [https://extensions.gnome.org/extension/356/radeon-power-profile-manager Radeon Power Profile Manager] per il controllo manuale dei profili della GPU.}}
  
Per visualizzare informazioni sulle frequenze di clock e sul voltaggio della gpu, esegui questo comando, otterrai qualcosa del genere:
+
{{hc|/etc/tmpfiles.d/radeon-pm.conf|<nowiki>
 +
w /sys/class/drm/card0/device/power_method - - - - dynpm</nowiki>}}
  
<code>
+
{{hc|/etc/udev/rules.d/30-local.rules|<nowiki>
~$ cat /sys/kernel/debug/dri/0/radeon_pm_info
+
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="auto"</nowiki>}}
  state: PM_STATE_ENABLED
+
  default engine clock: 300000 kHz
+
{{Nota|
  current engine clock: 300720 kHz
+
* Se la regola precedente dovesse fallire, provare a rimuovere '/dri' da essa.
  default memory clock: 200000 kHz
+
* Un'altra opzione dello stesso autore per utenti che non usano Gnome-shell (con qualche opzione in più) scritta in PyQt4 è Radeon-tray [https://github.com/StuntsPT/Radeon-tray].
</code>
+
Questa gestione del risparmio energetico e' supportata su tutte le schede (r1xx-evergreen) che includono una tabella degli stati energetici appropriata all'interno del vbios; alcune schede potrebbero non averne il supporto (specialmente alcune vecchie schede per desktop).
  
Se /sys/kernel/debug e' vuota...esegui questo comando(e' capitato a me, non so' perche'):
+
Per visualizzare informazioni sulle frequenze di clock della gpu, eseguire questo comando. Si otterrà qualcosa del genere:
<code>
+
 
  mount -t debugfs none /sys/kernel/debug
+
{{hc|$ cat /sys/kernel/debug/dri/0/radeon_pm_info|
</code>
+
state: PM_STATE_ENABLED
 +
default engine clock: 300000 kHz
 +
current engine clock: 300720 kHz
 +
default memory clock: 200000 kHz
 +
}}
 +
 
 +
Se {{ic|/sys/kernel/debug}} fosse vuota, eseguire questo comando:
 +
{{bc|# mount -t debugfs none /sys/kernel/debug}}
 +
 
 +
Per montare il filesystem permanentemente, aggiungere questa riga ad {{ic|/etc/fstab}}
 +
 
 +
{{bc|debugfs  /sys/kernel/debug  debugfs  defaults  0  0}}
  
 
Comunque tutto dipende dal modello di scheda video, dalla versione del driver radeon, dalla versione del kernel, etc. Potrebbe capitare di non avere a disposizione molte regolazioni.
 
Comunque tutto dipende dal modello di scheda video, dalla versione del driver radeon, dalla versione del kernel, etc. Potrebbe capitare di non avere a disposizione molte regolazioni.
  
I sensori termici sono implementati con chip i2c o tramite sensori termici interni (per esempio nella rv6xx-evergreen). Per avere la temperatura sulle schede che usano chip i2c, hai bisogno di caricare il driver hwmon appropriato per il sensore usato (lm63, lm64, etc.). Il drm cerca di caricare il driver hwmon appropriato. Sulle schede che usano sensori termici interni, il drm impostera' l'interfaccia hwmon automaticamente. Una volta caricato il driver corretto, le temperature possono essere viste usando i tools lm_sensors o tramite sysfs in /sys/class/hwmon.
+
I sensori termici sono implementati con chip i2c o tramite sensori termici interni (per esempio nella rv6xx-evergreen). Per avere la temperatura sulle schede che usano chip i2c, bisogna caricare il driver hwmon appropriato per il sensore usato (lm63, lm64, etc.). Il drm cercherà di caricare il driver hwmon appropriato. Sulle schede che usano sensori termici interni, il drm imposterà l'interfaccia hwmon automaticamente. Una volta caricato il driver corretto, le temperature possono essere viste usando i tools lm_sensors o tramite sysfs in /sys/class/hwmon.
  
Ho sviluppato una piccola gui: [http://power-play-switcher.googlecode.com/svn/trunk/PowerPlaySwitcher-0.2.zip PowerPlaySwitcher] (questa e' una versione iniziale)
+
C'è una piccola gui per passare da un profilo all'altro:{{AUR|power-play-switcher>}})
  
 
=== Senza KMS ===
 
=== Senza KMS ===
  
Nel file {{filename|xorg.conf}}, aggiungere due linee alla ''"Device" Section'':
+
Nel file {{ic|xorg.conf}}, aggiungere due linee alla sezione ''Device'':
 
         Option      "DynamicPM"          "on"
 
         Option      "DynamicPM"          "on"
 
         Option      "ClockGating"        "on"
 
         Option      "ClockGating"        "on"
  
Se le due opzioni vengono attivate con successo, è possibile trovare un riscontro in {{filename|/var/log/Xorg.0.log}}:
+
Se le due opzioni vengono attivate con successo, è possibile trovare un riscontro in {{ic|/var/log/Xorg.0.log}}:
  
 
         (**) RADEON(0): Option "ClockGating" "on"
 
         (**) RADEON(0): Option "ClockGating" "on"
Line 266: Line 268:
 
         (II) RADEON(0): Dynamic Power Management Enabled
 
         (II) RADEON(0): Dynamic Power Management Enabled
  
Se si necessita di un profilo energetico a basso consumo, è possibile aggiungere la linea seguente alla ''"Device" Section'' di {{filename|xorg.conf}}:
+
Se si necessita di un profilo energetico a basso consumo, è possibile aggiungere la linea seguente alla sezione ''Device'' di {{ic|xorg.conf}}:
 
         Option      "ForceLowPowerMode"  "on"
 
         Option      "ForceLowPowerMode"  "on"
  
Line 275: Line 277:
 
Per il momento è qualcosa di un po' limitato, non sempre l'autorilevamento del segnale lavora correttamente e solamente il modo NTSC è funzionante.
 
Per il momento è qualcosa di un po' limitato, non sempre l'autorilevamento del segnale lavora correttamente e solamente il modo NTSC è funzionante.
  
Per prima cosa, controllare di avere un'uscita S-video: <code>xrandr</code> dovrebbe restituire qualcosa di simile a
+
Per prima cosa, controllare di avere un'uscita S-video: {{ic|xrandr}} dovrebbe restituire qualcosa di simile a
Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
+
{{bc|Screen 0: minimum 320x200, current 1024x768, maximum 1280x1200
...
+
...
 
  S-video disconnected (normal left inverted right x axis y axis)
 
  S-video disconnected (normal left inverted right x axis y axis)
 +
}}
  
Ora bisognerà comunicare a Xorg che è attualmente connesso (assicurarsi che lo sia)
 
xrandr --output S-video --set load_detection 1
 
 
Configurare lo standard tv da usare:
 
Configurare lo standard tv da usare:
xrandr --output S-video --set tv_standard ntsc
+
{{bc|xrandr --output S-video --set "tv standard" ntsc}}
  
 
Aggiungere un modo (attualmente l'unica risoluzione disponibile è 800x600):
 
Aggiungere un modo (attualmente l'unica risoluzione disponibile è 800x600):
xrandr --addmode S-video 800x600
+
{{bc|xrandr --addmode S-video 800x600}}
 
Si può propendere per un modo "clone":
 
Si può propendere per un modo "clone":
xrandr --output S-video --same-as VGA-0  
+
{{bc| xrandr --output S-video --same-as VGA-0  
xrandr --output S-video --mode 800x600
+
xrandr --output S-video --mode 800x600
 
+
}}
 
A questo punto si dovrebbe vedere una versione 800x600 del proprio deskyop sulla TV.
 
A questo punto si dovrebbe vedere una versione 800x600 del proprio deskyop sulla TV.
  
 
Per disabilitare l'output, dare
 
Per disabilitare l'output, dare
xrandr --output S-video --off
+
{{bc|xrandr --output S-video --off}}
 
Potrebbe anche verificarsi che il video viene visualizzato solo sul monitor e non sulla TV. Dove la copertura Xv viene inviata e controllata da XV_CRTC.
 
Potrebbe anche verificarsi che il video viene visualizzato solo sul monitor e non sulla TV. Dove la copertura Xv viene inviata e controllata da XV_CRTC.
  
 
Per inviare il segnale di output alla TV, dare
 
Per inviare il segnale di output alla TV, dare
xvattr -a XV_CRTC -v 1
+
{{bc|xvattr -a XV_CRTC -v 1}}
  
{{Note| È necessario installare '''xvattr''' da [[AUR]] per poi eseguire comando.}}
+
{{Note| È necessario installare {{AUR|xvattr}} per poter eseguire questo comando.}}
  
Per tornare indietro al proprio monitor si può cambiare questo a <code>0</code>. <code>-1</code> è usato per intercambi automatici in configurazioni dualhead.
+
Per tornare indietro al proprio monitor si può cambiare questo a {{ic|0}}. {{ic|-1}} è usato per intercambi automatici in configurazioni dualhead.
  
 
Consultare [http://www.x.org/wiki/radeonTV Enabling TV-Out Statically] per informazioni su attivazione uscita TV nel file di configurazione xorg.
 
Consultare [http://www.x.org/wiki/radeonTV Enabling TV-Out Statically] per informazioni su attivazione uscita TV nel file di configurazione xorg.
Line 308: Line 309:
 
===Forzare l'utilizzo dell'uscita TV con KMS ===
 
===Forzare l'utilizzo dell'uscita TV con KMS ===
  
Il kernel riconosce il parametro video= nella seguente forma:
+
Il kernel riconosce il parametro {{ic|1=video=}} nella seguente forma (consultare [[KMS]]):
  video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
+
{{bc|video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]}}
(consultare http://nouveau.freedesktop.org/wiki/KernelModeSetting)
+
  
 
Per esempio:
 
Per esempio:
  
  video=DVI-I-1:1280x1024-24@60e
+
{{bc|video=DVI-I-1:1280x1024-24@60e}}
o
+
 
  video=9-pin DIN-1:1024x768-24@60e
+
I parametri contenenti spazi bianchi dovrebbe venire racchiusi tra doppi apici.
 +
 
 +
{{bc|"video=9-pin DIN-1:1024x768-24@60e"}}
 +
 
 +
L'attuale implementazione di mkinitcpio richiede anche che un {{ic|#}} sia posto ad inizio riga. Per esempio:
  
I parametri contenenti spazi bianchi dovrebbe venire racchiusi tra doppi apici. L'attuale implementazione di mkinitcpio richiede anche che un # sia posto ad inizio riga. Per esempio
+
{{bc|root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"}}
  root=/dev/disk/by-uuid/d950a14f-fc0c-451d-b0d4-f95c2adefee3 ro quiet radeon.modeset=1 security=none # video=DVI-I-1:1280x1024-24@60e "video=9-pin DIN-1:1024x768-24@60e"
+
  
 
* Grub riesce a passare il comando così com'è
 
* Grub riesce a passare il comando così com'è
* Lilo necessita dell'utilizzo del backslash per il riconoscimento del carattere "doppi apici" (append="...... # .... \"video=9-pin DIN-1:1024x768-24@60e\"")
+
* Lilo necessita dell'utilizzo del backslash per il riconoscimento del carattere "doppi apici" (append {ic|1=# \"video=9-pin DIN-1:1024x768-24@60e\"}})
  
 
È possibili ottenere una lista delle uscite video disponibili per la propria scheda tramite il comando:
 
È possibili ottenere una lista delle uscite video disponibili per la propria scheda tramite il comando:
  
  <pre>ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-</pre>
+
{{bc|<nowiki>$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-</nowiki>}}
  
 
== Audio su HDMI ==
 
== Audio su HDMI ==
  
Con i driver'''xf86-video-ati''' è possibile abilitare l'uscita audio HDMI per tutti i chipset supportati fino a r7xx, quando si utilizza [[ATI#Kernel_mode-setting_.28KMS.29|KMS]]. Basta utilizzare {{codeline|xrandr}} per consentire l'uscita audio e provare ad eseguire un test.
+
L'audio HDMI è supportato dai driver video del pacchetto {{Pkg|xf86-video-ati}}. Di default il modulo necessario è disabilitato nelle versioni del kernel &gt;&#61;3.0. . In ogni caso, se la propria scheda risulta supportata ([http://www.x.org/wiki/RadeonFeature Radeon Feature Matrix]) è possibile aggiungere {{ic|radeon.audio&#61;1}} ai [[Kernel parameters|parametri del kernel]]. Per esempio:
  
=== Testing HDMI Audio ===
+
{hc|/boot/syslinux/syslinux.cfg|
Riavviare X, e poi verificare che l'audio sia effettivamente transmesso alla TV dal cavo HDMI.
+
LABEL arch
# Collegare per prima cosa il PC alla TV con il cavo HDMI.
+
    MENU LABEL Arch Linux
# Usare xrandr per ottenere l'immagine alla TV. Ex: <code>xrandr --output DVI-D_1 --mode 1280x768 --right-of PANEL</code>. Digitare semplicemente <code>xrandr</code> che restituirà una lista di segnali output validi.
+
    LINUX ../vmlinuz-linux
# Dare <code>aplay -l</code> per una lista di dispositivi audio disponibili, localizzare HDMI e annotare il numero della scheda e il corrispondente numero di dispositivo. Un esempio di cosa si dovrebbe ottenere: <code>card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]</code>
+
    APPEND root&#61;/dev/sda1 ro radeon.audio&#61;1
# Provare ad inviare dall'audio al dispositivo: <code>aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Center.wav</code>. Assicurarsi di cambiare plughw:z,y ed adattare il proprio numero hardware ottenuto con l'ultimo comando. A questo punto si dovrebbe essere in grado di sentire un test audio dalla TV.
+
    INITRD ../initramfs-linux.img
 +
}}
 +
 
 +
Se l'audio HDMI non dovesse completamente funzionare dopo l'installazione del driver, verificare la propria configurazione seguendo la procedura proposta [[Advanced Linux Sound Architecture (Italiano)#L'uscita HDMI non funziona|qui]].
 +
 
 +
{{Nota|Al momento della stesura di questo articolo (2013-05-20), i driver per le [http://www.x.org/wiki/RadeonFeature#Decoder_ring_for_engineering_vs_marketing_names schede Southern Islands] non supportano l'audio HDMI.}}
 +
* Il modulo del kernel {{ic|radeon.audio}} funziona solo se il [[#Kernel mode-setting (KMS)]] è abilitato. Di default '''xf86-video-ati''' abilita il KMS.
 +
* Se il suono risultasse distorto, provare [[PulseAudio_(Italiano)#Artefatti_sonori.2C_audio_intermittente_o_gracchiante| a impostare tsched=0]] ed assicurarsi che il demone {{ic|rtkit}} sia avviato.
  
 
==Configurare la modalità  Dual Head ==
 
==Configurare la modalità  Dual Head ==
Line 352: Line 362:
 
         Screen          0
 
         Screen          0
 
         EndSection
 
         EndSection
 
  
 
Questo può essere un salva-vita, perché alcune schede che hanno più di due uscite (per esempio una su HDMI, una DVI, una VGA), saranno solo selezionabili e utilizzabili le uscite HDMI+DVI per la configurazione dual-head, a meno che non diversamente specificato tramite 'ZaphodHeads' 'VGA-0'.  
 
Questo può essere un salva-vita, perché alcune schede che hanno più di due uscite (per esempio una su HDMI, una DVI, una VGA), saranno solo selezionabili e utilizzabili le uscite HDMI+DVI per la configurazione dual-head, a meno che non diversamente specificato tramite 'ZaphodHeads' 'VGA-0'.  
  
 
Inoltre, questa opzione consente di selezionare facilmente la schermata che si desidera contrassegnare come primario.
 
Inoltre, questa opzione consente di selezionare facilmente la schermata che si desidera contrassegnare come primario.
 +
 +
==Abilitare l'accelerazione video ==
 +
 +
L'ultima versione del pacchetto {{pkg|mesa}} ha aggiunto il supporto alla decodifica per MPEG1/2 ai driver liberi, esportandola tramite {{pkg|libvdpau}}. Dopo averlo installato, assegnare il valore {{Ic|vdpau}} alla variabile d'ambiente {{Ic|LIBVA_DRIVER_NAME}}  il nome del core del driver a {{Ic|VDPAU_DRIVER}}, ad es.:
 +
 +
{{hc|1=~/.bashrc|2=
 +
export LIBVA_DRIVER_NAME=vdpau
 +
export VDPAU_DRIVER=r600
 +
}}
 +
 +
== Disabilitare il vsync ==
 +
 +
Il driver radeon abiliterà la sincronia verticale di default, scelta adatta ad ogni situazione fuorchè il misuramento delle prestazioni. Per disabilitarla, creare il file {{ic|~/.drirc}} (o modificarlo se già esistente) ed aggiungere la sezione seguente:
 +
{{hc|~/.drirc|<nowiki>
 +
<driconf>
 +
    <device screen="0" driver="dri2">
 +
        <application name="Default">
 +
            <option name="vblank_mode" value="0" />
 +
        </application>
 +
    </device>
 +
    <!-- Other devices ... -->
 +
</driconf>
 +
</nowiki>}}
 +
Come valore del campo driver, bisogna inserire precisamente '''dri2''', e non il codice della propria scheda video (come ad es. r600).
  
 
== Risoluzione dei problemi ==
 
== Risoluzione dei problemi ==
Line 362: Line 395:
 
=== Rilevo artefatti quando effettuo il login nel mio DE o WM ===
 
=== Rilevo artefatti quando effettuo il login nel mio DE o WM ===
  
Se si riscontrano artefatti grafici, per prima cosa provare ad avviare X senza l'ausilio del file {{Filename|/etc/X11/xorg.conf}}. Le ultime versioni di Xorg sono affidabili e in grado di effettuare un  rilevamento automatico e auto-configurazione nella maggior parte dei casi l'uso. File {{Filename|xorg.conf}} obsoleti o non correttamente configurati sono noti per causare conflitti.  
+
Se si riscontrano artefatti grafici, per prima cosa provare ad avviare X senza l'ausilio del file {{ic|/etc/X11/xorg.conf}}. Le ultime versioni di Xorg sono affidabili e in grado di effettuare un  rilevamento automatico e auto-configurazione nella maggior parte dei casi l'uso. File {{ic|xorg.conf}} obsoleti o non correttamente configurati sono noti per causare conflitti.  
  
Per poter funzionare senza un file di configurazione, si raccomanda che il pacchetto del gruppo <tt>xorg-input-drivers</tt> sia installato.
+
Per poter funzionare senza un file di configurazione, si raccomanda che il pacchetto del gruppo {{ic|xorg-input-drivers}} sia installato.
  
 
È possibile che questi problemi siano legati a KMS. Se questo è il problema, vedi [[ATI_(Italiano)#Disabilitare KMS |Disabilitare KMS.]]
 
È possibile che questi problemi siano legati a KMS. Se questo è il problema, vedi [[ATI_(Italiano)#Disabilitare KMS |Disabilitare KMS.]]
  
Si può anche provare a disabilitare EXAPixmaps nella sezione "Device" di xorg.conf:
+
Si può anche provare a disabilitare EXAPixmaps nella sezione "Device" di {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}}::
  
{{file|name=/etc/X11/xorg.conf|content=
+
{{hc|/etc/X11/xorg.conf|
 
.....
 
.....
 
Option "EXAPixmaps" "off"
 
Option "EXAPixmaps" "off"
Line 378: Line 411:
 
Anche l'opzione AccelDFS sembra essere causa di artefatti, provare a disabilitarla con questa stringa
 
Anche l'opzione AccelDFS sembra essere causa di artefatti, provare a disabilitarla con questa stringa
  
{{file|name=/etc/X11/xorg.conf|content=
+
{{hc|/etc/X11/xorg.conf.d/20-radeon.conf|
 
.....
 
.....
 
Option "AccelDFS" "off"
 
Option "AccelDFS" "off"
Line 384: Line 417:
 
}}
 
}}
  
=== Ho installato un driver libero e la mia scheda video è tremendamente lenta ===
+
=== Aggiungere risoluzioni non rilevate ===
  
Alcune schede video possono essere installate di base provando ad usare  [[ATI#AMD/Ati cards and kernel mode-setting (KMS) |KMS]]. Puoi controllare se ciò accade nel tuo caso lanciando:
+
ad es. se la rilevazione dall'EDID fallisce su una connessione DisplayPort.
 +
 
 +
Questo problema è affrontato nella pagina di [[Xrandr#Adding_undetected_resolutions|Xrandr]].
 +
=== Performance scadenti con driver libero ===
 +
 
 +
Alcune schede video possono essere installate di base provando ad usare  [[ATI#AMD/Ati cards and kernel mode-setting (KMS) |KMS]]. È possibile verificare se è questo il caso lanciando:
 
  dmesg | egrep "drm|radeon"
 
  dmesg | egrep "drm|radeon"
  
Questo comando dovrebbe mostrarti qualcosa ''come'' questo, ciò significa che la tua scheda sta provando ad usare KMS:
+
Questo comando dovrebbe mostrare qualcosa ''come'' questo, ciò significa che la scheda sta provando ad usare KMS:
 
  [drm] radeon default to kernel modesetting.
 
  [drm] radeon default to kernel modesetting.
 
  ...
 
  ...
 
  [drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon, disabling IOCTL
 
  [drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon, disabling IOCTL
  
Se la tua scheda non è supportata per KMS (qualunque scheda più vecchia de r100), allora puoi [[ATI#Disable KMS|disable KMS]]. Questo dovrebbe risolvere il problema.
+
Se la scheda non è supportata da KMS (qualunque scheda più vecchia di r100), allora è possibile [[#Disabilitare_KMS|disabilitare KMS]]. Questo dovrebbe risolvere il problema.
 +
 
 +
=== L'AGP è disabilitato (con il KMS) ===
 +
 
 +
Se si riscontrano prestazioni scadenti, e dmesg mostra qualcosa del genere
 +
[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19
 +
verificare che il driver AGP della propria scheda madre (ad es., {{ic|via_agp}}, {{ic|intel_agp}} etc.) sia caricato prima del modulo {{ic|radeon}}, consultare [[#Abilitare KMS]]
  
 
=== Collegando un TV viene mostrato un bordo nero attorno allo schermo ===
 
=== Collegando un TV viene mostrato un bordo nero attorno allo schermo ===
Line 400: Line 444:
 
Se collegando un TV ad una Radeon 5770 tramite l'uscita HDMI, viene mostrata un'immagine sfocata con un bordo nero nero di 2-3cm, ciò è dovuto alla protezione da [[wikipedia:http://en.wikipedia.org/wiki/Overscan#Overscan_in_computers|overscan]], che può essere disabilitata tramite xrandr
 
Se collegando un TV ad una Radeon 5770 tramite l'uscita HDMI, viene mostrata un'immagine sfocata con un bordo nero nero di 2-3cm, ciò è dovuto alla protezione da [[wikipedia:http://en.wikipedia.org/wiki/Overscan#Overscan_in_computers|overscan]], che può essere disabilitata tramite xrandr
  
{{cli|xrandr --output HDMI-0 --set underscan off}}
+
{{bc|xrandr --output HDMI-0 --set underscan off}}
 +
 
 +
=== Schermo nero con cursore del mouse visibile al resume dalla sospensione ===
 +
 
 +
Risvegliando dalla sospensione un sistema dotato di scheda video con un quantitativo di Ram inferiore o uguale a 32 MB, può risultare in uno schermo nero col solo puntatore visibile. Alcune parti dello schermo potrebbero venire rivisualizzate al passaggio del puntatore. Forzando l'abilitazione di {{ic|EXAPixmaps}} all'interno di {{ic|/etc/X11/xorg.conf.d/20-radeon.conf}} il problema potrebbe venire risolto. Consultare il paragrafo [[#Ottimizzazione prestazioni|Ottimizzazione prestazioni]] per ulteriori informazioni.
 +
 
 +
=== Nessun effetto desktop in KDE4 con la X1300 ed i driver Radeon ===
 +
 
 +
Un bug di KDE4 può impedire un controllo video accurato, avendo come conseguenza la disattivazione degli effetti desktop, nonostante la X1300 disponga di una potenza di calcolo ben superiore a quella necessaria. Un workaround potrebbe essere quello di sovrascrivere manualmente tale controllo nei file di configurazione di KDE {{ic|/usr/share/kde-settings/kde-profile/default/share/config/kwinrc}} e/o {{ic|.kde/share/config/kwinrc}} aggiungendo il seguente codice alla sezione {{ic|[Composoting]}}:
 +
 
 +
{{bc|<nowiki>DisableChecks=true
 +
Enabled=true</nowiki>
 +
}}
  
 
=== Schermo nero e nessuna console visualizzata, ma X funzionante sotto KMS ===
 
=== Schermo nero e nessuna console visualizzata, ma X funzionante sotto KMS ===
Questa è una soluzione ad un problema di non visualizzazione della console che potrebbe presentarsi utilizzando 2 sistemi dotati di due schede ATI, come ad esempio il laptop Fujitsu Siemens Amilo PA 3553. Ciò è dovuto al driver di framebuffer fbcon che esegue la propria mappatura sul dispositivo framebuffer riferito alla scheda video sbagliata. Questo problema può essere risolto aggiungendo alla riga di boot del kernel il parametro
+
Questa è una soluzione ad un problema di non visualizzazione della console che potrebbe presentarsi utilizzando 2 o più schede video ATI sullo stesso sistema, come ad esempio il laptop Fujitsu Siemens Amilo PA 3553. Ciò è dovuto al driver di framebuffer {{ic|fbcon}} che esegue la propria mappatura sul dispositivo framebuffer riferito alla scheda video sbagliata. Questo problema può essere risolto aggiungendo alla riga di boot del kernel il parametro
{{codeline|fbcon<nowiki>=</nowiki>map:1}}
+
{{Ic|fbcon<nowiki>=</nowiki>map:1}}
In questo modo si istruirà il driver fbcon ad effettuare la mappatura sul dispositivo framebuffer /dev/fb1 anzichè sul /dev/fb0, che nel caso in esame è la scheda sbagliata.
+
In questo modo si istruirà il driver fbcon ad effettuare la mappatura sul dispositivo framebuffer {{ic|/dev/fb1}} anzichè sul {{ic|/dev/fb0}}, che nel caso in esame è la scheda sbagliata.
 +
 
 +
=== Alcune applicazioni 3d vanno in crash o mostrano alcune textures completamente nere ===
 +
Si potrebbe aver bisogno del supporto alle texture compresse, che non è incluso nei driver liberi. Installare {{pkg|libtxc_dxtn}} oppure {{pkg|lib32-libtxc_dxtn}} per sistemi multilib.
 +
 
 +
=== Prestazioni 2D (ad esempio lo scroll) scadenti ===
 +
Se si hanno problemi di prestazioni in 2D, ad esempio una lentezza inconsueta nello scrolling all'interno della finestra del browser o di un altro programma, potrebbe essere necessario aggiungere {{ic|Option  "MigrationHeuristic"  "greedy"}} nella sezione {{ic|"Device"}} del proprio file {{ic|xorg.conf}}.
 +
Di seguito è mostrato un esempio di configurazione del file {{ic|/etc/X11/xorg.conf.d/'''20-radeon.conf'''}}:
 +
{{bc|
 +
Section "Device"
 +
        Identifier  "My Graphics Card"
 +
        Driver  "radeon"
 +
        Option  "MigrationHeuristic"  "greedy"
 +
EndSection
 +
}}
 +
 
 +
 
 +
=== Applicazioni 3d mostrano finestra nera su ATI X1600 (RV530) ===
 +
 
 +
Ci sono tre possibili soluzioni:
 +
* Provare ad aggiungere {{ic|<nowiki>pci=nomsi</nowiki>}} ai [[Kernel parameters|parametri del kernel]] del proprio boot loader.
 +
* Se questo non dovesse sortire alcun effetto, provare a inserire {{ic|noapic}} al posto di {{ic|<nowiki>pci=nomsi</nowiki>}}.
 +
* In ultima istanza, si può provare ad eseguire {{ic|<nowiki>vblank_mode=0 glxgears</nowiki>}} o {{ic|<nowiki>vblank_mode=1 glxgears</nowiki>}} e verificare quale dei due funziona, quindi installare {{ic|driconf}} via pacman ed impostare quell'opzione in {{ic|~/.drirc}}.

Revision as of 10:16, 2 February 2014

I possessori di schede video AMD possono scegliere tra i driver proprietari ATI/AMD (catalystAUR) e i driver open source(xf86-video-ati).

Attualmente, le performance dei driver open source non sono alla pari con i driver proprietari in termini di prestazioni 3D e mancano di alcune caratteristiche, come il supporto TV-out. Tuttavia, offrono un miglior supporto dual-head, un eccellente accelerazione 2D, e forniscono l'accelerazione 3D necessaria ai vari Window Manager che sfruttano le accelerazioni OpenGL, come Compiz o KWin.

In caso si incertezza, provare in primo luogo i driver open source; sono adatti alla maggior parte delle necessità e sono generalmente più flessibili e meno problematici. (vedere la tabella delle caratteristiche per i dettagli.) Per una panoramica riservata ai driver proprietari ATI "Catalyst" e la loro configurazione, consultare ATI Catalyst; questo articolo copre solamente i driver open source. I driver ATI Catalyst non sono ufficialmente supportati in Arch Linux.

Convenzione dei nomi

Il marchio ATI Radeon segue uno schema di nomenclatura che collega ogni prodotto ad un settore di mercato. All'interno di questo articolo, si utilizzerà la nomenclatura sia in base al nome del prodotto (Es. HD 4850, X1900) che in base al nome in codice o del core (Es. RV770, R580). Solitamente, una serie di prodotti corrisponderà ad una serie di core (Es. la serie dei prodotti "X1000" include tutti i prodotti X1300, X1600, X1800, e X1900 i quali utilizzano la dei core della serie "R500" – che includono i core RV515, RV530, R520, e R580).

Per una tabella completa di comparazione tra i nomi dei prodotti ed i relativi core, vedere Wikipedia:Comparison of AMD graphics processing units.

Panoramica

I driver xf86-video-ati (radeon)

  • Funzionano con i chipset Radeon fino a HD 6xxx e 7xxxM (ultimi chipset Northern Islands).
    • Le schede della serie HD 77xx (Southern Islands) hanno un supporto solo parziale. Controllare la feature matrix per verificare quali funzioni non sono supportate.
    • Le schede Radeon della serie X1xxx sono pienamente supportate, stabili, e forniscono una piena accelerazione 2D e 3D.
    • Le schede Radeon dalla serie HD2xxx alla HD6xxx hanno pieno supporto all'accelerazione 2D ed una accelerazione 3D funzionale, ma non supportano tutte le caratteristiche che vengono fornite dai driver proprietari.
  • Supportano DRI1, RandR 1.2/1.3, accelerazione EXA e kernel mode-setting/DRI2 (con le ultime versione del kernel Linux, libdrm e Mesa).

Generalmente ,xf86-video-ati dovrebbe essere la prima scelta, indipendentemente dalla scheda ATI di cui si è in possesso. In caso sia necessario usare un driver per le nuove schede ATI, si dovrebbe considerare il driver proprietario Catalyst.

Nota: xf86-video-ati è riconosciuto come "radeon" dal kernel e da Xorg (in xorg.conf).

Installazione

Installazione di xf86-video-ati

Installare xf86-video-ati, disponibile nei repository ufficiali:

La versione GIT di questi drivers più pacchetti aggiuntivi (linux-git, etc.) possono essere scaricati dai repository radeon o da AUR

Configurazione

Xorg caricherà automaticamente il driver e userà l'EDID monitor per impostare la risoluzione nativa. La configurazione è necessaria solo per l'ottimizzazione del driver.

Se si desidera effettuare una configurazione manuale, creare /etc/X11/xorg.conf.d/20-radeon.conf, e aggiungere quanto segue:

/etc/X11/xorg.conf.d/20-radeon.conf
 Section "Device"
     Identifier "vga"
     Driver "radeon"
 EndSection

Utilizzando questa sezione, è possibile attivare ulteriori funzioni e ottimizzare le impostazioni del driver.

Kernel mode-setting (KMS)

Tip: Se si hanno problemi con la risoluzione, consultare questa pagina.

KMS abilita la risoluzione nativa nel framebuffer e permette l'interscambio istantaneo tra console (tty). KMS abilita inoltre le più recenti tecnologie (come ad esempio DRI2) riducendone eventuali anomalie ed incrementando le prestazioni 3D, oltre al risparmio energetico in kernel-space.

KMS per le schede video ATI richiede il driver opensource di Xorg (Italiano) xf86-video-ati versione 6.12.4 o più recente.

Abilitare KMS

Nota: Dal kernel v.2.6.33, KMS è abilitato di default per le schede ATI/AMD autorilevate. Questa sezione rimane per configurazioni al di fuori della norma.

Avvio rapido

Questi due metodi avvieranno KMS il più presto possibile durante il processo d'avvio.

1. Il primo metodo consiste nell'aggiungere alla riga di boot del kernel il parametro radeon.modeset=1. Consultare la pagina relativa al proprio bootloader per sapere come fare.

  • Rimuovere qualsiasi opzione vga= dalla linea del kernel nel file di configurazione del bootloader. L'uso di altri driver del framebuffer (come uvesafb o radeonfb) provocherebbe conflitti con KMS.
  • La velocità dell'AGP può essere impostata con il parametro radeon.agpmode=x, dove x può assumere i valori 1, 2, 4, 8 (velocità AGP) o -1 (PCI mode).

2. Altrimenti, quando l'initramfs è caricato:

  • Se si utilizza un kernel differente da quello stock -ARCH (ad es. linux-zen), ricordarsi di utilizzare un file di configurazione di mkinitcpio separato (ad es. /etc/mkinitcpio-zen.conf) e non /etc/mkinitcpio.conf.
  • Rimuovere ogni modulo relativo al framebuffer dal proprio mkinitcpio.
  • Aggiungere radeon alla stringa MODULES del proprio file di configurazione di mkinitcpio.conf. A seconda dal chipset della scheda madre, può essere necessario aggiungere intel_agp (o ali_agp, ati_agp, amd_agp, amd64_agp etc.) prima del modulo radeon.
  • Rigenerare initramfs:
  • Riavviare il sistema.

Avvio ritardato

Scegliendo questa modalità, KMS verrà avviato quando i moduli vengono caricati durante il [Arch Boot Process (Italiano)|processo d'avvio]].

Se si sta utilizzando un kernel personalizzato (es:linux-zen), ricordarsi di utilizzare l'appropriato file di configurazione di mkinitcpio. Es: /etc/mkinitcpio-zen.conf. Le seguenti istruzioni valgono per il kernel predefinito (linux).

Nota: Per il supporto all'AGP, potrebbe essere necessario aggiungere {ic
, ali_agp, ati_agp, amd_agp, o amd64_agp) al file .conf appropriato in /etc/modules-load.d.}}
  1. Rimuovere qualsiasi opzione vga= dalla linea del kernel nel file di configurazione del bootloader. L'utilizzo di altri driver del framebuffer (come uvesafb o radeonfb) provocherebbe conflitti con KMS. Rimuovere qualsiasi altro modulo relativo al framebuffer da /etc/mkinitcpio.conf. video= può essere utilizzato in abbinamento a KMS.
  2. Aggiungere options radeon modeset=1 a /etc/modprobe.d/modprobe.conf.
  3. Riavviare il sistema.


Errori e risoluzione dei problemi di KMS

Disabilitare KMS

Dalla versione del kernel Linux 3.9, il driver radeon necessita del kernel mode-setting (il vecchio user mode-setting può ancora essere abilitato in fase di compilazione). Se è presente radeon.modeset=0 (o nomodeset) nella riga di boot del kernel, rimuoverlo. Se è presenteoptions radeon modeset=0 ovunque in /etc/modprobe.d, rimuoverlo.

Rinominare xorg.conf

Rinominare /etc/X11/xorg.conf. Nel caso includa opzioni che vanno in conflitto con KMS, questo forzerà Xorg ad un nuovo e corretto autorilevamento hardware. Dopo averlo rinominato, riavviare Xorg.

Ottimizzazione prestazioni

Applicare le seguenti opzioni a /etc/X11/xorg.conf.d/20-radeon.conf.

In modo predefinito, xf86-video-ati gira impostando la velocità dell'AGP a 4x. In genere è sicuro cambiare questo parametro. In caso di blocchi, ridurre il valore o rimuovere l'intera linea (valori accettabili sono 1, 2, 4, 8). Se si utilizza KMS, questa opzione viene ignorata, e sovrascritta dall'impostazione passata tramite il parametro del kernel radeon.agpmode

       Option "AGPMode" "8"

ColorTiling è totalmente sicuro attivarlo e presumibilmente lo sarà di default. Molti utenti hanno ottenuto un incremento di prestazioni abilitandolo, ma non è ancora supportato su schede con chip R200 e precedenti, sulle quali il carico di lavoro sarà passato alla cpu.

       Option "ColorTiling" "on"

Acceleration architecture; questa opzione sarà disponibile solo su schede video nuove. Se non si può accedere ad X una volta abilitato, rimuoverlo.

       Option "AccelMethod" "EXA"

Page Flip È generalmente sicuro. Se usato su schede più datate, disattiverà EXA. Con i drivers più recenti può tranquillamente essere abilitato insieme a EXA.

       Option "EnablePageFlip" "on" 

AGPFastWrite abilita scritture veloci per schede AGP. Potrebbe creare qualche problema, quindi nel caso, rimuoverlo se non si riesce più ad accedere a X.

       Option "AGPFastWrite" "yes"

EXAVSync Questa opzione cerca di "schivare" certe asimmetrie dell'immagine sul monitor, chiamate tearing, creando una situazione di stallo nel motore finchè il controller del display ha oltrepassato la zona di destinazione. Ciò riduce il tearing con un decremento di prestazioni ed è noto che causi instabilità in alcuni tipi di chip. Molto utile abilitare questa opzione se si abilità l'overlay di Xv su video su un desktop con accelerazione 3D. Non è necessario se KMS (quindi l'accelerazione DRI2) è abilitato.

Option "EXAVSync" "yes"

Un esempio di file di configurazione /etc/X11/xorg.conf.d/20-radeon.conf:

Section "Device"
       Identifier  "My Graphics Card"
        Option	"AGPMode"               "8"   #not used when KMS is on
	Option	"AGPFastWrite"          "off" #could cause instabilities enable it at your own risk
	Option	"SWcursor"              "off" #software cursor might be necessary on some rare occasions, hence set off by default
	Option	"EnablePageFlip"        "on"  #supported on all R/RV/RS4xx and older hardware and set off by default
	Option	"AccelMethod"           "EXA" #valid options are XAA, EXA and Glamor. EXA is the default.
	Option	"RenderAccel"           "on"  #enabled by default on all radeon hardware
	Option	"ColorTiling"           "on"  #enabled by default on RV300 and later radeon cards.
	Option	"EXAVSync"              "off" #default is off, otherwise on. Only works if EXA activated
	Option	"EXAPixmaps"            "on"  #when on icreases 2D performance, but may also cause artifacts on some old cards. Only works if EXA activated
	Option	"AccelDFS"              "on"  #default is off, read the radeon manpage for more information
EndSection

La definizione del gartsize, se non autorilevata, può essere effettuata aggiungendo l'opzione radeon.gartsize=32 ai parametri del kernel. La dimensione è espressa in MegaByte, e 32 è un valore valido per schede con chip RV280. In alternativa, è possibile impostarlo tramite /etc/modprobe.d/radeon.conf: options radeon gartsize=32

Consultare il manuale per ulteriori configurazioni.

man radeon

Un valido strumento da provare è driconf. Permette di modificare diverse configurazioni, come vsync, anisotropic filtering, texture compression, etc. Con questo utile strumento è anche possibile disabilitare il "Low Impact fallback" necessario ad alcuni programmi (es. Google Earth).

Attivare PCI-E 2.0

Può portare problemi di instabilità su alcune schede madri o non aggiungere alcun beneficio, se si vuole comunque provarlo di persona è sufficiente aggiungere "radeon.pcie_gen2=1" alla riga di comando del kernel.

Nota: A partire dal kernel 3.6 , il PCI-E v2.0 nei driver radeon sembra essere attivo di default.

Ulteriori informazioni su questo Articolo di Phoronix

Glamor

Con le versioni più recenti dei driver radeon è possibile utilizzare un nuovo metodo di accelerazione chiamato glamor: è un metodo di accelerazione 2d implementato tramite OpenGL, e dovrebbe funzionare con schede grafiche che montino chip uguali o superiori al R300.

Option "AccelMethod"          "glamor"

È necessario però aggiungere prima qqueste due voci alla sezione Module

Section "Module"
	Load "dri2"
	Load "glamoregl" 
EndSection

Gestione risparmio energetico

La gestione del risparmio energetico è totalmente differente a seconda dell'uso o meno del KMS.

Con KMS abilitato

Il driver radeon di default disabilita la gestione del risparmio energetico, ma è resa disponibile un'utility "sysfs" per abilitarla.

La gestione del risparmio energetico usando KMS e' ancora in fase di sviluppo. Dovrebbe funzionare, ma alcune schede potrebbero dare problemi. Un problema comune e' quello dello schermo lampeggiante quando si passa da un profilo energetico ad un altro, e in alcune configurazioni potrebbe causare un blocco del sistema. Il metodo UMS e' generalmente piu' stabile, ma le opzioni di risparmio energetico sono inferiori rispetto a quelle disponibile con KMS.

Usare il repository [radeon] (non supportato) per abilitare il risparmio energetico. Questo repository garantisce pacchetti aggiornati del driver radeon e delle sue dipendenze, prelevati principalmente da snapshot dei sorgenti su git.

[mesa-git]
Server = http://pkgbuild.com/~lcarlier/$repo/$arch/

Ecco come selezionare i profili di risparmio energetico tramite sysfs:

Avendo accesso come root, si hanno due possibilità:

1. Variazione dinamica della frequenza (a seconda del carico della GPU)

# echo dynpm > /sys/class/drm/card0/device/power_method

Il metodo "dynpm" varia dinamicamente le frequenze di clock in base al carico della gpu. In questo modo le performance aumentano quando si stanno eseguendo applicazioni intensive per la gpu, e diminuiscono quando la GPU e' inattiva. La modifica delle frequenze di clock viene tentata durante i periodi di blanking verticale, ma a causa dei timing delle funzioni di reclocking, non sempre si riesce a portarla a termine nel periodo di blanking, questo potrebbe portare ad uno sfarfallio del video. Per questo motivo il profilo dynpm funziona solo quando e' collegato un solo monitor.

Nota: L'uso dei "profili" descritto sotto e' meno aggressivo del metodo "dynpm", ma in questo momento e' molto piu' stabile e senza rischi di sfarfallio e funziona anche con piu' monitor collegati.

2. Variazione della frequenza, basata su Profili

echo profile > /sys/class/drm/card0/device/power_method

Il metodo "profile" permette di selezionare uno dei 5 profili riportati sotto. Ogni profilo modifica la frequenza e/o il voltaggio della scheda video.

  • "default": usa le impostazioni di default (frequenza e voltaggio sono quelli massimi di fabbrica). Questo e' il profilo predefinito.
  • "auto": seleziona il profilo "mid" quando il computer sta funzionando con la batteria, il profilo "high" quando collegato alla rete elettrica e il profilo "low" quando i monitor sono in stato dpms off (sono spenti o in standby).
  • "low": forza la gpu a funzionare sempre in modalita a basso consumo. Il profilo "low" potrebbe causare problemi di visualizzazione su alcuni portatili; per questo motivo il profilo auto usa la modalita' "low" quando i monitor sono spenti.
  • "mid": forza la gpu a funzionare sempre in modalita medio consumo. Il profilo "low" viene usato quando i monitor sono spenti.
  • "high" forza la gpu a funzionare sempre in modalita alto consumo (prestazioni elevate). Il profilo "low" viene usato quando i monitor sono spenti.

Per esempio se vogliamo usare il profilo "low"... eseguiamo questo comando:

echo low > /sys/class/drm/card0/device/power_profile

Sostituire "low" con uno dei profili possibili.

Nota: Impostare un valore in questo file non vale in modo permanente. Per ottenere ciò, usare un file temporaneo di systemd o una regola di udev (Italiano)
Nota: Gli utenti di Gnome-shell potrebbero essere interessati all'estensione Radeon Power Profile Manager per il controllo manuale dei profili della GPU.
/etc/tmpfiles.d/radeon-pm.conf
w /sys/class/drm/card0/device/power_method - - - - dynpm
/etc/udev/rules.d/30-local.rules
KERNEL=="dri/card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTR{device/power_method}="profile", ATTR{device/power_profile}="auto"
Nota: # \"video=9-pin DIN-1:1024x768-24@60e\"
)

È possibili ottenere una lista delle uscite video disponibili per la propria scheda tramite il comando:

$ ls -1 /sys/class/drm/ | grep -E '^card[[:digit:]]+-' | cut -d- -f2-

Audio su HDMI

L'audio HDMI è supportato dai driver video del pacchetto xf86-video-ati. Di default il modulo necessario è disabilitato nelle versioni del kernel >=3.0. . In ogni caso, se la propria scheda risulta supportata (Radeon Feature Matrix) è possibile aggiungere radeon.audio=1 ai parametri del kernel. Per esempio:

{hc|/boot/syslinux/syslinux.cfg| LABEL arch

   MENU LABEL Arch Linux
   LINUX ../vmlinuz-linux
   APPEND root=/dev/sda1 ro radeon.audio=1
   INITRD ../initramfs-linux.img

}}

Se l'audio HDMI non dovesse completamente funzionare dopo l'installazione del driver, verificare la propria configurazione seguendo la procedura proposta qui.

Nota: Al momento della stesura di questo articolo (2013-05-20), i driver per le schede Southern Islands non supportano l'audio HDMI.
  • Il modulo del kernel radeon.audio funziona solo se il #Kernel mode-setting (KMS) è abilitato. Di default xf86-video-ati abilita il KMS.
  • Se il suono risultasse distorto, provare a impostare tsched=0 ed assicurarsi che il demone rtkit sia avviato.

Configurare la modalità Dual Head

Schermi indipendenti sotto X

Configurazioni indipendenti per il dual-headed possono essere impostate come di consueto. Tuttavia è utile sapere che il driver radeon possiede l'opzione "ZaphodHeads", che consente di associare una specifica sezione del dispositivo a un output di vostra scelta, utilizzando per esempio:

       Section "Device"
       Identifier     "Device0"
       Driver         "radeon"
       Option         "ZaphodHeads"   "VGA-0"
       VendorName     "ATI"
       BusID          "PCI:1:0:0"
       Screen          0
       EndSection

Questo può essere un salva-vita, perché alcune schede che hanno più di due uscite (per esempio una su HDMI, una DVI, una VGA), saranno solo selezionabili e utilizzabili le uscite HDMI+DVI per la configurazione dual-head, a meno che non diversamente specificato tramite 'ZaphodHeads' 'VGA-0'.

Inoltre, questa opzione consente di selezionare facilmente la schermata che si desidera contrassegnare come primario.

Abilitare l'accelerazione video

L'ultima versione del pacchetto mesa ha aggiunto il supporto alla decodifica per MPEG1/2 ai driver liberi, esportandola tramite libvdpau. Dopo averlo installato, assegnare il valore vdpau alla variabile d'ambiente LIBVA_DRIVER_NAME il nome del core del driver a VDPAU_DRIVER, ad es.:

~/.bashrc
export LIBVA_DRIVER_NAME=vdpau
export VDPAU_DRIVER=r600

Disabilitare il vsync

Il driver radeon abiliterà la sincronia verticale di default, scelta adatta ad ogni situazione fuorchè il misuramento delle prestazioni. Per disabilitarla, creare il file ~/.drirc (o modificarlo se già esistente) ed aggiungere la sezione seguente:

~/.drirc
<driconf>
    <device screen="0" driver="dri2">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    <!-- Other devices ... -->
</driconf>

Come valore del campo driver, bisogna inserire precisamente dri2, e non il codice della propria scheda video (come ad es. r600).

Risoluzione dei problemi

Rilevo artefatti quando effettuo il login nel mio DE o WM

Se si riscontrano artefatti grafici, per prima cosa provare ad avviare X senza l'ausilio del file /etc/X11/xorg.conf. Le ultime versioni di Xorg sono affidabili e in grado di effettuare un rilevamento automatico e auto-configurazione nella maggior parte dei casi l'uso. File xorg.conf obsoleti o non correttamente configurati sono noti per causare conflitti.

Per poter funzionare senza un file di configurazione, si raccomanda che il pacchetto del gruppo xorg-input-drivers sia installato.

È possibile che questi problemi siano legati a KMS. Se questo è il problema, vedi Disabilitare KMS.

Si può anche provare a disabilitare EXAPixmaps nella sezione "Device" di /etc/X11/xorg.conf.d/20-radeon.conf::

/etc/X11/xorg.conf
.....
Option "EXAPixmaps" "off"
.....

Anche l'opzione AccelDFS sembra essere causa di artefatti, provare a disabilitarla con questa stringa

/etc/X11/xorg.conf.d/20-radeon.conf
.....
Option "AccelDFS" "off"
.....

Aggiungere risoluzioni non rilevate

ad es. se la rilevazione dall'EDID fallisce su una connessione DisplayPort.

Questo problema è affrontato nella pagina di Xrandr.

Performance scadenti con driver libero

Alcune schede video possono essere installate di base provando ad usare KMS. È possibile verificare se è questo il caso lanciando:

dmesg | egrep "drm|radeon"

Questo comando dovrebbe mostrare qualcosa come questo, ciò significa che la scheda sta provando ad usare KMS:

[drm] radeon default to kernel modesetting.
...
[drm:radeon_driver_load_kms] *ERROR* Failed to initialize radeon, disabling IOCTL

Se la scheda non è supportata da KMS (qualunque scheda più vecchia di r100), allora è possibile disabilitare KMS. Questo dovrebbe risolvere il problema.

L'AGP è disabilitato (con il KMS)

Se si riscontrano prestazioni scadenti, e dmesg mostra qualcosa del genere

[drm:radeon_agp_init] *ERROR* Unable to acquire AGP: -19

verificare che il driver AGP della propria scheda madre (ad es., via_agp, intel_agp etc.) sia caricato prima del modulo radeon, consultare #Abilitare KMS

Collegando un TV viene mostrato un bordo nero attorno allo schermo

Se collegando un TV ad una Radeon 5770 tramite l'uscita HDMI, viene mostrata un'immagine sfocata con un bordo nero nero di 2-3cm, ciò è dovuto alla protezione da overscan, che può essere disabilitata tramite xrandr

xrandr --output HDMI-0 --set underscan off

Schermo nero con cursore del mouse visibile al resume dalla sospensione

Risvegliando dalla sospensione un sistema dotato di scheda video con un quantitativo di Ram inferiore o uguale a 32 MB, può risultare in uno schermo nero col solo puntatore visibile. Alcune parti dello schermo potrebbero venire rivisualizzate al passaggio del puntatore. Forzando l'abilitazione di EXAPixmaps all'interno di /etc/X11/xorg.conf.d/20-radeon.conf il problema potrebbe venire risolto. Consultare il paragrafo Ottimizzazione prestazioni per ulteriori informazioni.

Nessun effetto desktop in KDE4 con la X1300 ed i driver Radeon

Un bug di KDE4 può impedire un controllo video accurato, avendo come conseguenza la disattivazione degli effetti desktop, nonostante la X1300 disponga di una potenza di calcolo ben superiore a quella necessaria. Un workaround potrebbe essere quello di sovrascrivere manualmente tale controllo nei file di configurazione di KDE /usr/share/kde-settings/kde-profile/default/share/config/kwinrc e/o .kde/share/config/kwinrc aggiungendo il seguente codice alla sezione [Composoting]:

DisableChecks=true
Enabled=true

Schermo nero e nessuna console visualizzata, ma X funzionante sotto KMS

Questa è una soluzione ad un problema di non visualizzazione della console che potrebbe presentarsi utilizzando 2 o più schede video ATI sullo stesso sistema, come ad esempio il laptop Fujitsu Siemens Amilo PA 3553. Ciò è dovuto al driver di framebuffer fbcon che esegue la propria mappatura sul dispositivo framebuffer riferito alla scheda video sbagliata. Questo problema può essere risolto aggiungendo alla riga di boot del kernel il parametro fbcon=map:1 In questo modo si istruirà il driver fbcon ad effettuare la mappatura sul dispositivo framebuffer /dev/fb1 anzichè sul /dev/fb0, che nel caso in esame è la scheda sbagliata.

Alcune applicazioni 3d vanno in crash o mostrano alcune textures completamente nere

Si potrebbe aver bisogno del supporto alle texture compresse, che non è incluso nei driver liberi. Installare libtxc_dxtn oppure lib32-libtxc_dxtn per sistemi multilib.

Prestazioni 2D (ad esempio lo scroll) scadenti

Se si hanno problemi di prestazioni in 2D, ad esempio una lentezza inconsueta nello scrolling all'interno della finestra del browser o di un altro programma, potrebbe essere necessario aggiungere Option "MigrationHeuristic" "greedy" nella sezione "Device" del proprio file xorg.conf. Di seguito è mostrato un esempio di configurazione del file /etc/X11/xorg.conf.d/20-radeon.conf:

Section "Device"
        Identifier  "My Graphics Card"
        Driver  "radeon"
        Option  "MigrationHeuristic"  "greedy"
EndSection


Applicazioni 3d mostrano finestra nera su ATI X1600 (RV530)

Ci sono tre possibili soluzioni:

  • Provare ad aggiungere pci=nomsi ai parametri del kernel del proprio boot loader.
  • Se questo non dovesse sortire alcun effetto, provare a inserire noapic al posto di pci=nomsi.
  • In ultima istanza, si può provare ad eseguire vblank_mode=0 glxgears o vblank_mode=1 glxgears e verificare quale dei due funziona, quindi installare driconf via pacman ed impostare quell'opzione in ~/.drirc.