ATI Driver Installation in Linux

Add Your Comments

Introduction & Brief History

Scared to use an ATI card in Linux? Had a horrible experience with ATI in Linux that resulted in 2 smashed keyboards, a broken Ubuntu 8.04 LiveCD, and three trips to your family psychiatrist? Well I did, well maybe not THAT bad, but really close. Since I started using Linux roughly two years ago, I always ran it without 3D video drivers because ATIs drivers were so hard to install and configure. I started out using Ubuntu, I believe it was 8.04, with my brand spankin’ new ATI 4870 and it was tearing it up in Windows, but as soon as I started dual booting Windows and Ubuntu, it all came crashing down. So this article is dedicated to all those broken keyboards and LiveCDs.

Over the last two years ATI has really stepped up it’s game and has vastly improved it’s Linux drivers. ATI still has almost no support for Linux drivers from the company itself, but you can find quite a bit of information elsewhere on the net. ATI has made their driver installation much more user friendly with a more streamlined and simple GUI. It’s really straightforward and just requires a few simple commands.

Catalyst Control Center¬†(CCC) has probably had the biggest change. It now actually resembles the Windows version, minus some features, of course, but has a similar layout and has the basic options. The biggest option it’s missing is the Overdrive tab with overclocking and fan settings. I’ll go over some quick tips on fan speed control at the end of the article. Overclocking and other more advanced features of the Linux driver variant that aren’t in CCC but are available via the command line and are outside the scope of this article.

Installation

  1. Remove old ATI drivers (if installed)
    1. cd/usr/share/ati
    2. sudo sh fglrx-uninstall.sh
  2. Reboot your system
  3. Download the latest ATI drivers for Linux in your architecture
    1. Download the drivers from HERE
    2. Select your system type (Desktop in my case)
    3. Select your family of card (HD series for me)
    4. Select your card (4xxx Series PCIe here)
    5. Finally select your operating system/architecture (Linux x86 or x86_64)
  4. I suggest reading the Release Notes and Installation instructions on the site as well. They provide some nice tips with troubleshooting X start failures and other video driver related issues.
  5. Once downloaded open your terminal and make the download directory your current working directory (Desktop in my case): cd ~/Desktop
  6. Now that your in the correct directory, execute the following command:
    1. sudo sh ati-driver-installer-xx-x-x86.x86_64.run (In this case it’s sudo sh ati-driver-installer-10-6-x86.x86_64.run)

    Command Execution & Install Window

    Command Execution & Install Window

  7. This will open the ATI driver installer (similar to the Windows version).
  8. There are two options here, ‘Install Driver’ and ‘Generate Distribution Specific Package’. We’re just going to Install the driver, so select the first option then hit ‘Continue’.
  9. Read the License Agreement and select ‘I Agree’.
  10. The next screen will allow you to choose ‘Automatic’ or ‘Custom installation’. I choose the Automatic Installation, as the custom only allows you to not install CCC if you don’t want it. I rarely ever use it myself, but it’s nice to have if your having screen resolution problems and your default Window Manager options aren’t working. So select ‘Automatic’ and ‘Continue’.

    Installation Window in Progress

    Installation Window in Progress

  11. The driver will now install and you’ll get an Installation Complete window and you then Exit the window. (Notice the command at the bottom of the window in case X fails to start next reboot [aticonfig –initial -f], write this down in case you need to use it.)

    Installation Complete

    Installation Complete

  12. Open a terminal and run:
    1. /usr/bin/aticonfig –initial
    2. (Whenever I’ve run this before a system reboot, it says it cannot be found. So, I reboot first and let it create a default configuration. If it gives you the same message, reboot then try it.)

  13. Now restart your system your good to go. (Remember to execute the command in step 12 if you got the error and had to reboot first.)
  14. If you have a 4xxx series like I do, you may have an early model that doesn’t have a fan that’s speed scales with temperature and you manually set your speed, or you just like a set fan speed. You can se that fan speed using the following command:
    1. aticonfig –pplib-cmd “set fanspeed x yy”
    2. Where x is the card number, 0 – 1, and yy is the fan speed percentage you want, 0 – 100. Mine looks like this:¬†aticonfig –pplib-cmd “set fanspeed 0 30”

  15. If you want this fan speed set at the beginning of each boot up, open ‘Startup Applications’, click ‘Add’, name it whatever you’d like, put the command with your card number and speed in the command line, then add comments if you’d like and click ‘Add’ to finish.

Conclusion

So hopefully after reading this you’ll be a little more inclined to give ATI another chance in Linux. Although many people still believe Nvidia’s Linux drivers to be far superior, I think ATI deserves some recognition for their vast improvements in their Linux drivers. It really shows that they do support their Linux users, maybe not quite as much as their Windows users, but with things like Steam hopefully in the works for Linux, I hope we can expect even better support in Linux in the near future.

SeanBest

Leave a Reply

Your email address will not be published. Required fields are marked *

Discussion
  1. Shell
    I don't get why ATi doesn't just work on OSS drivers so then they only have to support a single distro and kernel, and the community could easily make it work on their own distro/kernel.

    Bugs would be resolved MUCH faster too.


    I think, I understand this whole heap fairly well. The reason why driver can not be opensource by nvidia, sorted by highest blockers first, is combination of the following:

    - NDA on video decoding (from decoder to HDMI) for "trusted" HDCP path

    - Licensing of IP for software algorithms from 3rd parties used within driver. As example are S3TC and various others.

    - Unified driver architecture, meaning one could disassemble their windows implementation as well.

    - Even knowing the underlying hardware language does not mean there will be a driver. Drivers are very complex and require high amount of work. This means high solds and the advancements should also be introduced at acceptable to market/hardware revisions rate.

    With Nvidia you have good GPGPU support (OpenMP is copy-paste work from CUDA, where HD4xxx hardware has only one gpgpu pipeline, vs required two by OpenMP, which requires software emulation, slowing result a lot. Evergreen HD5xxx+ are not affected.).

    With Nvidia you have large support window - they support even very old riva tnt2 cards by linking old driver to knew kernel/gcc/xorg ABI/API multiversions. The driver itself is not developed though, but you can use the old acceleration code which utilizes your hardware to the max.

    You have VDPAU - which is video decoding - on par with that of windows. That means graphic engine supports 100% acceleration in linux. AMD REFUSES to provide any support for UVD engine ever, even in proprietary fglrx driver, which means there are no video accel on linux.

    You have CUDA and OpenMP, as freeware. Only some outgoing developments by 3rd party university in Germany have developed some code to use GPGPU/OpenMP on AMD FGLRX driver.

    You have driver which was worked on by windows team as well, which results in card achiving similar performance as in windows. If you head to phoronix.com and see nvidia benchmarks, you will note nvidia card have identic to windows performance(with few exceptions, mainly quake3 engine based games favoring windows kernel itself more, see unigine tests for example).

    The hardware is very fast supported, for example 560Ti support was already in beta drivers.

    That means, that although the driver is proprietary and forces you to use kernels/gcc/xorg versions that nvidia has headers(it is still much bigger than of amd fglrx), you have your hardware card supported for next 10 years at least.

    However, if you look at situation with Optimus, you see the disadvantages - nvidia refuses to support and you cannot do anything. No question, Optimus "we have no plans" delivered huge blow to nvidia market segment in linux.

    If you look an AMD, their fglrx was almost always workstation driver for FireGL cards. Not for normal home linux. It has always crashed, bugged the software, didn't support much hardware, older hardware was excluded very soon, newer hardware was supported only in one year. They have a big team which works with corporate customers on FireGL cards and only specific linux programs. Everything else is out of scope. Windows team is totally independent. AMD cards were only good for windows(where they still compete with nvidia geforce) and on workstation market(where they compete with nvidia quadro) - and nothing else.

    The new situation wtih AMD however changed a bit.

    AMD released programming guides for GPU themself, but the GPU are extreme complex things and driver quality(means amount of work) plays huge role in card end performance. You also have patents even in OpenGL(so much for "open") and you have new hardware emerging - which means development should succeed even faster, barely anyone want good opensource driver in TWENTY years for TWENTY year old card. Which means this code is only useful for small bug resolvents; for students interested in how hardware works; or for concurrence >:) So, the AMD opensource policy is really nothing for usable hardware or using linux as operating system, not some joke or hobby.

    So unless opensource driver has BIG attention from company ITSELF there is no hope in it as production quality driver,and not a "hobby".

    The FGLRX driver was renamed to Catalyst Linux, but I barely see anything change. No video accel, still breakages, still shorter than nvidia hardware support and gcc/kernel/xorg support, big driver size, SLOWER than windows opengl performance. Several bugs were corrected, new cards are sooner supported, nothing else.

    And when I try to draw attention to AMD developers that they really should either do good proprietary(where they will still end up in same situation as nvidia, without benefits), or do good opensource(which will really put really good kick to nvidia), Im answered linux has very small segment. However when I mention they could easily implement backtrace, some register linux program based only on card Serial Number to get what kind of card people buy for linux opensource, roughly how much each has invested in opensource driver and when it happend - they just laugh, ignore or play deaf. And then come Apple or Microsoft trolls and call me a troll, etc.

    My personal opinion stays same - you should not believe any "plans" or "promises", you should believe in market and buy (gpu) product which you support, use what you respect, pay attention to people that respect you.

    I have exchanged 9800gt for HD4770 (not HD5770 because there were no opensource driver). In near two years later I've got this: low development speed, company that is NOT interested you buy their product, support in driver for 15% of GPU features, new product support (HD69x0) is lagging exactly at same rate as HD5xxx lagged.

    They hire 2-3 developers and are happy. Redhat and Novell hire each one developer and guess what they do? Right - developer driver good for server(IGP).

    As much as I love ATI (I still have their first Radeon 64 DDR around), their policy is just anything but acceptable.
    David
    They would potentially betray too much about how the cards work, perhaps?
    Haha I doubt it.

    An instruction set, even for a gpu, gives you zero understanding of how the thing works under the hood beyond a simple flowchart.
    I don't get why ATi doesn't just work on OSS drivers so then they only have to support a single distro and kernel, and the community could easily make it work on their own distro/kernel.

    Bugs would be resolved MUCH faster too.
    4770, 90 fps in OpenArena and UrbanTerror with opensource driver. Near 300/120 fps with Catalyst.

    AMD proprietary lacks video accel, Xorg/kernel range is smaller, hardware(card) range coverage is way shorter - everything else is similar to nvidia blob(with notable exception of multimonitor which is lot better than nvidia).

    On the other hand, nvidia opensource is similar to amd blob from 2000.
    I have a 4670, it runs like arse. I get about 3 FPS in WoW at the MENU The official drivers caused constant crashes. Am using the drivers from the repo's but it causes the fan to run quite a bit.

    I have graphical glitches from time to time. All around not a good experience
    splat
    i had no problems running the HD 5550 in linux with the ati drivers this past week when i was reviewing it


    same here i have a mobile 5750 i think it is, anyway, i just played some lan of l4d with some friends and game play on linux was smooth, also played some guildwars and it was great
    Ninth
    I've been told to straight up avoid ATI in favor of nvidia if I want to get any sort of reliable graphics performance under nix; is there truth in this statement? I've never run into this problem since I have a windows machine for all my graphic intensive (read: gaming) needs, and most of my nix machines are legacy machines from who knows how long ago running embedded chips.


    As a general statement I agree with the above. I have had problems upon problems with ATI (unless we are talking like a RAGE 128 which work well with the mesa drivers)

    ATI is still a crap shoot as far as I am concerned. Stick with nvidia for any sort of graphics needs or intel if you don't want anything too fancy
    I've been told to straight up avoid ATI in favor of nvidia if I want to get any sort of reliable graphics performance under nix; is there truth in this statement? I've never run into this problem since I have a windows machine for all my graphic intensive (read: gaming) needs, and most of my nix machines are legacy machines from who knows how long ago running embedded chips.
    Yup.. Then get an SSD, and try to get trim to work... You'll have to download a 2.6.33 kernel which will work fine, except with Ati drivers. Also you'll need to be running a 64bit distro if you want more then 4GB of memory (unless you want to compile the kernel yourself).
    dropadrop
    You won't unless you have a very new card / want to use a newer kernel then installed on supported distro's etc. There are pretty clearly definable cases that will cause problems, but even they would not need to cause problems (as shown by how well the drivers work when you find a "hacked" one that removes the check used prior to install).


    well everything has worked on my 4850's with no problem, i got a friend with a 5870 and mint 9 and it works fine, and we both do gaming, ie css, gmod, hl2 etc
    jediobi1
    i have never had a problem with ati linux drivers


    You won't unless you have a very new card / want to use a newer kernel then installed on supported distro's etc. There are pretty clearly definable cases that will cause problems, but even they would not need to cause problems (as shown by how well the drivers work when you find a "hacked" one that removes the check used prior to install).
    Stratus_ss
    ATI has always been hit an miss for me. I can't play WoW in linux because the graphics drivers run like arse. I have a 4670 video card, core I7 with 4 gigs of ram and on the title screen I get about 7 fps.

    The official drivers from ATI caused X to crash constantly, I am using the hardware drivers utility to give basic functionality


    i have never had a problem with ati linux drivers
    ATI has always been hit an miss for me. I can't play WoW in linux because the graphics drivers run like arse. I have a 4670 video card, core I7 with 4 gigs of ram and on the title screen I get about 7 fps.

    The official drivers from ATI caused X to crash constantly, I am using the hardware drivers utility to give basic functionality
    I had quite a lot of problems with my ATI drivers on my new workstation at work. It was a pretty new model and the restricted drivers barely supported 2d. On the other hand Ati's own drivers did not support the newest Ubuntu version... Funny thing is, I found a hacked (ATI checks removed) driver based on their official one which installed just fine.

    You'd think they could just list supported distro's and models but not artificially limit installation to them?
    I can't speak for ati support, but i've never had a problem with the restricted drivers tool and nvidia gpus - xorg always loads fine after rebooting. do you check the logs to see what went wrong before you nuke everything?
    SeanBest
    If your referring to the Restricted Driver thing, I've used it once or twice, never had a problem with it, but it usually is one to three versions behind. Also it doesn't install CCC which is nice because some distros don't like to set up the display correctly and occasionally the best way to configure the resolution is via CCC if your Window Manager is giving you trouble.


    Yep... My experience with the Restricted Drivers on Ubuntu is... sometimes it doesn't show anything at all. Other times it shows nvidia drivers (which is proper, since I have an nvidia gpu in the box), but after installation, it can never load the kernel module.

    At which point I usually get annoyed, drop out of X, nuke all nivida-* that is installed, and install from my backup of the nvidia drivers I downloaded from nvidia's website. I've always had that work for me.