Ubuntu Dapper Installation Guide

From cchtml.com
Revision as of 14:30, 26 February 2007 by Mooninite (talk | contribs) (revert spam changes)

NOTE: This guide is only for Ubuntu 6.06 (Dapper)! Guides for other versions of Ubuntu can be found at the Ubuntu page.

In Ubuntu Dapper 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 Dapper's Included Driver (8.25.18)

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

Unfortunately OpenGL seems to be broken for R200 cards (everything below Radeon 9500) in this driver version. The Troubleshooting section describes how to fix this after xorg-driver-fglrx is installed.

Installing the driver

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

Help on enabling repositories can be found at https://help.ubuntu.com/community/Repositories/Ubuntu.

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

Stein: For some reason I had to run "sudo apt-get install linux-restricted-modules-$(uname -r)" twice for it to properly install...

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.5814 (8.25.18)

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.
  • Unfortunately OpenGL seems to be broken for R200 cards (everything below Radeon 9500) in this driver version which results in messages like
[fglrx] API ERROR: could not register entrypoint for Uniform2iARB
and similar when running OpenGL applications. This may be fixed by replacing /usr/lib/libGL.so.1.2 with libGL.so.1.2 from the previous driver version (8.24.8). To do so download this file: libGL.so.1.2 and then copy it to the /usr/lib/ directory.
  • It might be necessary to create a symlink to get accelerated OpenGL:
sudo ln -s /usr/lib/dri /usr/lib/xorg/modules/dri
  • AMD64 users: It may also be necessary to update /etc/profile if using GDM. Update the $LIBGL_DRIVERS_PATH variable to point to the dri path above.
  • To ensure you automatically get the current linux-restricted-modules package with kernel updates, you should install the linux-restricted-modules-??? package matching your kernel-type (without version numer), e.g. linux-restricted-modules-386, linux-restricted-modules-686 or linux-restricted-modules-k7.
  • If you used Method 2 before, you have to unblacklist fglrx again by editing /etc/default/linux-restricted-modules-common
  • If the screen is coming up blank on startup, start in recovery mode then try editing your /etc/X11/xorg.conf file to remove this line
Load "extmod"
and optionally replace it with this
SubSection "extmod" 
     Option "omit XVideo" 
     Option "omit XVideo-MotionCompensation" 
     Option "omit XFree86-VidModeExtension" 
EndSubSection



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

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

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.25.18), we have to blacklist this module to make sure the new kernel module which is needed by the new driver will be used instead.

  • Note: You only need to do this if you've installed the "linux-restricted-modules" from Method 1 above.
sudo gedit /etc/default/linux-restricted-modules-common

Edit DISABLED_MODULES to include fglrx

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

Method 2: Install the Driver Manually

  • Note: This is an alternative installation method for the section above.

Download the ATI driver installer: ati-driver-installer-8.33.6-x86.x86_64.run(this installer is for 32bit and 64bit systems), taking care of which version needs for your device.

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:

sh ati-driver-installer-8.33.6-x86.x86_64.run --buildpkg Ubuntu/dapper 

Install .deb packages:

sudo dpkg -i xorg-driver-fglrx_8.33.6-1*.deb
sudo dpkg -i fglrx-kernel-source_8.33.6-1*.deb
sudo dpkg -i fglrx-control_8.33.6-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!

Configure the Driver

sudo aticonfig --initial
  • Note: 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.
sudo aticonfig --overlay-type=Xv


Finish the Installation

Now save any open document and reboot your system:

sudo shutdown -r now
  • Note: An alternative to rebooting is to restart the X Server by pressing your CTRL+ALT+BACKSPACE keys. You must remove any old kernel modules such as "drm" "radeon" or "fglrx" using the "rmmod" command. Example: rmmod fglrx

Post-Installation Checks

Verifying

Run the following command to check its output to ensure the fglrx driver is installed properly:

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

If your direct rendering is disabled then you may have to ensure fglrx_dri.so is where it should be. Try to symblink the dri folder if you get no direct rendering:

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

Troubleshooting for Method 2

Problems with module-assistant

If module-assistant is unable to build the module you may have to provide a Makefile.cpu file:

cd /usr/src
sudo touch kernel-headers-(version)/arch/i386/Makefile.cpu
cd /usr/src/linux
sudo make scripts/

With recent fglrx, the make.sh in /usr/src/fglrx.tar.bz2 (installed by the fglrx-kernel-source package) is not executable. You may need the following in order to make module-assistant happy:

mkdir /tmp/scratch
pushd /tmp/scratch
tar xjf /usr/src/fglrx.tar.bz2
chmod +x modules/fglrx/make.sh
sudo tar cjf /usr/src/fglrx.tar.bz2 modules
popd

If installing over a custom-built kernel (for example 2.6.18), the procedure above may need to be modified slightly, especially if you didn't use make-kpkg to install your kernel:

# sudo module-assistant prepare # no ubuntu package for 2.6.18
sudo module-assistant update
sudo module-assistant build -k path/to/my/kernel/sources fglrx
sudo module-assistant install -k path/to/my/kernel/sources fglrx
sudo depmod -a

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

Missing fglrx.ko

If fglrx.ko is not being loaded properly, then /var/log/Xorg.0.log will say things like :

[drm] failed to load kernel module "fglrx"
(WW) fglrx(0): Failed to load DRM connection
(EE) GART is not initialized, disabling DRI

modprobe shows the problem is

sudo modprobe fglrx
FATAL: Could not open '/lib/modules/2.6.15-26-386/volatile/fglrx.ko': No such file or directory

You could copy /lib/modules/2.6.15-26-386/misc/fglrx.ko into the volatile directory, then restart GDM, but you lose it again at the next re-boot.

The solution is to run depmod again with the -e option.

sudo depmod -ae

Then re-boot.

Upgrade from Breezy

If method 2 doesn't work first time round, and you have upgraded from a Breezy installation, try this:

Remove previous versions of the fglrx driver:

sudo dpkg -r fglrx-control
sudo dpkg -r fglrx-kernel-source
sudo dpkg -r xorg-driver-fglrx

dpkg will list dependencies for xorg-driver-fglrx which will need up be removed, for example:

sudo dpkg -r fglrx-kernel
sudo dpkg -r fglrx-kernel-2.6.12-10-686-smp
sudo dpkg -r xorg-driver-fglrx

Proceed with method 2



Troubleshooting for both Methods

General

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

Also, LIBGL_DEBUG=verbose glxinfo can display missing files you can 'fix' by linking directories.

2D speed

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

Option		"XaaNoOffscreenPixmaps"

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

Black Screen when supposed to see login screen

Try adding

Option      "BusType" "PCI"

in the fglrx 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: You may also having to rebuild your module dependency by using "depmod -a".

HP Notebook dv5029us / dv5040us / zv6000 / dv8000 / nw8440

If you have an HP Notebook Computer (or Compaq) such as the HP dv5029us, dv5040us or zv6000 series, it is needed to modify the BIOS configuration. It seems for some reason using sideport memory (the card's onboard memory only) leads to an apparent system crash although the logs show successful initialization of DRI. It is needed to run the BIOS setup screen, go to memory options, and select UMA+Sideport memory and assign a value to it (I assigned an extra 128M from the system RAM). Boot the computer and the fglrx driver will work. FGLRX version is 8.24.8 on an i386 Ubuntu Dapper install. NEW: ATI has fixed this problem with their latest drivers - there is no longer a need to use the old 8.24.8 drivers, nor is there need to use the extra 128M of system RAM. Just install the latest drivers -- it worked for me when nothing else did.

  • Ubuntu FGLRX drivers 8.25.18, do not work properly on the dv5029us (Radeon Xpress 200M) as of this writing (5/30/2006). It is needed to revert to 8.24.8 for this specific computer in order to get proper 3D acceleration, and 2D with no tearing off.
    • ATI Driver 8.26.18, does not work with the Radeon Express 200M. Some HP/Compaq laptops only have working 3D support with ONLY UMA video memory( Sideport+UMA won't work ). This is due to a 1 year old flaw in the ATI driver. If you want to use your onboard/Sideport memory, you can only get 2D support by adding [ Option "no_dri" "yes"] to the fglrx driver section of /etc/X11/xorg.conf
  • jul-22-2006, marciowb wrote: I have a HP Pavilion zv6000 - a notebook computer with AMD64 - and it have a ATI Radeon Xpress 200M with 128MB of dedicated memory (Sideport) and it accepts to use shared memory (UMA), also. But if I try to use Sideport or Sideport+UMA the 3D acceleration fails and/or my computer hangs. It works fine if I configure its BIOS to use only UMA, including with a good 3D acceleration performance. Configured to use only UMA it works with the ATI Driver 8.26.18 and 8.25.18, but I was unable to do it works the ATI Driver 8.24.8. I tried several times to use 8.24.8 but it doesn't seem to work with 3D acceleration, only 2D. I see the Xorg.log file the fglrx driver fails to load the DRI driver. I used the Kubuntu with the Linux kernel 2.6.15-26-amd64-generic.
  • aug-7-2006, mde wrote: I have an HP dv8120ca / dv8000 laptop with a Radeon Xpress 200M. After installing the 8.27.10 driver, no matter what I set the bios to (128 UMA+Sideport or just Sideport, UMA Only is not an option in my bios), I get the black screen/99% cpu usage problem. NEW: ATI has fixed this problem with their latest drivers! I just installed their latest driver, and everything works perfectly. No need to do anything funny with the BIOS -- you can use sideport only or whatever. Good news :) Thank you AMD/ATI for responding to our requests to fix this problem!
  • sep-12-2006, tekNico wrote: on an HP dv5008EA with the 200M adapter, DRI works with the 8.24.8 driver, and setting the BIOS to Sideport+UMA to 128MB video memory. The 8.28.8 breaks some on-screen widgets.
  • Sep-27-2006: HP Pavilion dv8000 (Radeon Xpress 200M). Turned off Sideport and installed the driver from the repositories, ver 8.25.18. The computer started up fine, but was extremely unstable and crashed in about 5 minutes of work. Same thing with driver ver 8.29.6. At the end I installed ver 8.24.8 and that seemed to work well.
  • Oct-17-2006: webbertiger wrote: on my HP Pavilion dv8309us with Radeon Xpress 200M and AMD64 cpu, the driver (ati-driver-installer-8.29.6.run) downloaded from [ATI website[1]] works fine. I also manually added "1440x900" in xorg.conf to get the wide screen. [Can you confirm that dri (direct rendering also works fine?) glxgears should run with a high (over 1000fps) frame rate?]
  • Oct-30-2006: on my hp nw8440 i had to disable the composite extension to get full 3D accelleration ( chipset: ati V5200, driver ati 8.29.6 )
       Section "Extensions"
              Option "Composite" "false"
       EndSection

HP zt3000 / Compaq nx7000

Beginning with ATI driver version 8.19, the drivers fail to properly detect modelines that are compatible with the LCD screen of the HP zt3000 (and equivalent Compaq nx7000 model), and they must be inserted into xorg.conf manually. For the 1680x1050 LCD screen, inserting the following modelines into the "Monitor" section works:

       Modeline "640x350"  119.12  640 1728 1760 1840  350 1052 1058 1080
       Modeline "640x400"  119.12  640 1728 1760 1840  400 1052 1058 1080
       Modeline "720x400"  119.12  720 1728 1760 1840  400 1052 1058 1080
       Modeline "640x480"  119.12  640 1728 1760 1840  480 1052 1058 1080
       Modeline "800x600"  119.12  800 1728 1760 1840  600 1052 1058 1080
       Modeline "1024x768"  119.12  1024 1728 1760 1840  768 1052 1058 1080
       Modeline "1152x864"  119.12  1152 1728 1760 1840  864 1052 1058 1080
       Modeline "1280x960"  119.12  1280 1728 1760 1840  960 1052 1058 1080
       Modeline "1280x1024"  119.12  1280 1728 1760 1840  1024 1052 1058 1080
       Modeline "832x624"  119.12  832 1728 1760 1840  624 1052 1058 1080
       Modeline "1280x768"  119.12  1280 1728 1760 1840  768 1052 1058 1080
       Modeline "1280x800"  119.12  1280 1728 1760 1840  800 1052 1058 1080
       Modeline "1152x768"  119.12  1152 1728 1760 1840  768 1052 1058 1080
       Modeline "1400x1050"  119.12  1400 1728 1760 1840  1050 1052 1058 1080
       Modeline "1440x900"  119.12  1440 1728 1760 1840  900 1052 1058 1080
       Modeline "1600x1024"  119.12  1600 1728 1760 1840  1024 1052 1058 1080
       Modeline "1680x1050"  119.12  1680 1728 1760 1840  1050 1052 1058 1080

If you have the "1920x1200" version of the HP zt3000 the Modeline is:

       Modeline "1920x1200" 150.75 1920 2016 2048 2185  1200 1202 1208 1235

If you have the "1280x800" version of the HP zt3000 the Modeline should be:

       ModeLine     "1280x800" 69.8 1280 1336 1368 1440 800 802 808 823 -hsync -vsync
       ** If the above ModeLine still makes the screen flicker (as it did in my zt3000) use the following ModeLine
       ModeLine     "1280x800" 70.875 1280 1336 1368 1440 800 802 808 823 -hsync +vsync 
       ** Try this as well if the other two don't work.  Determined using powerstrip in windows.
       ModeLine     "1280x800" 68.625 1280 1336 1368 1440 800 802 808 823 -hsync -vsync

If you have the compaq nx7010 with 1280x800 screen then the following modeline should work:

       Modeline "1280x800" 70.875 1280 1320 1352 1456 800 801 804 820 +hsync +vsync
       This was determined using powerstrip in windows.
       ** If the above ModeLine still makes the screen flicker (as it did on my nx7010) use the following
       Modeline "1280x800" 68.625 1280 1304 1336 1408 800 804 808 816 +hsync +vsync
       This was determined using powerstrip in windows.

When using a Compaq NX7010 (Radeon R250Lf Mobility M9) with 1650x1050 screen, powerstrip gives the following working params (CApiTAlisation important), just use one single ModeLine:

       ModeLine "1650x1050" 121.500 1680 1712 1800 1872 1050 1051 1054 1065 +Hsync +Vsync

On the Compaq NX7010, be sure to copy the 8.24.8 libGL.so.1.2 as in Troubleshooting for Method 1 above.

Note: This line will also work on the Compaq X1000 series

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