BinaryDriverHowto

Revision 3 as of 2005-07-14 23:39:47

Clear message

BinaryDriverHowto

Install the ATI (fglrx) Driver if any of these are true:

  • You know you own a "Radeon" card
  • Your card model is an entire number in the 9xxx series, and is equal to or above 9500 (e.g. 9500, 9550, 9600, 9700, 9800), or your card model begins with 'X' (e.g. X300, X600, X700, X800)
  • cat /proc/pci reveals a card with "ATI" in it

  • You need hardware-accelerated 3D support; bearing in mind that the standard driver does 2D perfectly fine.
    • If you own an ATI card that is not on this list, you already have accelerated 3D.

Install the NVIDIA Driver if any of these are true:

  • You know you own a "GeForce" or a "Quadro" graphics card.

  • You know your card model begins with "4", "FX", or "6".
  • cat /proc/pci reveals a card with "NVIDIA" in it

Install the Matrox driver if any of these are true:

  • You know you own a Matrox Parhelia-based (P650, P750 or Parhelia-512) graphics card.
  • When you first turn the computer on you see a flashing logo with Matrox.
  • lspci | grep -i matrox reveals a card "MGA XXX" where XXX is G650, G750 or Parhelia.

ATI (fglrx) Graphics Card

Note: Currently, ATI Drivers for AMD64 are only available in Hoary

Warty Warthog (Ubuntu 4.10)

  1. Install the following package for Warty:

    sudo apt-get install fglrx-driver
  2. echo fglrx | sudo tee -a /etc/modules

    • This command won't have any effect until you reboot. To load the kernel module immediately, run sudo depmod -a ; sudo modprobe fglrx, but this will only work if you have already rebooted since upgrading the kernel. If it doesn't work, perform the next step (below) and then reboot.

  3. Edit /etc/X11/XF86Config-4 and change "ati" to "fglrx", perhaps with a command like:

    • sudo sed -i -e 's/"ati"/"fglrx"/'/etc/X11/XF86Config-4. Alternatively, just use your favourite text editor, or use sudo dpkg-reconfigure xserver-xfree86 and select "fglrx" instead of "ati".

Hoary Hedgehog (Ubuntu 5.04)

  1. Install the xorg-driver-fglrx package:

    sudo apt-get install xorg-driver-fglrx
  2. echo fglrx | sudo tee -a /etc/modules

    • This command won't have any effect until you reboot. To load the kernel module immediately, run sudo depmod -a ; sudo modprobe fglrx, but this will only work if you have already rebooted since upgrading the kernel. If it doesn't work, perform the next step (below) and then reboot.

  3. Edit /etc/X11/xorg.conf and change "ati" to "fglrx", perhaps with a command like: sudo sed -i -e 's/"ati"/"fglrx"/' /etc/X11/xorg.conf. Alternatively, just use your favourite text editor, or use sudo dpkg-reconfigure xserver-xorg and select "fglrx" instead of "ati".

Notes

Common issue: If you have an nforce2 chipset motherboard or if your Xorg.0.log reveals troubles when initialising AGP, put this in the Device section of /etc/X11/xorg.conf: Option "UseInternalAGPGART" "no"

Note (optional): If you are going to compile 3d applications, you will want to install the fglrx-driver-dev package

Note 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 have linux-restricted-modules installed for your kernel (type sudo apt-get install linux-restricted-modules-$(uname -r)).

Note (optional): 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).

Note If your screen goes blank after the reboot and your card has two outputs... try connecting your monitor to the other output. Or you can make the card send the same image to both outputs by adding the following line in your /etc/X11/xorg.conf file, in the same section where you put fglrx: Option "MonitorLayout" "Auto,Auto"

ATI driver version 8.12.10 is available in breezy, which should fix this problem + have a decent performance improvement.

NVIDIA Graphics Card

  1. sudo apt-get install nvidia-glx

  2. sudo nvidia-glx-config enable

Note: If you wish to use these drivers and run the XMMS music player, you should be aware of [https://bugzilla.ubuntu.com/show_bug.cgi?id=1724 this bug]

Note: You can get around this bug by installing libmik.

Note (optional): If you are going to compile 3d applications, you will want to install the nvidia-glx-dev package

Note (optional): the nvidia-settings package provides a control panel to configure graphics card options such as gamma correction.

Notes

Edit: That script worked for me perfectly, but keep sure to have the right version of linux-restricted-modules installed (it must match the version of the running kernel).

Matrox (Parhelia-based) Graphics Card

Note: This driver is a BETA and will not work with AMD64 CPUs

  1. Before you start, install the linux-kernel-headers appropriate for your kernel.
  2. Download the 1.4.1 BETA driver from Matrox (http://www.matrox.com/mga/support/drivers/latest/home.cfm)

  3. Execute the downloaded file:

    sudo sh mtxdriver-1.4.1_pro.run
  4. This will extract the files and then proceed to compile/install the driver.
  5. Manually change the driver in your xorg.conf file in /etc/X11. You will need to locate the Driver entry for your previous graphics card and replace it with mtx.
  6. Backup libGL* from /usr/X11R6/lib:

    sudo mkdir /usr/X11R6/lib/libGL.back
    sudo mv /usr/X11R6/lib/libGL.so* /usr/X11R6/lib/libGL.back 

Note:

This modem is very common on laptop motherboards. It looks something like this when you type "lspci" in a terminal:

0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)

Modifying your sources

In order to install this driver (and other non-free drivers that Ubuntu does not support), you will need to edit the file

/etc/apt/sources.list

with your favourite editor under "root" and activate the "multiverse" repository by changing the lines that look like this:

deb http://archive.ubuntu.com/ubuntu/ warty main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ warty main restricted universe

to look like this:

deb http://archive.ubuntu.com/ubuntu/ warty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ warty main restricted universe multiverse

Notes

  1. Unlike the above drivers, this driver is provided by Ubuntu in the multiverse repository and unlike drivers from the restricted repository is basically untouched by the Ubuntu development team. Hence you have to do a bit more work to get this one to go. And if you have trouble with it, the fault lies more with Debian than with Ubuntu, but is somewhat up in the air, since noone has the code.

  2. Every time you update your operating system core (called "the kernel"), you're going to have to run through the "Compiling the driver" procedure below again.

Preliminaries

These are steps you will only have to run through the first time you build this driver, we're just making sure you have all the installed packages you need. If any of these packages are already installed, that's fine, but if not, use Synaptic, aptitude or apt-get to install them.

Make sure you have the most up-to-date kernel available unless there's some reason why you want to run a specific kernel. Install the following package:

  1. linux-ARCH (where ARCH is one of 686, 686-smp, k7 or k7-smp if you use Intel, powerpc for PPC...)

Also, you're going to be compiling this driver, and Ubuntu doesn't install the necessary programs for you to do this by default. So first we need to install several packages:

  1. build-essential
  2. linux-headers-2.6-ARCH
  3. fakeroot

These will pull in some other packages too.

You also need to install the source of the SmartLink driver itself:

  1. sl-modem-daemon
  2. sl-modem-source

You can install all packages listed above at the same time.

Compiling the driver

Run the following steps in a console. Note that whatever directory you're working in will be filled with files. It doesn't matter exactly where this is done as long as you have write access in the directory.

  1. tar -xjf /usr/src/sl-modem.tar.bz2 [this command unpacks all the files we will use into the current directory]

  2. cd modules/sl-modem/debian [change to a particular directory where the instructions for building the module are, because we need to fix them to work with Ubuntu rather than Debian

  3. Edit the control.modules.in file in this directory. In this file, there is a line reading:

    • Depends: kernel-image-_KVERS_

    Change this line to read:
    • Depends: linux-image-_KVERS_

  4. cd ..

  5. fakeroot debian/rules kdist KVERS=`uname -r` KSRC=/usr/src/linux-headers-`uname -r` [this does the actual building of the driver against the current running kernel, it has a lot of output]

  6. cd ..

  7. sudo dpkg -i sl-modem-modules-*.deb [this sometimes freezes, canceling it with Ctrl+C and trying again will eventually work]

Getting the modem to work

This driver seems rather finicky. Basically, if it works, a file called /dev/ttySL0 will exist. If it doesn't work, running sudo /etc/init.d/sl-modem-daemon restart may help, as might running modprobe slamr, but it seems somewhat random. A reboot may help too.

See Also: KeyspanDriverHowto