ATI HOWTO - Mandriva 2005 LE

You are here because you could not get the ati binary drivers running on your Mandriva 2005 LE install. This HOWTO will detail how I got it running on my system with an ATI Radeon 9800 in big desktop mode. Each screen runs at 1600x1200, giving me a total desktop of 3200x1200. I've always called it "dual head". In this document I will make references to it as dual head, please remember that I'm referring to what ATI calls "big desktop". I'll be the first to tell you that after running a dual head system, you won't want to use a computer any other way.

You may already be in X but in a mode that you don't like. That is ok for this HOWTO. You'll only actually have to restart X once you get to the end and want to use your new configuration.

The first thing to check is your kernel version that is running. Run 'uname -r'. On my system it was:

	  [todd@tlyons ~]$ uname -r
	  2.6.11-6mdksmp
	

The installer should have detected that you have an ATI chipset for video and installed the appropriate rpms:

	  ati-8.10.19-1mdk
	  ati-kernel-2.6.11-6mdksmp-8.10.19-1mdk
	  dkms-2.0.5-4mdk
	  dkms-ati-8.10.19-1mdk
	  dkms-minimal-2.0.5-4mdk
	

It is up to you, but I started from an empty slate:

	  rpm -e ati ati-kernel-2.6.11-6mdksmp-8.10.19-1mdk dkms dkms-ati dkms-minimal
        

Make sure that kernel-source is installed:

	  urpmi kernel-source
        

Reinstall all of the packages for building the module:

	  urpmi ati ati-kernel-`uname -r`-8.10.19-1mdk dkms-ati
urpmi will automatically pull in dkms-minimal and dkms packages. The installation of these rpms will actually build the module and install it into the correct place in the kernel module tree.

Delete the current X config files, but save a copy. Some of these commands may fail if they don't exist. That's ok, this step is extra safe to try and cover a variety of configuration possibilities:

	  mv /etc/X11/xorg.conf /etc/X11/xorg.conf.default
	  mv /etc/X11/XF86Config /etc/X11/XF86Config.default
	  mv /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.default
  	

You can run drakx11 and it will autoprobe the card. It will show that you have a Radeon(fglrx). Press OK to accept.

It will ask how to configure it. I chose "Use Xinerama Extension" which is what is supposed to be used to do dual head. It will install a version of ati-kernel-* to match each version of kernel that is installed on your system. Each ati-kernel-* package will build a module in /var/lib/dkms/*. Only the version matching the running kernel will be installed into the kernel module tree in /lib/modules/`uname -r`/kernel/drivers/char/drm/ .

It then asks information about your monitors. Since my Dell monitors just showed up as Plug N Play, it auto configured everything for me. I selected 1600x1200 at 24bpp (bits per pixel) for the resolution.

It prompts you to test the configuration. Go ahead and test it and tell it that "Yes it is ok", even though it might not look right (especially if you're doing dual head).

Tell it to start on boot and it will save the configuration for you and configure your machine to boot into runlevel 5, which is the graphical login.

You may think that we are done, but no, sadly we are not because we have to reconfigure the xorg.conf file. The drakx11 doesn't quite do the configuration right for fglrx, so we grab the older fglrx package direct from ATI. But we don't want to install it into the system. Instead we're going to install it into a "fakeroot". Download the fglrx package from ATI. At the time of this writing, I used the fglrx_6_8_0-8.12.10-1 package. Now run the following:

	  mkdir -p /root/fakeroot/var/lib/rpm
	  rpm --initdb --root=/root/fakeroot
	  rpm -ih --nodeps --root=/root/fakeroot /path/to/fglrx*.rpm
	  /root/fakeroot/usr/X11R6/bin/fglrxconfig
	

When you run the last command, it will go into the fglrx config routine as provided by the ATI developers. It will prompt you to write a new config file as /etc/X11/xorg.conf. It will ask you several questions about mouse, keyboard, and such. Choose the items that match your configuration.

When you get to the section about the FireGL Screen Layout, choose item 4, "Big Head". Then I chose item 1, "horizontal, monitor 1 => left display", that I did not want overlapping screens, item 3 for "DVI(p) and VGA(s)", and input manual Horizontal and Vertical refresh rates according to my monitors' capabilities. Please refer to your monitor's manual for the appropriate settings. If you are fortunate, your monitor will be listed in the config file it consults and all rates will be configured for you.

I chose to change the mode for 24 bit color and selected 1600x1200. This is kind of a weird section because you then have to press "2" in order to accept the modes you entered in item 1.

I chose not to make the virtual desktop bigger than the real screen resolutions. I chose to allow all users access to the OpenGL ICD. I then accepted the defaults for the next 12 prompts. Finally, I said "yes" to write the config file at /etc/X11/xorg.conf.

Now you should be able to startx and it should start properly. If you have been doing this configuration inside of X, then you need to exit X and restart it. Technically, the best method to do this is to change runlevel to 3 and startx manually, If it works properly, then you can change runlevel back to 5 and login using the graphical login screen as you normally do.

You can delete the fakeroot now if you like. It is not used by the system for any method of X running.

	  rm -rf /root/fakeroot/
	

I seem to recall once having needed to manually modprobe the fglrx module, but in my assembly of this document, it started properly. Your mileage may vary.

Screenshots of my system:
Small
Medium
Full Size

WHAT IF I RESTART IT AND IT DOESN'T WORK????????

Remeber those 3 files we changed in /etc/X11 to have a .default extension? Rename those back to their original filenames without the .default extension. That will then allow you to boot X in the configuration as provided by the Mandrake config tools.

THE RIGHT SCREEN TURNS OFF IN GRAPHICAL MODE

I don't know why it does this. It only does it when kdm (the graphical login manager) starts. The easiest fix I have found is to kill X forcibly with the Ctrl-Alt-BackSpace sequence. It will restart automatically and then both screens will be on. Emphasis: it does not do this when you do a startx in runlevel 3, it only does this when the graphical login manager starts in runlevel 5.

IT STILL DOESN'T WORK!!!!!!

Come visit us in the #Mandriva channel on irc.freenode.net. Maybe we'll have more information that can help you get it running, or maybe working with you we will find something that will make this HOWTO better.