HOWTO ATI on amd64
From Gentoo Linux Wiki
| Installation • Kernel & Hardware • Networks • Portage • Software • System • X Server • Gaming • Non-x86 • Emulators • Misc |
[edit] Procedure
Since I encoutered several problems in configuring my xserver, I created this, my how-to, so I can share my knowledge :D
- first of all: I had several problems (not just with xorg) with the unstable tree (~amd64) -- so use the stable one. It was so bad that I was forced to make a new installation (and this time I used amd64)
- Use these kernel-options (I activated them as a module):
| Linux Kernel Configuration: for ATI |
General Setup
[*] Configure standard kernel features (for small features)
Processor type and features ---> Processor family (AMD-Opteron/Athlon64)
[ ] IOMMU support
Device Drivers ---> Character devices --->
<M> /dev/agpgart (AGP Support)
<M> AMD Opteron/Athlon64 on-CPU GART support
|
- You will be able to select /dev/agpgart after having set up your Processor family.
- recompile your kernel and so on
- Install ati-drivers:
| Code: Install ati-drivers |
emerge ati-drivers |
- add your modules to your /etc/modules.autoload.d/kernel-2.6
| File: Add to /etc/modules.autoload.d/kernel-2.6 |
agpgart amd64-agp fglrx |
- Don't forget to run
| Code: Execute update-modules |
update-modules |
- run (as root)
| Code: aticonfig |
/opt/ati/bin/aticonfig --initial |
- answer the questions. Normally the default answers do their job.
- You can use ddcxinfo-knoppix to get your hsync and vsync values. But it is a pitty that this package has a bug that won't let it compile. So you have to use a linux livecd to run it:
| Code: |
ddcxinfo-knoppix -monitor |
- and remember the vsync and hsync values
- There is one really nasty option (xorg freezed my system because of a wrong value there...) when fglrxconfig asks this:
| Code: |
Do you want to use the external AGP GART module?
Do not use the default answer there but answer YES. In other words... Your xorg.config must have this value:
Code:
Option "UseInternalAGPGART" "no"
|
- select the ati driver as the primary opengl interface
| Code: Run eselect opengl |
eselect opengl set ati |
- Now (after rebooting or modprobing) a startx should work with 3D acceleration
// when you get a blank screen and the system hangs after startx try to disable SMP in your kernel (it's for handling more than one cpu that you don't need on a desktop pc, for it will slower your performance when only one cpu is installed in your motherboard. I don't know why its turned on by default...)
it worked for me ;)
After a week of work I have had success with TurionX2 & ATI 200M in 64bit mode (acer ferrari 1000). I did the following: 1) use gcc 3.4.6 (/etc/portage/package.mask: >=sys-devel/gcc-4.0) 2) use the very lastest xorg (7.1.1),ati-drivers(8.28.8),mesa from the stable branch. I first updated ati-drivers, then xorg-x11, then ati-drivers, then mesa. Now I get from glxinfo: ... direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 ... OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON XPRESS Series Generic OpenGL version string: 2.0.6011 (8.28.8) OpenGL extensions: ...very many extensions.
glxgears works fine, too: 3989 frames in 5.0 seconds = 797.732 FPS 3996 frames in 5.0 seconds = 799.159 FPS 4191 frames in 5.0 seconds = 838.167 FPS
If your XOrg log contains
(EE) AIGLX error: dlsym for __driCreateNewScreen_20050727 failed (/usr/lib64/dri/fglrx_dri.so: undefined symbol: __driCreateNewScreen_20050727) (EE) AIGLX: reverting to software rendering
this is because you are using the newer xorg server. Disable AIGLX for now:
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Section "Extensions"
Option "Composite" "Disable"
EndSection
I would like to make a better contribution to this howto, but I fear I could destroy my setup by making experiments. But if you want to ask questions about what versions of what programs I have installed, please write to johannes dot gajdosik at gmx dot at
[edit] See Also
If you have kernel 2.6.19 : You need to remove the "if embedded" part from the IOMMU line in /usr/src/linux/arch/x86_64/Kconfig
