With hardware 3D acceleration, three-dimensional rendering uses the graphics processor on your video card instead of taking up valuable CPU resources drawing 3D images. It's also referred to as "hardware acceleration" instead of "software acceleration" because without this 3D acceleration your CPU is forced to draw everything itself using the Mesa software rendering libraries, which takes up quite a bit of processing power. 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.
In many cases, both binary and open-source drivers exist. Open-source drivers
are preferable since we're using Linux and open source is one of its underlying
principles. Sometimes, binary drivers are the only option, like with nVidia's
cards. Binary drivers include
The
The DRM (Direct Rendering Manager) is an
This guide is for people who can't get direct rendering working with just Xorg. The DRM works for the following drivers:
See the
With suggestions, questions, etc., e-mail
Please read our
Probe for your chipset and enable just that one.
# emerge pciutils; lspci | grep AGP # 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)(Your output may not match the above due to different hardware.)
If your chipset is not supported by the kernel you might have some succes by
passing
Most, if not all, kernels should have these options. This was configured using a
standard
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4(Make sure /usr/src/linux links to your current kernel.) # cd /usr/src/linux # make menuconfig
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)
# make && make modules_install
Don't forget to set up
Open
... Section "Module" Load "dri" Load "glx" ... EndSection ... Section "Device" Driver "radeon"(Replace radeon with the name of your driver.) ... EndSection ... Section "dri" Mode 0666 EndSection
You will need to add the module name that your card uses to
(Change module name as required.) intel-agp
Reboot your computer to your new kernel and login as a normal user. It's time to
see if you have direct rendering and how good it is.
$ startx(No need to load modules for your driver or agpgart, even if you compiled them as a module.) (They will be loaded automatically.) $ glxinfo | grep rendering direct rendering: Yes(If it says "No", you don't have 3D acceleration.) $ glxgears(Test your frames per second (FPS) at the default size. The number should be significantly higher than before configuring DRM. Do this while the CPU is as idle as possible.)
A few options may increase performance by up to 30 percent (or more) over the
default. Set them in
First, let's see if your video card can support fast writes. We'll do this by
closely inspecting the output from
# lspci -vv
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY (prog-if 00 [VGA])
. . .
Capabilities: [58] AGP version 2.0
Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
While quite a lot of information is produced, we are looking for FW in the "Status" subsection of the AGP "Capabilities" section. If FW+ is present in the "Status" line, it means the card supports fast writes. We can now check if the motherboard supports fast writes.
Now let's make sure the motherboard supports fast writes as well. This time,
look at the "Host bridge" section of your
# lspci -vv
00:00.0 Host bridge: Intel Corporation 82830 830 Chipset Host Bridge (rev 02)
. . .
Capabilities: [a0] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
Again, examine the "Status" subsection of your AGP "Capabilities" section. Look for FW. If you see FW+, your motherboard supports fast writes.
Assuming that all has gone well and both your motherboard and video card
support fast writes, let's enable this option in
Section "Device" Option "AGPMode" "4"(This increased FPS from 609 to 618.) Option "AGPFastWrite" "True"(This had no measurable effect, but it may increase instability of your computer.) (You may also need to set it in your BIOS.) Option "EnablePageFlip" "True"(This improved FPS from 618 to 702. It also is "risky" but few people have reported problems.) ... EndSection
If you want to set even more features, check out the
Try
That's because you compiled agpgart into the kernel instead of as a module. Ignore it unless you're having problems.
The drivers originally developed by the
Try out the binary drivers. For
Edit
Option "ForcePCIMode" "True"