HOWTO ATI on amd64

From Gentoo Linux Wiki

Jump to: navigation, search


This article is part of the HOWTO series.
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)
Warning: aticonfig "parses an existing X-Server configuration file and modifies it to operate wit ATI products", so if you haven't run it at least once it will fail. Try to run X with vesa drivers, execute Xorg -configure to create /root/xorg.conf.new and copy it to /etc/X11/xorg.conf
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

Personal tools