Difference between revisions of "Ubuntu Edgy Installation Guide"

From cchtml.com
Jump to: navigation, search
(QepygAQQCrkMLVIAq)
m (Protected "Ubuntu Edgy Installation Guide": Excessive vandalism ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
What a joy to find such clear thinking. Thanks for ponstig!
+
In Ubuntu Edgy you can choose between two methods of installing the proprietary ATI driver. If you are new to linux you should use the first method as it is a lot easier than the second one and will work well in most cases. The second method describes how to install the very latest driver version, but requires some additional work and knowledge.
 +
 
 +
== Method 1: Installing Edgy's Included Driver (8.28.8)==
 +
 
 +
The included fglrx driver supports Radeon 8500+ and the X-series cards up to X1900.
 +
 
 +
=== Disable Composite Extension ===
 +
 
 +
In Ubuntu Edgy the Composite extension is enabled by default, however, ''fglrx'' does not yet support Composite with DRI. In order to to disable Composite you have to edit the ''xorg.conf'' file:
 +
<pre>sudo gedit /etc/X11/xorg.conf</pre>
 +
and add these lines at the end of the file:
 +
{{Box File|/etc/X11/xorg.conf|
 +
<pre>Section "Extensions"
 +
        Option  "Composite" "Disable"
 +
EndSection</pre>
 +
}}
 +
 
 +
=== Installing the driver ===
 +
 
 +
Make sure the ''restricted'' repository is enabled in ''/etc/apt/sources.list'' or this guide will not work!
 +
 
 +
<pre>
 +
sudo apt-get update
 +
sudo apt-get install linux-restricted-modules-$(uname -r) #Okay if it is already installed
 +
sudo apt-get install xorg-driver-fglrx
 +
sudo depmod -a
 +
sudo aticonfig --initial
 +
sudo aticonfig --overlay-type=Xv
 +
</pre>
 +
 
 +
Now Reboot your system:
 +
 
 +
<pre>
 +
sudo shutdown -r now
 +
</pre>
 +
 
 +
An '''alternative''' to the '''aticonfig --initial''' command is to edit ''/etc/X11/xorg.conf'' and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc.
 +
 
 +
=== Confirm that it works ===
 +
<pre>
 +
fglrxinfo
 +
display: :0.0  screen: 0
 +
OpenGL vendor string: ATI Technologies Inc.
 +
OpenGL renderer string: RADEON 9600 Generic
 +
OpenGL version string: 2.0.6011 (8.28.8)
 +
</pre>
 +
 
 +
=== Troubleshooting for Method 1 ===
 +
 
 +
*The output of '''dmesg | grep fglrx''' and /var/log/Xorg.0.log are most useful when looking for errors. You should really include this when you are asking for help somewhere.
 +
 
 +
*If you used Method 2 before, you have to unblacklist fglrx again by editing ''/etc/default/linux-restricted-modules-common''. You may have to run '''sudo lrm-manager''' afterwards.
 +
 
 +
*See [[#Troubleshooting for both Methods|Troubleshooting for both Methods]]
 +
 
 +
<br /><br />
 +
 
 +
== Method 2: Generating/Installing Ubuntu packages for the new 8.30.3 drivers in Ubuntu Edgy Manually ==
 +
 
 +
The new fglrx driver supports Radeon '''9'''500+ (older cards will not work!) and the X-series cards up to X1900.
 +
 
 +
=== Disable Composite Extension ===
 +
 
 +
In Ubuntu Edgy the Composite extension is enabled by default, however, ''fglrx'' does not yet support Composite with DRI. In order to to disable Composite you have to edit the ''xorg.conf'' file:
 +
<pre>sudo gedit /etc/X11/xorg.conf</pre>
 +
and add these lines at the end of the file:
 +
{{Box File|/etc/X11/xorg.conf|
 +
<pre>Section "Extensions"
 +
        Option  "Composite" "Disable"
 +
EndSection</pre>
 +
}}
 +
 
 +
=== 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.
 +
 
 +
<pre>sudo gedit /etc/default/linux-restricted-modules-common</pre>
 +
Edit ''DISABLED_MODULES'' to include fglrx
 +
{{Box File|/etc/default/linux-restricted-modules-common|
 +
<pre>DISABLED_MODULES="fglrx"</pre>
 +
}}
 +
 
 +
=== Installing the new driver ===
 +
 
 +
Download the ATI driver installer: [http://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.30.3.run ati-driver-installer-8.30.3.run] (this installer is for 32bit '''and''' 64bit systems)
 +
 
 +
Change to the download directory.  Make sure that you have the ''universe'' and ''multiverse'' repositories enabled in ''/etc/apt/sources.list'' before doing these steps.
 +
 
 +
''Install necessary tools:''
 +
 
 +
<pre>
 +
sudo apt-get update
 +
sudo apt-get install module-assistant build-essential
 +
sudo apt-get install fakeroot dh-make debconf libstdc++5 linux-headers-$(uname -r)
 +
</pre>
 +
 
 +
''Create .deb packages:''
 +
 
 +
<pre>
 +
sudo ln -sf bash /bin/sh
 +
bash ati-driver-installer-8.30.3.run --buildpkg Ubuntu/edgy
 +
sudo ln -sf dash /bin/sh
 +
</pre>
 +
 
 +
''Install .deb packages:''
 +
 
 +
<pre>
 +
sudo dpkg -i xorg-driver-fglrx_8.30.3-1*.deb
 +
sudo dpkg -i fglrx-kernel-source_8.30.3-1*.deb
 +
sudo dpkg -i fglrx-control_8.30.3-1*.deb
 +
</pre>
 +
 
 +
''Remove any old fglrx debs from /usr/src/:''
 +
 
 +
<pre>
 +
sudo rm /usr/src/fglrx-kernel*.deb
 +
</pre>
 +
 
 +
''Compile the kernel module:''
 +
 
 +
<pre>
 +
sudo module-assistant prepare
 +
sudo module-assistant update
 +
sudo module-assistant build fglrx
 +
sudo module-assistant install fglrx
 +
sudo depmod -a
 +
</pre>
 +
 
 +
'''IMPORTANT''': You have to recompile the kernel module after each kernel update!
 +
 
 +
''Update the xorg.conf file:''
 +
 
 +
<pre>
 +
sudo aticonfig --initial
 +
sudo aticonfig --overlay-type=Xv
 +
</pre>
 +
 
 +
'''Note:'''
 +
You could also edit your ''/usr/X11/xorg.conf'' file to change your driver to '''fglrx''' then run:
 +
 
 +
<pre>
 +
sudo aticonfig --overlay-type=Xv
 +
</pre>
 +
 
 +
This way your ''xorg.conf'' file will stay clean.
 +
 
 +
''Now Reboot:''
 +
 
 +
<pre>
 +
sudo shutdown -r now
 +
</pre>
 +
 
 +
=== Confirm that it worked ===
 +
 
 +
<pre>
 +
$ fglrxinfo
 +
display: :0.0  screen: 0
 +
OpenGL vendor string: ATI Technologies Inc.
 +
OpenGL renderer string: RADEON 9700 Generic
 +
OpenGL version string: 2.0.6119 (8.30.3)
 +
</pre>
 +
 
 +
<pre>
 +
$ glxinfo | grep render
 +
direct rendering: Yes
 +
</pre>
 +
 
 +
If your direct rendering is disabled, you may have to symlink the dri folder:
 +
 
 +
<pre>
 +
sudo mkdir /usr/X11R6/lib/modules
 +
sudo ln -s /usr/lib/dri /usr/X11R6/lib/modules/
 +
</pre>
 +
 
 +
=== Troubleshooting for Method 2===
 +
 
 +
==== xorg.conf ====
 +
 
 +
The '''aticonfig --initial''' command will not update the xorg.conf file if it already has a "fglrx" Device section.
 +
However, you may force aticonfig to generate default Monitor, Device, and Screen sections with the following command:
 +
 
 +
<pre>
 +
sudo aticonfig --force --initial
 +
</pre>
 +
 
 +
 
 +
<br /><br />
 +
 
 +
=== The module compiles, but doesn't work ===
 +
For some reason fglrx may need gcc-4.0 to compile, if you experience some message related to gcc version in dmesg, try this:
 +
 
 +
First we'll install it
 +
 
 +
<pre>
 +
sudo apt-get install gcc-4.0
 +
</pre>
 +
 
 +
and link it to gcc.
 +
 
 +
<pre>
 +
sudo ln -sf /usr/bin/gcc-4.0 /usr/bin/gcc
 +
</pre>
 +
 
 +
After doing the module-assistant steps, you may want to return gcc to 4.1 by default:
 +
 
 +
<pre>
 +
sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc
 +
</pre>
 +
 
 +
== Troubleshooting for both Methods ==
 +
 
 +
=== General ===
 +
 
 +
The output of '''dmesg | grep fglrx''' and /var/log/Xorg.0.log are most useful when looking for errors.
 +
 
 +
 
 +
=== DRI does not work although the fglrx module is loaded ===
 +
 
 +
If <strong>fglrxinfo</strong> shows:
 +
<pre>
 +
OpenGL vendor string: Mesa project: www.mesa3d.org
 +
</pre>
 +
 
 +
Make sure the Composite extension is disabled, add this to your /etc/X11/xorg.conf file:
 +
<pre>
 +
Section "Extensions"
 +
    Option "Composite" "Disable"
 +
EndSection
 +
</pre>
 +
 
 +
This should also resolve the corrupted mouse cursor problem in dual-head mode.
 +
 
 +
=== Module isn't loaded ===
 +
If the fglrx module isn't loaded try to add ''fglrx'' to /etc/modules on a new line. See also [https://launchpad.net/distros/ubuntu/+bug/63912 bug 63912].
 +
 
 +
{{Box File|/etc/modules|
 +
<pre>
 +
# /etc/modules: kernel modules to load at boot time.
 +
#
 +
# This file contains the names of kernel modules that should be loaded
 +
# at boot time, one per line. Lines beginning with "#" are ignored.
 +
 
 +
fglrx
 +
</pre>
 +
}}
 +
 
 +
=== 2D speed ===
 +
 
 +
If you suffer from slow 2D speed it might help to set
 +
Option "XaaNoOffscreenPixmaps"
 +
in the fglrx device section of ''/etc/X11/xorg.conf''
 +
 
 +
=== Is the rebooting really necessary? ===
 +
 
 +
No.
 +
 
 +
However, rebooting is the easiest method to ensure that the kernel module(s) from the old driver are unloaded and the fglrx module is loaded instead. If you don't want to reboot for some reason, you may manually shut down Xorg, unload any old "drm", "radeon" or "fglrx" modules and then start Xorg again.
 +
 
 +
Note: if ''modprobe fglrx'' can't find the ''fglrx'' module, try rebuilding your kernel module dependency:
 +
 
 +
<pre>
 +
sudo depmod -a
 +
</pre>
 +
 
 +
=== Revert to Xorg driver ===
 +
 
 +
If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing
 +
<pre>sudo dpkg-reconfigure xserver-xorg</pre>
 +
and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.
 +
 
 +
You also need to remove the xorg-driver-fglrx or your manually installed drivers to get the 3D acceleration back, since it is provided by file /usr/lib/libGL.so.1.2 which belongs to libgl1-mesa package and which is moved to backup and replaced at the installation of xorg-driver-fglrx (or the manually built) package. In case the removal of the fglrx drivers fails to restore the file from libgl1-mesa, you have to reinstall the package by running:
 +
 
 +
<pre>sudo apt-get install --reinstall libgl1-mesa</pre>

Latest revision as of 20:18, 1 September 2012

In Ubuntu Edgy you can choose between two methods of installing the proprietary ATI driver. If you are new to linux you should use the first method as it is a lot easier than the second one and will work well in most cases. The second method describes how to install the very latest driver version, but requires some additional work and knowledge.

Contents

Method 1: Installing Edgy's Included Driver (8.28.8)

The included fglrx driver supports Radeon 8500+ and the X-series cards up to X1900.

Disable Composite Extension

In Ubuntu Edgy the Composite extension is enabled by default, however, fglrx does not yet support Composite with DRI. In order to to disable Composite you have to edit the xorg.conf file:

sudo gedit /etc/X11/xorg.conf

and add these lines at the end of the file:

File: /etc/X11/xorg.conf
Section "Extensions"
        Option  "Composite" "Disable"
EndSection

Installing the driver

Make sure the restricted repository is enabled in /etc/apt/sources.list or this guide will not work!

sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r) #Okay if it is already installed
sudo apt-get install xorg-driver-fglrx
sudo depmod -a
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv

Now Reboot your system:

sudo shutdown -r now

An alternative to the aticonfig --initial command is to edit /etc/X11/xorg.conf and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc.

Confirm that it works

fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9600 Generic
OpenGL version string: 2.0.6011 (8.28.8)

Troubleshooting for Method 1

  • The output of dmesg | grep fglrx and /var/log/Xorg.0.log are most useful when looking for errors. You should really include this when you are asking for help somewhere.
  • If you used Method 2 before, you have to unblacklist fglrx again by editing /etc/default/linux-restricted-modules-common. You may have to run sudo lrm-manager afterwards.



Method 2: Generating/Installing Ubuntu packages for the new 8.30.3 drivers in Ubuntu Edgy Manually

The new fglrx driver supports Radeon 9500+ (older cards will not work!) and the X-series cards up to X1900.

Disable Composite Extension

In Ubuntu Edgy the Composite extension is enabled by default, however, fglrx does not yet support Composite with DRI. In order to to disable Composite you have to edit the xorg.conf file:

sudo gedit /etc/X11/xorg.conf

and add these lines at the end of the file:

File: /etc/X11/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.

sudo gedit /etc/default/linux-restricted-modules-common

Edit DISABLED_MODULES to include fglrx

File: /etc/default/linux-restricted-modules-common
DISABLED_MODULES="fglrx"

Installing the new driver

Download the ATI driver installer: ati-driver-installer-8.30.3.run (this installer is for 32bit and 64bit systems)

Change to the download directory. Make sure that you have the universe and multiverse repositories enabled in /etc/apt/sources.list before doing these steps.

Install necessary tools:

sudo apt-get update
sudo apt-get install module-assistant build-essential
sudo apt-get install fakeroot dh-make debconf libstdc++5 linux-headers-$(uname -r)

Create .deb packages:

sudo ln -sf bash /bin/sh
bash ati-driver-installer-8.30.3.run --buildpkg Ubuntu/edgy
sudo ln -sf dash /bin/sh

Install .deb packages:

sudo dpkg -i xorg-driver-fglrx_8.30.3-1*.deb
sudo dpkg -i fglrx-kernel-source_8.30.3-1*.deb
sudo dpkg -i fglrx-control_8.30.3-1*.deb

Remove any old fglrx debs from /usr/src/:

sudo rm /usr/src/fglrx-kernel*.deb

Compile the kernel module:

sudo module-assistant prepare
sudo module-assistant update
sudo module-assistant build fglrx
sudo module-assistant install fglrx
sudo depmod -a

IMPORTANT: You have to recompile the kernel module after each kernel update!

Update the xorg.conf file:

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

Note: You could also edit your /usr/X11/xorg.conf file to change your driver to fglrx then run:

sudo aticonfig --overlay-type=Xv

This way your xorg.conf file will stay clean.

Now Reboot:

sudo shutdown -r now

Confirm that it worked

$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9700 Generic
OpenGL version string: 2.0.6119 (8.30.3)
$ glxinfo | grep render
direct rendering: Yes

If your direct rendering is disabled, you may have to symlink the dri folder:

sudo mkdir /usr/X11R6/lib/modules
sudo ln -s /usr/lib/dri /usr/X11R6/lib/modules/

Troubleshooting for Method 2

xorg.conf

The aticonfig --initial command will not update the xorg.conf file if it already has a "fglrx" Device section. However, you may force aticonfig to generate default Monitor, Device, and Screen sections with the following command:

sudo aticonfig --force --initial




The module compiles, but doesn't work

For some reason fglrx may need gcc-4.0 to compile, if you experience some message related to gcc version in dmesg, try this:

First we'll install it

sudo apt-get install gcc-4.0

and link it to gcc.

sudo ln -sf /usr/bin/gcc-4.0 /usr/bin/gcc

After doing the module-assistant steps, you may want to return gcc to 4.1 by default:

sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc

Troubleshooting for both Methods

General

The output of dmesg | grep fglrx and /var/log/Xorg.0.log are most useful when looking for errors.


DRI does not work although the fglrx module is loaded

If fglrxinfo shows:

OpenGL vendor string: Mesa project: www.mesa3d.org

Make sure the Composite extension is disabled, add this to your /etc/X11/xorg.conf file:

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

This should also resolve the corrupted mouse cursor problem in dual-head mode.

Module isn't loaded

If the fglrx module isn't loaded try to add fglrx to /etc/modules on a new line. See also bug 63912.

File: /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

fglrx

2D speed

If you suffer from slow 2D speed it might help to set

Option		"XaaNoOffscreenPixmaps"

in the fglrx device section of /etc/X11/xorg.conf

Is the rebooting really necessary?

No.

However, rebooting is the easiest method to ensure that the kernel module(s) from the old driver are unloaded and the fglrx module is loaded instead. If you don't want to reboot for some reason, you may manually shut down Xorg, unload any old "drm", "radeon" or "fglrx" modules and then start Xorg again.

Note: if modprobe fglrx can't find the fglrx module, try rebuilding your kernel module dependency:

sudo depmod -a

Revert to Xorg driver

If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing

sudo dpkg-reconfigure xserver-xorg

and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.

You also need to remove the xorg-driver-fglrx or your manually installed drivers to get the 3D acceleration back, since it is provided by file /usr/lib/libGL.so.1.2 which belongs to libgl1-mesa package and which is moved to backup and replaced at the installation of xorg-driver-fglrx (or the manually built) package. In case the removal of the fglrx drivers fails to restore the file from libgl1-mesa, you have to reinstall the package by running:

sudo apt-get install --reinstall libgl1-mesa