Ubuntu Dapper Installation Guide: Difference between revisions

From cchtml.com
(revert; please don't use the wiki page as a forum. use this wiki's talk page for that.)
No edit summary
Line 116: Line 116:
<pre>
<pre>
sudo rm /usr/src/fglrx-kernel*.deb
sudo rm /usr/src/fglrx-kernel*.deb
</pre>
'''Note:''' With recent fglrx, the <tt>make.sh</tt> in <tt>/usr/src/fglrx.tar.bz2</tt> (installed by the fglrx-kernel-source package above) is not executable.  You may need the following in order to make module-assistant happy in the next step:
<pre>
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
</pre>
</pre>


Line 127: Line 137:
sudo depmod -a
sudo depmod -a
</pre>
</pre>
<blockquote>
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 <tt>make-kpkg</tt> to install your kernel:
<pre>
# 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
</pre>
</blockquote>


'''Note''': You have to remove any old fglrx debs and recompile the kernel module after each kernel update!
'''Note''': You have to remove any old fglrx debs and recompile the kernel module after each kernel update!

Revision as of 16:54, 25 September 2006

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

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 8.29.6 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.

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.29.6.run (this installer is for 32bit and 64bit systems)

This guide refers to the 32bit version of the driver. The installation procedure for 64bit should be the same as for 32bit, except the filenames of the created .deb packages will differ slightly and you have to install the ia32-libs package which can be done with apt-get or synaptic.

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:

bash ati-driver-installer-8.29.6.run --buildpkg Ubuntu/dapper

Install .deb packages:

sudo dpkg -i xorg-driver-fglrx_8.29.6-1_i386.deb
sudo dpkg -i fglrx-kernel-source_8.29.6-1_i386.deb
sudo dpkg -i fglrx-control_8.29.6-1_i386.deb

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

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

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

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

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

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

Note: You have to remove any old fglrx debs and recompile the kernel module after each kernel update!

Update the xorg.conf file:

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

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.6065 (8.29.6)

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/

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

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

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.

HP Notebook dv5029us / dv5040us / zv6000 / dv8000

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.

  • 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. I have tried to contact ATI to complain about this bug... Their response: "ATI does not provide direct technical support for laptops/notebooks at this current time (telephone or email). If you require direct technical support please contact the system manufacturer of your laptop/notebook.". To contact ati's linux driver feedback team and request they fix the problem, go to [https://support.ati.com/]. I have written a template letter you can use for your submission should you so desire. It is available at [http://www.rhthm.com/ati/]. '
  • sep-12-2006, tekNico wrote: on a 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.

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 

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.

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