Guida all'accelerazione hardware 3D/Xorg

From Gentoo Wiki
< Xorg
Jump to: navigation, search
This page is a translated version of the page Xorg/Hardware 3D acceleration guide and the translation is 100% complete.

Other languages:
English • ‎español • ‎italiano • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어


Questo documento è una guida per far funzionare l'accelerazione 3D usando DRM con Xorg su Gentoo Linux.

Introduzione

Che cos'è l'accelerazione 3D e perché la voglio?

Con l'accelerazione hardware 3D, il rendering tridimensionale usa il processore grafico della scheda video invece di occupare preziose risorse della CPU disegnando immagini 3D. Viene chiamata anche "accelerazione hardware" invece di "accelerazione software" in quanto senza questa accelerazione 3D la CPU stessa viene forzata a disegnare tutto quanto da sola usanto le librerie di rendering software Mesa, che richiedono parecchia potenza di calcolo. Mentre Xorg supporta tipicamente l'accelerazione hardware 2D, spesso è priva dell'accelerazione 3D. L'accelerazione hardware tridimensionale è preziosa in situazioni che richiedono il rendering di oggetti 3D come giochi, CAD 3D, e la realizzazione di modelli 3D.

While Xorg typically supports 2D hardware acceleration, it often lacks hardware 3D acceleration. Three-dimensional hardware acceleration is valuable in situations requiring rendering of 3D objects such as games, 3D CAD, and modeling.

Come ottengo l'accelerazione hardware 3D?

In molti casi, esistono sia i driver binari sia quelli open-source. I driver open source sono da preferire in quanto si è su un sistema Linux e l'open source è uno dei suoi principi di base. Talvolta, i driver binari sono l'unica opzione, specialmente se la propria scheda grafica è talmente recente che non sono ancora stati scritti dei driver open source che supportino le sue funzionalità. I driver binari comprendono x11-drivers/nvidia-drivers per le schede grafiche nVidia e x11-drivers/ati-drivers per quelle AMD/ATI.

Che cos'è DRI?

L'Infrastruttura di Rendering Diretto (Direct Rendering Infrastructure), anche conosciuta come DRI, è un framework che permette un accesso diretto all'hardware grafico in maniera efficiente e sicura. Esso comprende cambiamenti al server X, a numerosi librerie client ed al kernel. L'uso principale per DRI è quello di creare implementazioni OpenGL veloci.

Che cos'è DRM e come si relaziona con Xorg?

DRM (Direct Rendering Manager) è un enhancement a Xorg che aggiunge l'accelerazione 3D alle schede grafiche aggiungendo i moduli del kernel necessari al rendering diretto.

Scopo

Questa guida è rivolta alle persone che non riescono a far funzionare il rendering diretto con Xorg. DRM funziona per i seguenti driver:

  • 3dfx
  • intel
  • matrox
  • nouveau
  • rage128
  • radeon
  • mach64
  • sis300
  • via

Consultare la homepage di DRI per ulteriori informazioni e per la documentazione.

Installare Xorg e configurare il kernel

Installare Xorg

Si prega di consultare la[ https://wiki.gentoo.org/wiki/Xorg/Guide/it Guida di Configurazione di Xorg] per rendere Xorg pronto e funzionante.

Configurare il kernel

Ricercare il proprio processore ed abilitare solo quello.

root #emerge --ask pciutils
root #lspci | grep AGP
# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)

Il risultato del comando sopra può non corrispondere a causa di hardware diverso.

Se il proprio processore non è supportato dal kernel, si può tentare di passare agp=try_unsupported come parametro al kernel. Ciò userà le routine generiche di Intel per il supporto AGP. Per aggiungere questo parametro, modificare il file di configurazione del bootloader!

La maggior parte, se non tutti, i kernel dovrebbero avere queste opzioni. Quanto di seguito è stato configurato usando un kernel standard sys-kernel/gentoo-sources.

root #ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4

Assicurarsi che /usr/src/linux punti al proprio kernel attuale.

root #cd /usr/src/linux
root #make menuconfig


KERNEL Opzioni di accelerazione hardware
Processor type and features --->
  <*> MTRR (Memory Type Range Register) support
Device drivers --->
  Graphics support --->
    <M> /dev/agpgart (AGP Support) --->
      (The agpgart option is not present on 64-bit kernels;
      just choose your chipset support.)
      <M> Intel 440LX/BX/GX, I8xx and E7x05 support
      (Enable your chipset instead of the above.)
    <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <M> (Select your graphics card from the list)

Compilare ed installare il kernel

root #make && make modules_install

Non dimenticare di configurare grub.conf oppure lilo.conf ed eseguire /sbin/lilo se si usa LILO.

When using LILO, issue:

root #lilo

When using GRUB 2, run:

root #grub-mkconfig -o /boot/grub/grub.cfg

Aggiungere il proprio utente al gruppo video

Successivamente, aggiungere il/i proprio/propri utente/i al gruppo video:

root #gpasswd -a $USER video

Configurare il rendering diretto

Configurare Xorg

Teoricamente aggiungere il proprio utente al gruppo video è sufficiente per abilitare il rendering diretto. Tuttavia, può essere necessario creare un file in /etc/X11/xorg.conf.d/. Si può chiamarlo come si vuole; l'importante è che finisca con .conf. Aprire il proprio editor di testo e creare un file con il seguente contenuto:

FILE /etc/X11/xorg.conf.d/10-dri.conf
Section "Device"
  Driver "radeon"
EndSection
Section "dri"
  Mode 0666
EndSection

Sostituire radeon con il nome del proprio driver.

Cambiamenti a /etc/conf.d/modules

Sarà necessario aggiungere il nome del modulo che viene usato dalla propria scheda grafica a /etc/conf.d/modules per assicurarsi che il modulo sia caricato automaticamente quando il sistema si avvia.

FILE /etc/conf.d/modules
modules="intel-agp" # Sostituire con il proprio driver
Nota
Se si è compilato agpgart come modulo, è necessario aggiungere anch'esso a /etc/conf.d/modules.

Testare l'accelerazione 3D

Riavviare con il nuovo kernel

Riavviare il proprio computer con il nuovo kernel ed effettuare l'accesso come normale utente. È giunto il momento di controllare se il rendering diretto è presente e se funziona bene. glxinfo e glxgears sono parte del pacchetto x11-apps/mesa-progs, quindi è meglio assicurarsi che sia installato prima di eseguire questi comandi.

user $startx

Non c'è bisogno di caricare moduli per il proprio driver o agpgart, nemmeno se sono stati compilati come moduli. Verranno caricati automaticamente.

user $glxinfo | grep rendering
direct rendering: Yes

Se il risultato è "No", allora non si ha acccelerazione 3D.

user $glxgears

Controllare i frame al secondo (frames per second - FPS) con la dimensione predefinita. Il numero dovrebbe essere significativamente più grande rispetto a prima di configurare DRM. Effettuare questo controllo mentre la CPU è il più inattiva possibile.

Nota
Gli FPS possono essere limitati dal tasso di aggiornamento del proprio schermo, quindi è bene ricordarlo se glxgears riporta dei valori compresi tra 70 e 100 FPS. games-fps/ut2004-demo o altri giochi 3D sono strumenti di benchmark migliori, in quanto forniscono dei risultati effettivi delle prestazioni.

Ottenere il massimo dal rendering diretto

Se si vogliono più funzionalità, per prestazioni od altre ragioni, controllare la matrice delle caratteristiche sul sito web DRI oppure la lista delle caratteristiche su Sourceforge.

Risoluzione dei problemi

Non funziona. Il rendering non c'è e non so dire il perché.

Eseguire modprobe radeon prima di cominciare il server X (sostituire radeon con il nome del proprio driver). Inoltre, provare a compilare agpgart nel kernel anziché come modulo.

Quando eseguo startx, ottengo questo errore: "[drm] failed to load kernel module agpgart"

Ciò è dovuto al fatto che agpgart è stato compilato nel kernel anziché come modulo. Ignorare il messaggio a meno che non si abbiano problemi.

Ho una scheda grafica Radeon, e voglio l'uscita TV.

I driver sviluppati originariamente dal progetto GATOS sono stati uniti al codice di base di Xorg. Non si ha bisogno di alcunché di speciale per l'uscita TV; x11-drivers/xf86-video-ati funzionerà bene.

Non funziona. La mia scheda grafica è così incredibilmente nuova e forte che non è affatto supportata.

Provare i driver binari. Per schede AMD, usare ati-drivers; un elenco è disponibile su http://support.amd.com/us/gpudownload/Pages/index.aspx. Se essi non la supportano, usare fbdev. È lento, ma funziona.

Ho una scheda PCI e non funziona. Aiuto!

Creare un file di configurazione in /etc/X11/xorg.conf.d/; chiamarlo come si ritiene opportuno a patto che termini con il suffisso .conf. Inserire il seguente codice:

FILE /etc/X11/xorg.conf.x/10-pcimode.confAggiungere ForcePCI Mode
Section "Device"
  Option "ForcePCIMode" "True"
EndSection

Risorse esterne


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Donnie Berkholz (dberkholz), peesh,
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.