Med hardware 3D acceleration, bruger du den tre-dimensionelle gengivelses grafik-processor på dit grafikkort i stedet for at optage værdifulde CPU-ressourcer for at tegne 3D-billeder. Det er også refereret til, som "hardware acceleration" i stedet for "software acceleration", fordi at uden denne 3D acceleration ville din CPU være tvunget til at tegne alt selv ved at bruge Mesa-softwaregengivelsesbiblioteker, som tager en stor del af processorydelsen. Imens XFree86 typisk understøtter 2D hardware acceleration, mangler den ofte hardware 3D acceleration. Tre-dimensionel hardware acceleration er værdifuldt i situationer, hvor det kræver gengivelse af 3D objekter, såsom spil, 3D CAD og modelering.
I mange situationer, eksisterer både binære og open-source (frie) drivere. Open-source drivere ses helst, da vi bruger Linux og open-source er en af de underliggende principper. Somme tider er binære drivere det eneste valg, det er f.eks tilfældet med nVidias grafikkorte. Binære drivere inkluderer media-video/mgavideo til Matrox og media-video/ati-drivers til ATI kort. Andre open-source drivere inkluderer media-video/kyro-kernel til KyroII kort og media-video/ati-gatos til ATI cards, hvis mål er at understøtte ATI's video færdigheder i større grad.
Direct Rendering Infrastructure (
XFree-DRM er en
Denne vejledning er lavet for folk som ikke kan få
deres direct rendering til at virke ved kun at bruge XFree. XFree-DRM virker med 3dfx-, gamma-, i8x0-, matrox-, rage128-, radeon- og sis-drivere. Der er også support til mach64 i CVS-kilderne -- se det på
For forslag, spørgsmål etc., email
# emerge x11-base/xfree
Undersøg dit chipset og aktiver kun dette.
# emerge pciutils; lspci | grep AGP # 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)Dit output er måske ikke det samme som foroven, pga. af forskellig hardware.
De fleste, hvis ikke alle, kerner skulle have disse indstillinger. Dette var opsat ved at bruge 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-r5Vær sikker på at # cd /usr/src/linux # make menuconfig/usr/src/linux peger mod din nuværende kernel.
Processor type and features ---> <*> MTRR (Memory Type Range Register) support Character devices ---> <*> /dev/agpgart (AGP Support) [*] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 supportAktivér dit chipset i stedet for ovenstående. [ ] Direct Rendering Manager (XFree86 DRI support)
Vær sikker på at Direct Rendering Manager (DRM) er
# make dep && make clean bzImage modules modules_install # mount /boot # cp arch/i386/boot/bzImage /boot
Hvis du vil have at din kerne skal kaldes noget andet end bzImage, vær sikker på at kopiere det til /boot/yourname i stedet for. Glem ikke at opsætte grub.conf eller lilo.conf og køre /sbin/lilo hvis du bruger LILO.
# ACCEPT_KEYWORDS="~x86" emerge xfree-drm
Åben
... Section "Module" Load "dri" Load "glx" ... EndSection ... Section "Device" Driver "radeon" ... EndSection ... Section "DRI" Mode 0666 EndSection
Hvis du bruger en anden driver, erstat "radeon" med din driver.
Genstart din computer for at køre den nye kerne. Det er tid til at se om du har direct rendering og hvor god den er.
# startxDet er ikke nødvendig at køre modulerne for din driver eller agpgart, hvis du har kompileret agpgart som et modul. De vil køre af sig selv, helt automatisk. # glxinfo | grep rendering direct rendering: YesHvis den siger "No", så har du ikke 3D acceleration. # glxgearsTest dine frames pr. sekund (FPS) som standardstørrelsen. Dette vil tage et stykke tid, idet CPUen er så ubeskæftiget som muligt.
Først skal du se efter om xfree-drm pakken virker. Hvis den ikke gør, og du har et meget nyt grafikkort, skal du nok overveje CVS-kilderne. xfree-drm pakken understøtter på nuværende tidspunkt i det mindste Radeon 9000.
Se efter på DRIs
Følg denne vejledning "Kompilering og installation af din kernel." Så vil vi gå til trin 6 i
Lav et bibliotek til at gemme CVS-filerne:
# cd ~ # mkdir DRI-CVS
Se på CVS-kildekoder
# cd ~/DRI-CVS # cvs -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri login(tryk ENTER når den spørger efter et kodeord) # cvs -z3 -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri co xc-z3 flaget sørger for at kompression bliver brugt for at nedsætte download-tiden
I fremtiden, bør du, en gang imellem, opdatere din lokale kopi af DRI-kildekoder for at få de sidste nye ændringer. Dette kan gøres således:
# cd ~/DRI-CVS # cvs -z3 update -dA xc-d flaget sørger for at alle nye underbiblioteker bliver lavet. -A flaget sørger for at de sidste nye hoved-kildekoder vil blive hentet, ikke den enkelte grens kildekoder.
I stedet for at placere objekt- og biblioteks-filer direkte i kilde-træet, er de i stedet puttet ind i et parallelt
# cd ~/DRI-CVS # ln -s xc XFree40 # mkdir build; cd build # lndir -silent -ignorelinks ../XFree40
Bygge-træet vil blive befolket af symbolske henvisninger, som peger tilbage ind i CVS-kildekode-træet. Avancerede brugere kan have flere bygge-træer for a kompilere og teste forskellige metoder.
#define DefaultCCOptions -WallTil i386: #define DefaultGcc2i386Opt -O2Til Alpha: #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 (or similar)Til alle arkitekturer #define LibraryCDebugFlags -O2 #define BuildServersOnly YES #define XF86CardDrivers vga tdfx mga ati i810 #define LinuxDistribution LinuxRedHat #define DefaultCCOptions -ansi GccWarningOptions -pipe #define BuildXF86DRI YES /* Optionally turn these on for debugging */ /* #define GlxBuiltInTdfx YES */ /* #define GlxBuiltInMga YES */ /* #define GlxBuiltInR128 YES */ /* #define GlxBuiltInRadeon YES */ /* #define DoLoadableServer NO */ #define SharedLibFont NO
ProjectRoot variablen specificerer hvor XFree86-filerne vil blive installeret. Vi anbefaler at installere DRI-filerne oven i din eksisterende XFree86-installation - det er generelt sikkert at gøre dette og med mindre fejl. Denne politik er forskellig fra, hvad vi er vant til at anbefale.
Hvis XFree86 4.x ikke er installeret i
#define ProjectRoot stien/Til/Din/XFree86installationNotér at XF86CardDrivers linien viser dit grafikkorts driver. Hvis du vil aktivere 3DNow!-optimeringer i Mesa og i DRI-driverne, burde du tilføje følgende: #define MesaUse3DNow YESDu behøver ikke at bruge en AMD processor for at aktivere dette valg. DRI vil kigge efter 3DNow! understøttelse når den kører og kun aktivere den, hvis muligt.
Hvis du vil aktivere SSE-optimeringer i Mesa og i DRI-driverne, skal du opgradere til en Linux 2.4.x kerne. Mesa vil verificere at SSE er understøttet både af din processor og dit styresystem, men for at byggeMesa inde i DRIen, bliver du nødt til at have Linux 2.4.x kerne-headers i
#define MesaUseKatmai YES
At kompilere et komplet DRI-træ:
# cd ~/DRI-CVS/build/xc/ # make World >& world.log
En bruger anbefaler at det også er nødvendigt at gøre følgende:
# cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel # make -f Makefile.linux radeon.oUdskift radeon med din driver.
Med standard kompileringsflag, er det normalt at få en hel del advarsler når kompileringen foregår. Bygningen vil tage nogen tid, så du burde måske tjekke din email eller besøge slashdot.
Ved brug af dit redigeringsprogram, eksaminér world.log for fejl ved at søge for mønstret ***.
Verificer at DRI-kerne-modul(er) er blevet bygget til dit system:
# cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel; ls
Til 3dfx Voodoo, bør du se
Kopiér alle dine driver-filer til din XFree86-installation. Du vil måske også lave en backup af de erstattede filer. Dette er et eksempel på brugen af Radeon-grafikkort. Hvis du har et andet grafikkort, kopiér de passende filer. Hvis du ikke ved hvad de er, tjek biblioteket hvor du vil kopiere dem til, for at se hvad der er der.
# cd ~/DRI-CVS/build/xc/exports/lib/modules/ # cp dri/r200_dri.so /usr/X11R6/lib/modules/dri/ # cp drivers/atimisc_drv.o /usr/X11R6/lib/modules/drivers/ # cp drivers/radeon_drv.o /usr/X11R6/lib/modules/drivers/ # cp extensions/libdri.a /usr/X11R6/lib/modules/extensions/ # cp linux/libdrm.a /usr/X11R6/lib/modules/linux/
Følg "Opsætning af XF86Config" sektionen ovenover.
For at hente den passende DRM-modul i din nuværende
kørende kerne, kopiér kerne-modulet til
Et par få valg kan forbedre ydelsen med op til 30 procent (eller mere) end standarden. Sæt dem i
Section "Device" Option "AGPMode" "4"Dette forbedrer FPS fra 609 til 618. Option "AGPFastWrite" "True"Dette havde ingen målbar effekt, men kan forbedrer ustabilitet på din computer. Du burde måske også sætte det i din BIOS. Option "EnablePageFlip" "True"Dette forbedrede FPS fra 618 til 702. Det er også "risikabel", men få folk har rapporteret problemer. ... EndSection
Hvis du vil have et sæt på endnu flere egenskaber, tag et kig på
Prøv
Det er fordi du har kompileret agpgart ind i kernen, i stedet for som et modul. Ignorér det.
Du bruger ikke xfree-drm driveren. Se efter om du har kompileret DRM og driveren ind i kernen, som du ikke skulle.
Kig efter ati-gatos driverne.
Prøv at brug de binære drivere. Til ati-driverne, er der en liste på
I sektionen "Device" aktivér ForcePCIMode.
Option "ForcePCIMode" "True"