Con l'accelerazione 3d hardware il rendering di immagini 3d usa il processore grafico della vostra scheda video invece di sfruttare preziose risorse della cpu nel disegnare. Si parla anche di accelerazione hardware piuttosto che di accelerazione software perchè, senza questa accelerazione 3d, la vostra CPU è obbligata a disegnare tutto da sola facendo uso delle librerie di rendering Mesa, ciò implica un considerevole consumo di risorse. Mentre Xorg di norma supporta l'accelerazione 2d hardware, spesso manca di quella 3d. L'accelerazione hardware 3d è apprezzabile in situazioni che richiedono il rendering di oggetti 3d come giochi, CAD 3D o la realizzazione di modelli.
In molti casi, i driver esistono sia precompilati che opensource. I driver opensource son preferibili, perchè stiamo usando Linux e l'opensource è uno dei suoi principi chiave. A volte i precompilati sono però l'unica scelta, come per le schede Nvidia. I driver precompilati includono media-video/nvidia-kernel e media-video/nvidia-glx per le Nvidia, media-video/mgavideo per le Matrox e media-video/ati-driver per le ATI. Altri driver opensource sono media-video/kyro-kernel per le schede KyroII e media-video/ati-gatos ancora per le schede video ATI, essi mirano a sfruttare più a fondo le potenzialità video della scheda.
Il
X11-DRM è un
Questa guida è per coloro che non riescono ad abilitare il direct rendering
solamente con XFree. XFree-DRM funziona per i driver 3dfx, gamma, i8x0, matrox,
rage128, radeon, mach64 e sis300. Rimandiamo al
Per suggerimenti, domanda ecc ecc mandate un e-mail a
Leggere
Verificate qual è il vostro chipset ed abilitate il supporto solo per quello.
# emerge pciutils; lspci | grep AGP # 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)(Ovviamente il vostro output può essere diverso a causa del diverso hardware.)
Se il vostro chipset non è supportato dal kernel, potete aggiungere
La maggior parte dei kernel, se non tutti, dovrebbe avere queste opzioni. Nell'esempio si fa uso dei gentoo-sources-2.4.20-r5.
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 22 May 29 18:20 /usr/src/linux -> linux-2.4.20-gentoo-r5(Assicuratevi che /usr/src/linux punti al vostro attuale kernel.) # cd /usr/src/linux # make menuconfig
Processor type and features ---> <*> MTRR (Memory Type Range Register) support Character devices ---> <M> /dev/agpgart (AGP Support) [M] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support(Selezionate il vostro chipset, non quello dell'esempio.) [ ] Direct Rendering Manager (XFree86 4.1.0 e superiore DRI support)
Assicuratevi che il Direct Rendering Manager (DRM) sia
(Questo esempio è per kernel 2.4) # make dep && make clean bzImage modules modules_install # mount /boot # cp arch/i386/boot/bzImage /boot
Se volete che il vostro kernel si chiami in modo diverso da bzImage, assicuratevi di copiarlo in /boot/nomekernel. Non dimenticatevi di aggiornare grub.conf o lilo.conf e di di lanciare /sbin/lilo se usate LILO.
# emerge x11-drm
Alcuni chipset richiedono di compilare
(Aggiungere la flag USE insecure-drivers se si usa uno dei chipset sopra menzionati) # echo "x11-base/xorg-x11 insecure-drivers" >> /etc/portage/package.use # emerge xorg-x11
Aprite
... Section "Module" Load "dri" Load "glx" ... EndSection ... Section "Device" Driver "radeon" ... EndSection ... Section "dri" Mode 0666 EndSection
Se state usando un altro driver, sostituite "radeon" con la voce appropriata.
Dovrete aggiungere il nome del modulo usato dalla vostra scheda in
(Cambiare il nome del modulo come richiesto.) intel-agp
Riavviate il sistema con il nuovo kernel, è ora di vedere se il direct rendering è attivo e se funziona bene.
# startx(Nessun bisogno di caricare moduli per il vostro driver o agpgart,) (se si è compilato agpgart come modulo.) (Saranno caricati in automatico.) # glxinfo | grep rendering direct rendering: Yes(Se c'è scritto "No", l'accelerazione non è abilitata.) # glxgears(Verificate i frames per secondo (FPS). Il numero dovrebbe essere) (significativamente più alto rispetto a prima dell'installazione di x11-drm.) (Fatelo con la cpu al minimo sforzo possibile.)
Prima di tutto dovete controllare se il pacchetto x11-drm funziona. Se non lo fa e avete controllato i log per verificare che non è un errore di configurazione, potete prendere in considerazione il cvs. Ci sono anche driver snapshot giornalieri disponibili se non desiderate costruire il completo CVS.
Controllate sul sito del DRI la
Il progetto DRI ha un documento sulla compilazione dal CVS. Leggete questo
Verificate che i moduli del kernel per il DRI del vostro sistema siano stati compilati:
# cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel; ls
Per le 3dFX Voodoo, il file interessato è
Installate sopra la vostra installazione di X.org. Potreste voler fare un backup di xorg-x11.
# quickpkg xorg-x11(Questo fa il back up del vostro pacchetto Xorg-X11.) # make install
Seguite la sezione "Configurare Xorg"
Per caricare il modulo appropriato per il kernel in uso, copiatelo in
Alcune opzioni possono aumentare le prestazioni del 30 percento (e perfino di
più). Attivatele in
Section "Device" Option "AGPMode" "4"(Questo ha aumentato i FPS da 609 a 618.) Option "AGPFastWrite" "True"(Questo non ha avuto effetti misurabili, ma può aumentare l'instabilità del sistema.) (Può anche essere necessario attivarlo nel BIOS) Option "EnablePageFlip" "True"(Questo ha aumentato i FPS da 618 a 702. E' anche un po' rischioso, ma poche persone han riportato problemi.) ... EndSection
Se volete altre opzioni, date un'occhiata a
Ogni volta che ricompilate il kernel o lo cambiate, dovrete ricompilare il modulo. Notate che non avete bisogno di riemergere xorg-x11, ma avrete bisogno di riemergere x11-drm.
Provate
E' perchè avete compilato agpgart nel kernel anzichè come modulo, ignoratelo a meno che non avete problemi.
Non state usando x11-drm, controllate di aver compilato DRM ed i driver adeguati nel kernel, probabilmente non l'avete fatto.
Provate i driver gatos.
Provate i driver precompilati. Per quelli ati, una lista si trova su
Nella sezione "Device" attivate ForcePCIMode.
Option "ForcePCIMode" "True"