特殊:Badtitle/NS100:BinaryDriverHowto/ATI:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Oneleaf留言 | 贡献
无编辑摘要
Wikibot留言 | 贡献
无编辑摘要
第30行: 第30行:
=== Install from Ubuntu repositories (easier) ===
=== Install from Ubuntu repositories (easier) ===


==== Instructions for 7.04 (Feisty) ====
==== Instructions for Kubuntu 7.10 (Gutsy) ====
 
First make sure ''linux-restricted-modules-generic'' and ''restricted-manager-kde'' are both installed
<pre><nowiki>
sudo apt-get install linux-restricted-modules-generic restricted-manager-kde</nowiki></pre>
 
Open the restricted drivers manager from '''KMenu → System Settings → Advanced → Restricted Drivers''' and select "ATI accelerated graphics driver". This will hopefully enable fglrx in a painless way. If not, follow the instructions for Feisty.
 
 
==== Instructions for Ubuntu 7.04 (Feisty) and Ubuntu 7.10 (Gutsy) ====


* Install linux-restricted-modules and restricted-manager provied in the restricted repositories:
* Install linux-restricted-modules and restricted-manager provided in the restricted repositories:


<pre><nowiki>sudo apt-get update
<pre><nowiki>sudo apt-get update
sudo apt-get install linux-restricted-modules-generic restricted-manager</nowiki></pre>
sudo apt-get install linux-restricted-modules-generic restricted-manager</nowiki></pre>


Open the restricted drivers manager included in 7.04 "System -> Administration -> Restricted Drivers Manager" and select "ATI accelerated graphics driver". This will hopefully enable fglrx in a painless way. If not, follow the instructions for Edgy.
Open the restricted drivers manager in "System -> Administration -> Restricted Drivers Manager" and select "ATI accelerated graphics driver". This will hopefully enable fglrx in a painless way. If not, follow the instructions for Edgy.
 
==== Instructions for Kubuntu 7.04 (Feisty) ====
 
* Install linux-restricted-modules from the restricted repositories:
 
<pre><nowiki>sudo apt-get update
sudo apt-get install linux-restricted-modules-generic</nowiki></pre>
 
* Install the driver provided by ati included in the repositories:
 
<pre><nowiki>sudo apt-get update
sudo apt-get install xorg-driver-fglrx</nowiki></pre>
 
* You might also want to install a control panel for your graphic card. Please note that I do not recommend it, as it seems to be buggy, and generally doesnt work.
 
<pre><nowiki>
sudo apt-get install fglrx-control</nowiki></pre>
 
* Make sure fglrx is not disabled in the '''DISABLED_MODULES''' part: <code><nowiki>kdesu kate /etc/default/linux-restricted-modules-common</nowiki></code>.
 
* Generate a new set of module dependencies so the fglrx driver starts properly.
 
<pre><nowiki>
sudo depmod -a</nowiki></pre>
 
* You now have to configure xorg to use your graphic card. The aticonfig tool, provided with the driver, will do that for you (aticonfig does not seem to work for Gutsy Gibbons):
 
<pre><nowiki>sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv</nowiki></pre>
 
* ATI are well known not to be able to provide correct drivers for their hardware so you will have to deactivate the composite extension in /etc/X11/xorg.conf , otherwise you will get a jerky video display: <code><nowiki>kdesu kate /etc/X11/xorg.conf</nowiki></code>, and add the following lines at the end of the file:
 
<pre><nowiki>
Section "Extensions"
Option     "Composite" "disable"
EndSection</nowiki></pre>
 
// After making all those modifications, your X server might not want to start again. Don't worry, you can still modify xorg.conf using nano <code><nowiki>sudo nano /etc/X11/xorg.conf</nowiki></code>. To save changes press Ctrl-O and to quit press Ctrl-X. To start X again type startx //
 
Save and restart the X server by logging out and selecting ''Restart X Server'' from the menu or press ''Alt+E''
 
Confirm it worked, by issuing the "fglrxinfo" command:
Note: fglrxinfo/glxinfo may not work properly for you via SSH and via the console when logged in as root.
 
Output should be similar to this:
<pre><nowiki>
$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9700 Generic
OpenGL version string: 2.0.5755 (8.24.8)
</nowiki></pre>


==== Instructions for 6.10 (Edgy) ====
==== Instructions for 6.10 (Edgy) ====
第67行: 第128行:
<pre><nowiki>
<pre><nowiki>
Section "Extensions"
Section "Extensions"
Option     "Composite" "Disable"
Option     "Composite" "disable"
EndSection</nowiki></pre>
EndSection</nowiki></pre>


第217行: 第278行:
* Check the /etc/X11/xorg.conf in Section "Module" to have this line: Load "dri" and it is not commented.  
* Check the /etc/X11/xorg.conf in Section "Module" to have this line: Load "dri" and it is not commented.  


==== Instructions for 5.10 (Breezy) ====
=== Install from ati.com (latest version of drivers) ===


* Install the kernel drivers. These drivers should be installed by default, but it's better to make sure they are installed. You need the package linux-<code><nowiki>$arch</nowiki></code>, where you replace <code><nowiki>$arch</nowiki></code> by the CPU architecture for the machine. This is 386 for Intel Pentium, 686 for Celeron, Pentium Pro, Pentium II, Pentium III, and Pentium 4 without Hyper-Threading. 686-smp for Pentium 4 with Hyper-Threading, or k7 or k7-smp for AMD athlon. On 64-bit systems, this may be amd64-generic, amd64-k8, amd64-k8-smp, or amd64-xeon.  
====  Instructions for Ubuntu 7.10 (Gutsy) with ATi 8.42.3 Binary and AIGLX, for Compiz ====
A bit of work is required, but it is worth it if the window-resizing bug is a pain for you. See this post:
http://combatwombat.7doves.com/index.php/2007/10/31/gutsy_effort_in_new_ati_driver
 
Also contains details on fixing the MESA problem that are not mentioned below.
 
==== Instructions for 7.04 (Feisty) ====
 
In order to properly install the latest drivers from [http://ati.amd.com/support/driver.html ati.amd.com], their executable installer needs to be converted into a .deb package file that can then be installed using the package system.  In order to perform this conversion, some basic developer tools need to be installed.
* '''Install Developer Tools'''
** Ensure the ''Universe'' and ''Restricted'' repositories are '''enabled''' (See AddingRepositoriesHowto for more help)
** Run the following command to download all the necessary tools:
<pre><nowiki>
sudo apt-get install module-assistant build-essential debhelper debconf dh-make fakeroot libstdc++5 linux-headers-generic
</nowiki></pre>
* '''Create the .deb Package File'''
** Navigate to the directory that contains the downloaded driver file.
** Run the following command to perform the conversion:
<pre><nowiki>
bash ./ati-driver-installer-<version>.run --buildpkg Ubuntu/feisty</nowiki></pre>
''Note:'' Replace the ''<version>'' portion with the matching version number of the driver downloaded.
** After successfully completing, there should now be several .deb package files in the directory.
* '''Install the .deb Packages'''
** Run the following command to install the driver kernel module source.
<pre><nowiki>
<pre><nowiki>
sudo apt-get install linux-686</nowiki></pre>
sudo dpkg -i fglrx-kernel-source_<version>.deb
 
</nowiki></pre>
* Install the xorg-driver-fglrx package:
** Run the following command to install the Xorg driver
<pre><nowiki>
<pre><nowiki>
sudo apt-get install xorg-driver-fglrx</nowiki></pre>
sudo dpkg -i xorg-driver-fglrx_<version>.deb
 
</nowiki></pre>
* Add <code><nowiki>fglrx</nowiki></code> to <code><nowiki>/etc/modules</nowiki></code> (optional, the advantages/drawbacks of this are: ......):
** Keep in mind that the filenames listed in the examples are not exact, as the .deb files created typically have an architecture suffix on the end of them, such as i386.  Modify the filename as necessary.
** The remaining .deb files are unnecessary and can be removed.
* '''Compile and Install the Kernel Module'''
Although the Xorg driver is installed, fglrx does not run without an accompanying kernel driver.  In the previous step, the kernel driver's source was installed, but the source now needs to be compiled.
** Prepare and update module-assistant so it's current.
<pre><nowiki>  
sudo m-a prepare,update
</nowiki></pre>
** Build and Install the kernel module
<pre><nowiki>
<pre><nowiki>
echo fglrx | sudo tee -a /etc/modules</nowiki></pre>
sudo m-a build,install fglrx-kernel
 
</nowiki></pre>
* Reconfigure Xserver:
''Note:'' Add the '''-f''' switch to force a rebuild if necessary.
** Update the system's module dependencies.
<pre><nowiki>
<pre><nowiki>
sudo dpkg-reconfigure xserver-xorg</nowiki></pre> If '''ati''' is auto-selected at the video card selection screen, then go down to select '''fglrx'''. Leave other settings to their default value. Or, if you really know what you're doing, do the following instead:
sudo depmod -a
</nowiki></pre>
** Remove the now-unnecessary fglrx source .deb file.
<pre><nowiki>
<pre><nowiki>
sudo sed -e 's/"ati"/"fglrx"/' -i /etc/X11/xorg.conf</nowiki></pre>
* Restart your computer
=== Install from ati.com (latest version of drivers) ===
==== Instructions for 7.04 (Feisty) ====
===== Preparation =====
Although it is possible to use the instructions for 6.10 on 7.04, there is a simpler and possibly more painless way to install of 7.04. First, download the drivers installer (not the rpms) from [http://ati.amd.com/support/driver.html ati.amd.com]. It is recommended to save it to an empty directory since the installer will create a bunch of files.
Next, in order to build the packages, we need some basic developer tools. To get these tools, first enable the universe and restricted sections of Ubuntu (see AddingRepositoriesHowto for help). Once the repositories are enabled, install the needed developer tools with
<code><nowiki>sudo apt-get install module-assistant build-essential debhelper debconf dh-make fakeroot libstdc++5 linux-headers-generic</nowiki></code>
===== Installation =====
Build Ubuntu packages from the installer by opening a terminal, entering the directory that you saved the installer to, and running
<code><nowiki>bash ./ati-driver-installer-<version>.run --buildpkg Ubuntu/feisty</nowiki></code>
where <version> is the version number of the driver you downloaded. This will take a short time. After finishing, the installer will create several debs. Use the command "dpkg -i <filename>" to install the fglrx-kernel-source<something>.deb and the xorg-driver-fglrx<something>.deb. The other two debs created will be fglrx development headers which you probably will not need and the AMD Control Panel which doesn't work.
After installing the kernel source and xorg driver, you will now need to compile the fglrx kernel module in order to get 3-d rendering. Do so with the following commands:
<pre><nowiki>sudo m-a prepare,update
sudo m-a build,install fglrx-kernel (or module-assistant -f to force a rebuild if needed)
sudo depmod
sudo rm -f /usr/src/fglrx-kernel*.deb
sudo rm -f /usr/src/fglrx-kernel*.deb
</nowiki></pre>
</nowiki></pre>
 
** Add 'fglrx' to the modules blacklist so that Ubuntu does not try to update it.
===== Configuration =====
**** Open '''/etc/default/linux-restricted-modules-common''' using your favorite editor.
Ubuntu 7.04 ships with a utility to automate configuration of fglrx. Open it at "System -> Administration -> Restricted Drivers Manager" (you may have to install the restricted-manager and linux-restricted-modules-generic package). Select "ATI accelerated graphics driver" and hit apply. The Restricted Drivers Manager will then automagically change xorg.conf and several other files. However, even at this point, the setup is '''not''' finished. At next boot, Ubuntu will load an old version of fglrx, so you have to blacklist it by changing /etc/default/linux-restricted-modules-common to include DISABLED_MODULES="somemodule2 fglrx" where somemodule2 is the old contents of that line. When you have finished this last change, reboot and (hopefully) enjoy your 3-d acceleration.
**** If it is does not already exist, then edit the line starting with '''DISABLED_MODULES''' so that fglrx is included in the list.
 
**** Modules are separated using spaces.  For example:  '''DISABLED_MODULES="fglrx atheros"'''
* '''Finishing the Installation'''
With the driver and kernel modules now added to the system, there's a few miscellaneous tasks left to get it properly loaded.
** If you need your ''xorg.conf'' file updated, then install and run Ubuntu's '''Restricted Drivers Manager''' (restricted-manager and linux-restricted-modules-generic).
** Make sure your ''xorg.conf'' has the '''Composite''' extension disabled. If the following doesn't exist in your ''xorg.conf'', add it at the bottom of the file. 
<pre><nowiki>
Section "Extensions"
Option  "Composite" "Disable"
EndSection
</nowiki></pre>
** Reboot to load the new driver.
* '''Kernel Updates'''
** Because the driver depends on a custom built kernel module, anytime you update to a new kernel you will need to recompile the driver kernel module as detailed in the '''Compile and Install the Kernel Module''' section. This will require that you also have installed the ''linux-headers'' package that corresponds to the new kernel prior to rebuilding the driver module.
** After the module has been rebuilt and installed, you can regain direct rendering by performing the following:
*** Log into a console ''(ctrl+alt+f1)''
*** Type the following commands: 
<pre><nowiki>
sudo /etc/init.d/gdm stop
sudo rmmod fglrx
sudo modprobe fglrx
sudo /etc/init.d/gdm start
</nowiki></pre>
''Note:'' You may ignore any errors resulting from the rmmod command.
''Note:'' KDE users will want to replace ''gdm'' with ''kdm''
*  '''Troubleshooting'''
With any luck, after rebooting the fglrx driver should be working properly.  If not, refer to the Troubleshooting sections of this guide or the Ubuntu forums.


==== Instructions for 6.10 (Edgy) ====
==== Instructions for 6.10 (Edgy) ====
第410行: 第506行:


==== More Troubleshooting ====
==== More Troubleshooting ====
* If after everything you still get indirect rendering when typing "fglrxinfo" run:
<pre><nowiki>
$ depmod -ae
</nowiki></pre>
Now reboot and hope for the best.


* If you're using an AMD64 configuration and your Xorg.0.log mentions a 'duplicate symbol rol_long' message, comment out the 'Load "int10"' line in the Module section of /etc/X11/xorg.conf
* If you're using an AMD64 configuration and your Xorg.0.log mentions a 'duplicate symbol rol_long' message, comment out the 'Load "int10"' line in the Module section of /etc/X11/xorg.conf

2007年11月22日 (四) 12:06的版本

{{#ifexist: :BinaryDriverHowto/ATI/zh | | {{#ifexist: BinaryDriverHowto/ATI/zh | | {{#ifeq: {{#titleparts:BinaryDriverHowto/ATI|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:BinaryDriverHowto/ATI|1|-1|}} | zh | | }}


By default Ubuntu will use the open source 'ati' or 'radeon' driver for cards that manufactured by ATI. Some users however prefer the proprietary 'fglrx' driver for various reasons. The instructions on this page will tell you how to use this driver.

There are 2 ways you can install proprietary fglrx drivers. The preferred way is to use the drivers provided via the Ubuntu repositories. More advanced users can also try the drivers from ati.com. Both approaches are documented below and you need to take only one of them. The Ubuntu-provided ones are the safest bet, the ati.com ones however may be needed (eg: when you need hibernation).

As mentioned elsewhere, if you encounter bugs with these closed-source drivers, developers will not be willing or even able to assist you in resolving your issues. Use at your own risk. We encourage our users to prefer open source drivers.

Prerequisites

Make sure the following things are true about your video card:

  • It is a 'Radeon' card
  • The model of the card is in the 9xxx series, 9500 or higher, or it is in the X series (e.g. X300), or it has TV-Out capability. The 'fglrx' driver does not support cards earlier than the 9500.
  • The command lspci reveals a card with "ATI" in its name
  • You need hardware-accelerated 3D support, or display refresh rates higher than 60 Hz. The open source drivers are fine for all other areas.
  • Some basic knowledge of a Linux command line (see UsingTheTerminal)

Note that if you own an ATI card from the R400 series or below, you already have working 2D and may have accelerated 3D with the default drivers. These cards include:

  • R400 series Xnnn (X800, X700, etc) (3D works)
  • R300 series (9300+) (3D works)
  • R200 and R100 series (9200 and below)

For specific chipsets and models, see the Xorg 7.0 Release Notes.

The TV-Out functionality may not work with the open source drivers; if you don't have TV-Out or don't want to use it, however, then you probably don't need to use fglrx.


Install from Ubuntu repositories (easier)

Instructions for Kubuntu 7.10 (Gutsy)

First make sure linux-restricted-modules-generic and restricted-manager-kde are both installed

sudo apt-get install linux-restricted-modules-generic restricted-manager-kde

Open the restricted drivers manager from KMenu → System Settings → Advanced → Restricted Drivers and select "ATI accelerated graphics driver". This will hopefully enable fglrx in a painless way. If not, follow the instructions for Feisty.


Instructions for Ubuntu 7.04 (Feisty) and Ubuntu 7.10 (Gutsy)

  • Install linux-restricted-modules and restricted-manager provided in the restricted repositories:
sudo apt-get update
sudo apt-get install linux-restricted-modules-generic restricted-manager

Open the restricted drivers manager in "System -> Administration -> Restricted Drivers Manager" and select "ATI accelerated graphics driver". This will hopefully enable fglrx in a painless way. If not, follow the instructions for Edgy.

Instructions for Kubuntu 7.04 (Feisty)

  • Install linux-restricted-modules from the restricted repositories:
sudo apt-get update
sudo apt-get install linux-restricted-modules-generic
  • Install the driver provided by ati included in the repositories:
sudo apt-get update
sudo apt-get install xorg-driver-fglrx
  • You might also want to install a control panel for your graphic card. Please note that I do not recommend it, as it seems to be buggy, and generally doesnt work.
sudo apt-get install fglrx-control
  • Make sure fglrx is not disabled in the DISABLED_MODULES part: kdesu kate /etc/default/linux-restricted-modules-common.
  • Generate a new set of module dependencies so the fglrx driver starts properly.
sudo depmod -a
  • You now have to configure xorg to use your graphic card. The aticonfig tool, provided with the driver, will do that for you (aticonfig does not seem to work for Gutsy Gibbons):
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
  • ATI are well known not to be able to provide correct drivers for their hardware so you will have to deactivate the composite extension in /etc/X11/xorg.conf , otherwise you will get a jerky video display: kdesu kate /etc/X11/xorg.conf, and add the following lines at the end of the file:
Section "Extensions"
	Option	    "Composite" "disable"
EndSection

// After making all those modifications, your X server might not want to start again. Don't worry, you can still modify xorg.conf using nano sudo nano /etc/X11/xorg.conf. To save changes press Ctrl-O and to quit press Ctrl-X. To start X again type startx //

Save and restart the X server by logging out and selecting Restart X Server from the menu or press Alt+E

Confirm it worked, by issuing the "fglrxinfo" command: Note: fglrxinfo/glxinfo may not work properly for you via SSH and via the console when logged in as root.

Output should be similar to this:

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9700 Generic
OpenGL version string: 2.0.5755 (8.24.8)

Instructions for 6.10 (Edgy)

  • Install the driver provided by ati included in the repositories:
sudo apt-get update
sudo apt-get install xorg-driver-fglrx
  • You might also want to install a control panel for your graphic card. Please note that I do not recommend it, as it seems to be buggy, and generally doesnt work.
sudo apt-get install fglrx-control
  • Make sure fglrx is not disabled: gksudo gedit /etc/default/linux-restricted-modules-common, or in Kubuntu kdesu kate /etc/default/linux-restricted-modules-common.
  • Generate a new set of module dependencies so the fglrx driver starts properly.
sudo depmod -a
  • You now have to configure xorg to use your graphic card. The aticonfig tool, provided with the driver, will do that for you:
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
  • ATI are well known not to be able to provide correct drivers for their hardware so you will have to deactivate the composite extension in /etc/X11/xorg.conf , otherwise you will get a jerky video display: gksudo gedit /etc/X11/xorg.conf or if on Kubuntu: kdesu kate /etc/X11/xorg.conf, and add the following lines at the end of the file:
Section "Extensions"
	Option	    "Composite" "disable"
EndSection

// After making all those modifications, your X server might not want to start again. Don't worry, you can still modify xorg.conf using nano sudo nano /etc/X11/xorg.conf. To save changes press Ctrl-O and to quit press Ctrl-X. To start X again type startx //

Save and restart xorg by pressing Ctrl Alt and Backspace simultaneously.

Confirm it worked, by issuing the "fglrxinfo" command:

  • fglrxinfo/glxinfo may not work properly for you via SSH and via the console when logged in as root.
$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9700 Generic
OpenGL version string: 2.0.5755 (8.24.8)
Troubleshooting

If fglrxinfo gives you the following, your installation is not completed correctly:

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.4.1)

These two commands might fix your installation, try this, reboot, and run fglrxinfo again:

sudo mkdir -p /usr/X11R6/lib/modules/dri 
sudo ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri 

Source for the Mesa fix, with in-depth explanation

If the above fix did not work, watch for these things:

  • As fglrx is proprietary, just like many other proprietary software you might want to try to reboot your machine.
  • Make sure that the resctricted-modules package installed correspond to the kernel your are running and that you can load the fglrx driver, either by issuing the command "sudo modprobe fglrx" or by verifying that the module appears in the list of loaded modules, by issuing the command "lsmod";
  • It may be necessary to establish a symbolic link for the /usr/lib/dri folder, by issuing the following command: "sudo ln -s /usr/lib/dri /usr/lib/xorg/modules/dri";
  • You may have to unload the radeon and dri modules, by issuing "sudo rmmod radeon" and "sudo rmmod dri";
  • Make sure you unload the module ati-agp by issuing "sudo rmmod ati-agp" and blacklist it in /etc/modprobe.d/blacklist.
  • Check the /etc/X11/xorg.conf in Section "Module" to have this line: Load "dri" and it is not commented.
  • Check the /var/log/Xorg.0.log file for errors. Firstly, search for (EE) (You can probably ignore any wacom entries). If you find the following then the Composite extension has been enabled (on my system it seems to be enabled by default, and must be explicitly disabled):
(II) fglrx(0): Composite extension enabled, disabling direct rendering
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed!                  *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO)             *
(WW) fglrx(0): * no 3D acceleration available                *
(WW) fglrx(0): ********************************************* *

The ATI binary drivers do not support Composite. Ensure that the following entry is not in your xorg.conf:

Section "Extensions"
Option "Composite" "true"
EndSection

If there is no Composite entry, add one specifying "false" rather than true. This was necessary on my system.

If you are looking for a specific video configuration please read the driver's manual. It will tell you all about dual-head configurations for example :) .

man fglrx

If you suffer from a "white screen" overlayed onto gdm upon logout and the system seizing up, i.e., if you share the Ubuntu system with multiple users, then modify the file /etc/X11/gdm/gdm.conf and either add or change the AlwaysRestartServer option:

AlwaysRestartServer=true

Instructions for 6.06 (Dapper)

Install the kernel drivers. These drivers should be installed by default, but it's better to make sure they are installed. You need the package linux-$arch, where you replace $arch by the CPU architecture for the machine. This is 386 for Intel Pentium, 686 for Celeron, Pentium Pro, Pentium II, Pentium III, and Pentium 4 without Hyper-Threading. 686-smp for Pentium 4 with Hyper-Threading, or k7 or k7-smp for AMD athlon. On 64-bit systems, this may be amd64-generic, amd64-k8, amd64-k8-smp, or amd64-xeon.

sudo apt-get install linux-686
or
sudo apt-get install linux-k7
or
...

You also need to install the restricted-modules package that match ***exactly*** the kernel you are running, as well as specific required packages: (if you ran the previous command, make sure to reboot on your new kernel, otherwise this will install the wrong kernel modules !)

sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r)
sudo apt-get install xorg-driver-fglrx fglrx-control

Please note that the fglrx-control package is not compulsory as it seems to be buggy (but wont affect your machine in anyway :) ).

If the restricted-modules package for the kernel you are running is not available (it happens sometimes with K/Ubuntu), you may have to opt for running a kernel for which this package is available or to install the drivers directly from the setup script provided by ATI (https://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=27)

Once the above packages are correctly installed, run these commands:

sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv

Then go back and edit xorg.conf with your favorite editor, perhaps:

gksudo gedit /etc/X11/xorg.conf

or:

kdesu kate /etc/X11/xorg.conf

and make sure that under the "Device" section, the Driver is set to

Driver "fglrx"

You will have 2 device sections related to your graphic card, one is the pre-aticonfig one, and should use the ati or radeon driver. No need to change this part as it is not used by xorg anymore. The other device section however will have to use the fglrx driver.

It appears that fglrx is often unstable, at least on AMD64. System may lock on 8.25 driver. 3D accell may not work on 8.28. The 8.26.18 driver may be your best bet, as of Sept2006. Instructions for updating drivers are at: http://wiki.cchtml.com/index.php/Ubuntu_Dapper_Installation_Guide#Method_2:_Generating.2FInstalling_Ubuntu_packages_for_the_8.28.8_drivers_in_Ubuntu_Dapper_Manually But I recommend 8.26 at this time, not 8.28.

Reboot.

Confirm it worked, by issuing the "fglrxinfo" command:

  • fglrxinfo/glxinfo may not work properly for you via SSH and via the console when logged in as root.
$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9700 Generic
OpenGL version string: 2.0.5755 (8.24.8)

Source: http://wiki.cchtml.com/index.php/Ubuntu_Dapper_Installation_Guide

Troubleshooting

You may see a message Xlib: extension "XFree86-DRI" missing on display ":1.0. If the line load "dri" in Section "Module" is missing from your /etc/X11/xorg.conf then add it. However this message does not necessarily indicate a problem.

If fglrxinfo gives you the following, your installation is not completed correctly:

  • fglrxinfo/glxinfo may not work properly for you via SSH and via the console when logged in as root.
$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.4.1)

In this case, watch for these things:

  • Make sure that the resctricted-modules package installed correspond to the kernel your are running and that you can load the fglrx driver, wether by issuing the command "sudo modprobe fglrx" or by verifying that the module appears in the list of loaded modules, by issuing the command "lsmod";
  • It may be necessary to establish a symbolic link for the /usr/lib/dri folder, by issuing the following command: "sudo ln -s /usr/lib/dri /usr/lib/xorg/modules/dri";
  • You may have to deload the radeon and dri modules, by issuing "sudo rmmod radeon" and "sudo rmmod dri";
  • Make sure you deload the module ati-agp by issuing "sudo rmmod ati-agp" and blacklist it in /etc/modprobe.d/blacklist.
  • Check the /etc/X11/xorg.conf in Section "Module" to have this line: Load "dri" and it is not commented.

Install from ati.com (latest version of drivers)

Instructions for Ubuntu 7.10 (Gutsy) with ATi 8.42.3 Binary and AIGLX, for Compiz

A bit of work is required, but it is worth it if the window-resizing bug is a pain for you. See this post: http://combatwombat.7doves.com/index.php/2007/10/31/gutsy_effort_in_new_ati_driver

Also contains details on fixing the MESA problem that are not mentioned below.

Instructions for 7.04 (Feisty)

In order to properly install the latest drivers from ati.amd.com, their executable installer needs to be converted into a .deb package file that can then be installed using the package system. In order to perform this conversion, some basic developer tools need to be installed.

  • Install Developer Tools
    • Ensure the Universe and Restricted repositories are enabled (See AddingRepositoriesHowto for more help)
    • Run the following command to download all the necessary tools:
sudo apt-get install module-assistant build-essential debhelper debconf dh-make fakeroot libstdc++5 linux-headers-generic
  • Create the .deb Package File
    • Navigate to the directory that contains the downloaded driver file.
    • Run the following command to perform the conversion:
bash ./ati-driver-installer-<version>.run --buildpkg Ubuntu/feisty

Note: Replace the <version> portion with the matching version number of the driver downloaded.

    • After successfully completing, there should now be several .deb package files in the directory.
  • Install the .deb Packages
    • Run the following command to install the driver kernel module source.
sudo dpkg -i fglrx-kernel-source_<version>.deb
    • Run the following command to install the Xorg driver
sudo dpkg -i xorg-driver-fglrx_<version>.deb
    • Keep in mind that the filenames listed in the examples are not exact, as the .deb files created typically have an architecture suffix on the end of them, such as i386. Modify the filename as necessary.
    • The remaining .deb files are unnecessary and can be removed.
  • Compile and Install the Kernel Module

Although the Xorg driver is installed, fglrx does not run without an accompanying kernel driver. In the previous step, the kernel driver's source was installed, but the source now needs to be compiled.

    • Prepare and update module-assistant so it's current.
 
sudo m-a prepare,update
    • Build and Install the kernel module
sudo m-a build,install fglrx-kernel

Note: Add the -f switch to force a rebuild if necessary.

    • Update the system's module dependencies.
sudo depmod -a
    • Remove the now-unnecessary fglrx source .deb file.
sudo rm -f /usr/src/fglrx-kernel*.deb
    • Add 'fglrx' to the modules blacklist so that Ubuntu does not try to update it.
        • Open /etc/default/linux-restricted-modules-common using your favorite editor.
        • If it is does not already exist, then edit the line starting with DISABLED_MODULES so that fglrx is included in the list.
        • Modules are separated using spaces. For example: DISABLED_MODULES="fglrx atheros"
  • Finishing the Installation

With the driver and kernel modules now added to the system, there's a few miscellaneous tasks left to get it properly loaded.

    • If you need your xorg.conf file updated, then install and run Ubuntu's Restricted Drivers Manager (restricted-manager and linux-restricted-modules-generic).
    • Make sure your xorg.conf has the Composite extension disabled. If the following doesn't exist in your xorg.conf, add it at the bottom of the file.
Section "Extensions"
Option  "Composite" "Disable"
EndSection
    • Reboot to load the new driver.
  • Kernel Updates
    • Because the driver depends on a custom built kernel module, anytime you update to a new kernel you will need to recompile the driver kernel module as detailed in the Compile and Install the Kernel Module section. This will require that you also have installed the linux-headers package that corresponds to the new kernel prior to rebuilding the driver module.
    • After the module has been rebuilt and installed, you can regain direct rendering by performing the following:
      • Log into a console (ctrl+alt+f1)
      • Type the following commands:
sudo /etc/init.d/gdm stop
sudo rmmod fglrx
sudo modprobe fglrx
sudo /etc/init.d/gdm start

Note: You may ignore any errors resulting from the rmmod command. Note: KDE users will want to replace gdm with kdm

  • Troubleshooting

With any luck, after rebooting the fglrx driver should be working properly. If not, refer to the Troubleshooting sections of this guide or the Ubuntu forums.

Instructions for 6.10 (Edgy)

Download what's needed:

  • Download the appropiate drivers from ati.amd.com. You will need the ATI Driver Installer, not the separate XFree86/X.org rpm packages. Save the installer into an empty directory (or at least one containing no *.deb files), since it will create some new files.
  • Make sure the universe section of the Ubuntu repositories is enabled (See the AddingRepositoriesHowto), and then run:
 sudo aptitude install module-assistant build-essential debhelper debconf dh-make fakeroot libstdc++5 linux-headers-$(uname -r)

Disable Composite Extension:

In Ubuntu Edgy the Composite extension is enabled by default, however, fglrx does not yet support Composite with DRI. To disable Composite you must edit the /etc/X11/xorg.conf file, so add these lines at the end of xorg.conf:

Section "Extensions"
Option  "Composite" "Disable"
EndSection

Blacklist old fglrx module from linux-restricted-modules

As ubuntu's linux-restricted-modules package includes the fglrx module from an old driver version (8.28.8), we have to blacklist this module to make sure the new kernel module which is needed by the new driver will be used instead.

gksudo gedit /etc/default/linux-restricted-modules-common
or, on Kubuntu,
kdesu kate /etc/default/linux-restricted-modules-common

We need to add fglrx (only! don't remove anything!) to this:
DISABLED_MODULES="somemodule2 fglrx"

Next,

  • Perform the following commands (where <version> is the version number of the installer):
sudo ln -sf bash /bin/sh
bash ./ati-driver-installer-<version>.run --buildpkg Ubuntu/edgy
sudo ln -sf dash /bin/sh
You may need to wait a few mintues for this to complete.

This will create a number of .deb files in the current directory.

next,

sudo dpkg -i *.deb

next you build the kernel module - (also note, this has to be done every time you upgrade the kernel)

sudo module-assistant prepare,update
sudo module-assistant build,install fglrx-kernel (or module-assistant -f to force a rebuild if needed)
sudo depmod
sudo rm -f /usr/src/fglrx-kernel*.deb

now see Modifying xorg.conf. Skip the "lrm-manager" and "depmod" commands.

After a reboot, confirm that it worked, by issuing the "fglrxinfo" command, as mentioned elsewhere on this page. Look at the troubleshooting sections to confirm if the output of the command is correct.

Instructions for 6.06 (Dapper)

  • Download the apropiate drivers from ati.com. You will need the ATI Driver Installer, not the seperate XFree86/X.org rpm packages. Save the installer into an empty directory (or at least one containing no *.deb files), since it will create several new files.
  • Make sure the universe section of the Ubuntu repositories is enabled (See the AddingRepositoriesHowto)
  • Perform the following commands (where <version> is the version number of the installer):
$ sudo apt-get install fakeroot gcc-3.4 module-assistant build-essential debhelper
$ fakeroot sh ./ati-driver-installer-<version>.run --buildpkg Ubuntu/edgy
You may need to wait a few mintues for this to complete.

This will create a number of .deb files in the current directory. note: If you run Dapper, replace "edgy" (above) with "dapper".

1 sudo dpkg -i *.deb
2 sudo module-assistant prepare,update
3 sudo module-assistant build,install fglrx-kernel
4 sudo depmod
note: You need to repeat steps 2-4 - building the kernel module - 
everytime you upgrade the kernel.
Seveas Repository

You do not need to take all these steps if you run an up-to-date Dapper installation on a 32 bit system. Dennis Kaarsemaker provides these packages in a repository. Add the following line to /etc/apt/sources.list:

deb http://mirror.ubuntulinux.nl/ dapper-seveas drivers

(There also is breezy-seveas for the Breezy users)

Then you can simply install the ubuntu-fglrx-$arch (see above for the meaning of $arch) package.

/!\ The fglrx driver on Dapper (8.26.18-1) can cause rss-glx screensavers to run very slowly.


Modifying xorg.conf

When you install from ati.com drivers or the dapper-seveas repository, you still need to change xorg.conf and add the fglrx module to /etc/modules as described under "Ubuntu provided drivers". There are scripts from ATI that may or may not work for you. They will backup xorg.conf before modifying it.

$ sudo aticonfig --initial
$ sudo aticonfig --overlay-type=Xv

/!\ Whether you install manually or from dapper-seveas, you MUST disable the Ubuntu-provided fglrx by performing these actions:

  • Disable fglrx in /etc/default/linux-restricted-modules-common
  • Run sudo /sbin/lrm-manager
  • Run sudo depmod -a
  • Reboot

There is a forum thread on installing ATI drivers from ati.com. Look there if you have trouble, and if your problem isn't already solved there, post a question.

Troubleshooting

  • If you run Edgy, you might get something like ./ati-installer.sh: 156: Syntax error: Bad substitution while trying to run the installer. This is because Edgy replaced the Shell sh with dash. Here you can see my very brutal solution (take care!):
$ sudo mv /bin/sh /bin/sh.old
$ sudo ln -s /bin/bash /bin/sh
$ fakeroot sh ./ati-driver-installer-<version>.run --buildpkg Ubuntu/edgy
$ sudo rm /bin/sh
$ sudo mv /bin/sh.old /bin/sh
  • At the moment (Aug 14th, 2006), the installer can only build packages for dapper, not edgy. That's no problem, it'll still work. If the driver still doesn't run correctly, you might repeat the same steps like above, but with --extract instead of --buildpkg Ubuntu/dapper:
  • With 8.30.3 (Nov 08th, 2006) --buildpkg Ubuntu/edgy worked. -- i cannot confirm that, i have 6.10 and it still doesn't work (error in line 999)
$ sudo mv /bin/sh /bin/sh.old
$ sudo ln -s /bin/bash /bin/sh
$ fakeroot sh ./ati-driver-installer-<version>.run --extract
$ sudo rm /bin/sh
$ sudo mv /bin/sh.old /bin/sh

A new directory appears. Copy the X.org drivers where they belong to:

$ sudo cp fglrx-install/x710/usr/X11R6/lib/modules/drivers/fglrx_drv.so /usr/lib/xorg/modules/drivers/fglrx_drv.so
$ sudo cp fglrx-install/x710/usr/X11R6/lib/modules/linux/libfglrxdrm.so /usr/lib/xorg/modules/linux/libfglrxdrm.so

Ok, that's it. Time to clean up:

$ rm -rf fglrx-install fglrx-installer_8.27.10-1_i386.changes

Good Luck!

More Troubleshooting

  • If after everything you still get indirect rendering when typing "fglrxinfo" run:
$ depmod -ae

Now reboot and hope for the best.

  • If you're using an AMD64 configuration and your Xorg.0.log mentions a 'duplicate symbol rol_long' message, comment out the 'Load "int10"' line in the Module section of /etc/X11/xorg.conf
  • If you are using an ATI Radeon Xpress 200M on an AMD64 CPU and the fglrx driver crashes with a blank screen on startup, change your BIOS settings to use the UMA+Sideport Video Mode with 128MB of Shared Video Memory. See http://ensode.net/ati_radeon_xpress_200m_linux.html
  • If you are going to compile 3d applications, you will want to install the `fglrx-driver-dev` package
  • The fglrx doesn't support 16 bit colour on some chip sets, if you have problems with X locking up on boot try setting this in your xorg.conf file to 24
  • If you are having problems related to DRI or 3d acceleration and the following lines show up in your /var/log/Xorg.0.log
(WW) fglrx(0): Kernel Module version does *not* match driver.
(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work

then make sure you installed either linux-$arch or ubuntu-fglrx-$arch.

Another reason for either this error message, or incorrect driver information when running fglrxinfo (reports that the mesa driver is still being used) could be that the (K)Ubuntu fglrx drivers were not uninstalled before installing the ATI driver, or that the restricted-modules package is installed.

To fix this issue, start Adept or Synaptic and remove the fglrx packages supplied with (K)Ubuntu as well as the restricted-modules package. Quit KDE and go to a console.

$ sudo modprobe -r fglrx
$ gksudo gedit /etc/X11R6/xorg.conf
or
$ kdesu kate /etc/X11R6/xorg.conf

Change the driver for the device to 'ati' instead of fglrx to use the standard Xorg supplied driver.

$ startx

Now re-run the ATI driver installation

  • If there are no obvious error messages in Xorg.0.log but 3D acceleration is still not working, you should look at glxinfo output in debug mode:
LIBGL_DEBUG=verbose glxinfo

Possibly there are some errors in the beginning concerning not found drivers in /usr/X11R6/lib/modules/dri/. This could be the case if you used the driver from ATI and are now using again the provided fglrx driver. ATI's fglrx driver installs a script in /etc/X11/Xsession.d/10fglrx which changes the search path for libraries, causing 3D-related errors. In this case just remove the script:

$ sudo rm /etc/X11/Xsession.d/10fglrx
  • Sometimes 2D acceleration with xv is not enabled. You need this for smooth video playback among other things. In this case you should check if your /etc/X11/xorg.conf contains the line Option "VideoOverlay" "on" in the corresponding section:
Section "Device"
Identifier      "ATI Radeon"
Driver          "fglrx"
Option          "VideoOverlay" "on"
BusID           "PCI:1:0:0"
EndSection
  • You might want to install the fglrx-control package, which provides a control panel to configure graphics card options such as dual-head display (two monitors) and TV out.
  • Some people might experience random hangups. I heard that this might help: Edit /etc/X11/xorg.conf and add the following options in the corresponding section:
Section "Device"
Identifier  "ATI Technologies, Inc. ATI Default Card"
Driver      "fglrx"
Option       "no_accel" "no"
Option       "no_dri" "no"
Option       "DynamicClocks" "on"
Option       "mtrr" "on"
Option       "DesktopSetup" "Single"
Option       "ScreenOverlap" "0"
Option       "Capabilities" "0x00000000"
Option       "CapabilitiesEx" "0x00000000"
Option       "VideoOverlay" "on"
Option       "OpenGLOverlay" "off"
Option       "CenterMode" "off"
Option       "PseudoColorVisuals" "off"
Option       "Stereo" "off"
Option       "StereoSyncEnable" "1"
Option       "FSAAEnable" "no"
Option       "FSAAScale" "1"
Option       "FSAADisableGamma" "no"
Option       "FSAACustomizeMSPos" "no"
Option       "FSAAMSPosX0" "0.000000"
Option       "FSAAMSPosY0" "0.000000"
Option       "FSAAMSPosX1" "0.000000"
Option       "FSAAMSPosY1" "0.000000"
Option       "FSAAMSPosX2" "0.000000"
Option       "FSAAMSPosY2" "0.000000"
Option       "FSAAMSPosX3" "0.000000"
Option       "FSAAMSPosY3" "0.000000"
Option       "FSAAMSPosX4" "0.000000"
Option       "FSAAMSPosY4" "0.000000"
Option       "FSAAMSPosX5" "0.000000"
Option       "FSAAMSPosY5" "0.000000"
Option       "UseFastTLS" "0"
Option       "BlockSignalsOnLock" "on"
Option       "UseInternalAGPGART" "no"
Option       "ForceGenericCPU" "no"
Option       "KernelModuleParm" "agplock=0"
Option       "PowerState" "1"
BusID       "PCI:1:0:0"
EndSection
  • On laptops, in /etc/default/acpi-support, consider setting
ENABLE_LAPTOP_MODE=true

The comments in that file mention that this setting can cause mysterious hangs, but battery life is considerably improved.

If you don't mind tinkering, you can get an ACPI capable laptop boot in lower power mode, as described here: UbuntuHelp:BinaryDriverHowto/Fglrx lowpower

Note: fglrx: version magic '2.6.17-10-generic SMP mod_unload 586 REGPARM gcc-3.3' should be '2.6.17-10-generic SMP mod_unload 586 REGPARM gcc-4.1' - if you get errors similar to this (check via dmesg|grep -i fglr) and maybe if modprobe fglrx returns "FATAL: Error running install command for fglrx" then this means you did not compile the fglrx kernel module using the correct GCC version. In this example, gcc3.3 was used, while gcc4.1 is required. To fix:

sudo aptitude install gcc-4.1
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc

Now you should rebuild the fglrx kernel module. 
For example: 
sudo module-assistant -f build,install fglrx-kernel

If you need to remove the fglrx source code before rebuilding for some reason, you can try:

 sudo apt-get remove fglrx-kernel-source fglrx-kernel fglrx-kernel-$(uname -r)

you'll then need to again get the fglrx deb files (from the ATI installer) before you can build again.

after all this, reboot.

  • Check the AGP aperture size.
$ dmesg | grep aperture
[    30.1234] agppart: AGP aperture is 512M @ 0x0000000
or
[    30.1234] agppart: AGP aperture is 4M @ 0x0000000

I have a Asus K8S-MX and a Radeon R350 (Radeon 9800 pro). I just had 4M. There is a know bug in the sis760 driver. I found some information here: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/34144

the AGP aperture is only 4M this is never going to be big enough for the radeon driver
you should check your BIOS to see if you can increase it.. that or the sis driver is getting the wrong size somehow..

a link to https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/45942 gives this 'solution' I just renamed 'sis-agp.ko' to 'sis-agp.ko.bak' and everything worked. I did the same and now I have xgl and beryl running.

Other links