ATI Catalyst (fglrx) 10.6 for Linux.
Superior Hardware Gets Hoblage.
The ATI Catalyst 10.7 drivers are just about here and that brings me to contemplate my thoughts on the 10.6 drivers that came before it. As my desktop system in 100% Linux the best video card option in the past had been nVidia. Their Linux drivers are the best on the platform so even where another brand may have had slightly better hardware, nVidia's superior driver meant that as a total package, nVidia was the most stable and performant way to go.
nVidia do have one chink in their Linux armour though. When someone needs more than two screens that means two cards. When running more than one card that means you have to use Xinerama in order to unify all of your screens into one desktop. Xinerama unfortunately isn't perfect and appart from any bugs it might have one big issue it has is that it isn't compatable with a compositing window manager. That means no Compiz or Kwin4 goodness. Not criticle, but far from perfect.
That's where ATI steps in. They have cards that can do three or more monitors in their normal desktop range and nVidia have nothing similar in nature. So for those looking for triple head setups ATI hardware is the best way to go. But there is a problem and that's their drivers. In the past ATI's fglrx drivers have earned a reputation as a buggy, cludgy mess. I've been looking on with disappointment because I wanted their hardware but their software rendered their cards unsuitable for me.
ATI in the recent past had begun to really improve their Linux drivers and they started to show some real promise in early 2010. By the time the 10.6 drivers were released I decided that they'd improved to a point I could be happy enough with them and so bough an ATI HD 5870.
So a long time nVidia user I'd become accustomed to a properly functional Linux desktop and was about to take a reliability hit with the installation of an ATI card. Once the card was installed it was now time to install the Catalyst drivers and here's what I found.
Installation Issues - When installing the drivers I first tried to use the “build packages for your distribution” method but the installer wouldn't build a viable driver with this so I had to use the alternative method. ATI should disable this functionality until it actually works so that end users don't end up fighting to try to get it to work before using the alternative way. Needlessly frustrating.
Also, when setting up a multi-monitor system I was initially presented with one of the displays remaining black with only the mouse pointer being displayed. With some trouble I was finally able to get it to work.
Here from my notes made at the time is the detail of what I went through when I initially installed the card back in June.
ATI 5870 on Ubuntu 10.04, The Saga Begins.
- Booted the system while the nVidia 9800GT is installed.
- Downloaded the ATI 10.6 fglrx driver.
- Removed the nVidia driver.
- Rebooted to confirm it's thoroughly removed.
- Shutdown the system.
- Removed the 9800GT and installed the HD 5870.
- Powered on the system
- Machine boots to GDM (the login screen) and then onto the desktop using the open source drivers with no problems.
- Launched a shell.
- Executed the fglrx 10.6 installer.
- Its GUI is displayed.
- I select build packages and follow the prompts.
- The environment is correctly identified as Ubuntu/Lucid.
- Says it built the package but it doesn't actually build them.
- I exit the GUI.
- It then autostarts the installer in text mode in the shell I launched it from for some reason.
- I go through it again just for laughs.
- It crashes due to a double free. WTF?
- I look at the log. It says there's no dpkg-buildpackage so I install dpkg-dev and try again.
- This time the installer does something but still fails.
- Installer log says it needs the dh command.
- I install debhelper and try again.
- Fails again due to not having execstack available.
- I install execstack and try again.
- This time it builds the packages.
- I install the packages. They install without issue.
- I remove the old xorg.conf and execute '/usr/bin/aticonfig --initial -f'.
And here it gets interesting.
I'm presented with this wonderful output:
mugginz@mugginz-desktop:~/Downloads/fglrx$ sudo /usr/lib/fglrx/bin/aticonfig --initial -f
Unable to open /etc/ati/control, please reinstall the driver.
/usr/lib/fglrx/bin/aticonfig: No supported adapters detected
lspci -v provides this output:
01:00.1 Audio device: ATI Technologies Inc Cypress HDMI Audio [Radeon HD 5800 Series]
Subsystem: Giga-byte Technology Device aa50
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at e5020000 (64-bit, non-prefetchable) [size=16K]
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
At this stage I wonder if I've got a card that fglrx doesn't have PCI ids for.
ATI 5870 on Ubuntu 10.04, The Saga Continues.
On further investigation, the packages built by the installer are full of fail. Note to others, be wary of that path.
- Just for laughs I decide to remove the built packages, reboot and re-run the installer but this time I choose to install the drivers directly from the installer.
- This succeeds.
- I run '/usr/bin/aticonfig --initial -f' and this time it succeeds as well.
- I reboot and get to a desktop with cloned displays. (Both screens display the same image)
- I run 'gksudo amdcccle' and configure the system for one desktop across two displays.
After a restart I'm presented with one screen correctly displayed and one screen which is black. The mouse pointer happily moves onto and around that screen and back to the other one but when dragging a window onto it it is not displayed. This 'black screen' issue is not unheard of unfortunately.
- After various bits of mucking around I shut down the system,
- Installed another hard drive,
- Did a clean install,
- Installed all available updates,
- Installed the distro provided 10.5 drivers,
- Configured the display for one desktop across two screens,
- Logged out, and back in.
- I'm presented with what I'm after.
At this stage, with the 10.5 drivers the system displays the well known slow maximise behaviour but other than that during this very short bit of the test no other bad behaviour is encountered. I should stress though that I didn't spend much time in this environment.
After satisfying myself that the hardware is able to provide this dual screen functionality that I'm after, at least with the 10.5 drivers, I'm a bit happier.
- I removed the 10.5 drivers,
- Installed the 10.6 drivers,
After the system successfully boots to the cloned desktop with the 10.6 drivers I configure the system for one desktop across two screens.
After a reboot for thoroughness I'm presented with a desktop with one desktop across two screens. Just what I'm after.
Compiz is functional and fast.
At this stage I'm even happier and now decide to “fix” my original install on the SSD.
ATI 5870 on Ubuntu 10.04, Finally success.
- I shut down the system and removed the HDD,
- Installed the SSD and configured the machine to boot from it,
- Booted to my original desktop
- Was again presented with the black screen issue.
I reinstalled the 10.6 drivers and muck around a bit, fight some with amdcccle and then after a few reboots I'm presented with a correctly behaving one desktop across two monitors configuration within my original system installation.
- I now enable vsync.
- I make sure compiz is configured to use vsync.
After all that fighting with fglrx I was relieved to find that my $500 purchase was going to be fairly usable although not as good as the nVidia card unfortunately.
Getting the card operational was a bit of a fight and I was hoping that was going to be the extent of if but I was to find that there were various areas in which fglrx was not as good as the nVidia driver and it wasn't just in the area of installation. Following are some other problems with fglrx that I didn't have with my nVidia card.
Some other issues with the driver.
I've had a lot to say about nVidia's superiority over ATI as far as Linux drivers are concerned. Many ATI fans wanted to minimise the extent of the problems fglrx has while maximising any problems they thought nVidia cards had. There were also many insisting that unless you actually owned an ATI card you weren't entitled to comment on fglrx's faults. Well, I bought one, and here are just some of the problems I had. My own experience demonstrated that yes, nVidia's drivers really were superior to ATI's no matter what the ATI fanbois were saying. Just as I suspected they were wearing rose coloured glasses.