Announcement

Collapse
No announcement yet.

AMD proprietary driver? Ugh, what a piece of CRAP.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AMD proprietary driver? Ugh, what a piece of CRAP.

    WARNING: long post full of rants and anger.

    I'm really, really interested to see if AMD does any testing to their drivers at all.
    I'm using Xubuntu 11.10 64-bit architecture (yep, on AMD Phenom II CPU).
    I also have 2 x HD5770 cards (quite identical ones).

    Now my recent AMD driver experience follows. Basically, I want to both run desktop and also use them for computations using OpenCL.

    Here is some "adventures" and resulting rants.

    Part 1 - default Ubuntu driver.
    1. Even default Ubuntu proprietary driver install fails to add ALL adapters to xorg.conf. Then upon reboot there is no acceleration. I have a very little idea why driver installation can't launch aticonfig --initial --adapter=all on their own.
    2. There are more annoying issue: only one GPU detected by OpenCL instead of 2 cards .

    I tried APP SDK 2.4 and 2.6, and they're not anyhow different in this regard and the problem is quite the same.

    The idiocy is that some ATI driver parts, etc can properly see that I have 2 GPUs (most notably everything that uses ADL).
    Say, aticonfig --odgc --adapter=all will see both GPUs:
    Code:
    $ aticonfig --odgc --adapter=all
    Adapter 0 - ATI Radeon HD 5700 Series
                                Core (MHz)    Memory (MHz)
               Current Clocks :    157           300
                 Current Peak :    850           1200
      Configurable Peak Range : [600-960]     [1200-1445]
                     GPU load :    0%
    
    Adapter 1 - ATI Radeon HD 5700 Series
                                Core (MHz)    Memory (MHz)
               Current Clocks :    157           300
                 Current Peak :    850           1200
      Configurable Peak Range : [600-960]     [1200-1445]
                     GPU load :    0%
    Basically, all calls to ADL libs will claim there are 2 GPUs (which is true).
    So I can see smth like this via calling ADL stuff:
    0: ATI Radeon HD 5700 Series (load:0%, temp:40C)
    1: ATI Radeon HD 5700 Series (busy:0%, temp:39C)

    ADL libs can clearly recognize there are 2 GPUs.

    On other hand, OpenCL calls will lie me that I have only 1 GPU.
    clGetDeviceIDs( ..., &devices_num) will return 1 in devices_num. And only 1 device "Juniper" is listed via those calls. Should I admit this really suxx since I can't use second card for computations?

    Actually it's a big surprise for me how AMD managed to achieve this weird behavior at all. Can at least someone explain me how AMD opencl lib goes to thinking there are only 1 GPU? On previous OS install in the very same configuration OpenCL properly detected there are 2 GPUs. How the heck it can lose 1 GPU?

    Well, part2. The story continues:
    Attempt to install AMD driver from their site in hope it will do better. Ugh, AMD driver 11.12 (8.92) - last available from AMD site (ati-driver-installer-11-12-x86.x86_64.run).
    Well, it has proven to be a worst evil thing I ever seen at all.
    1. This crap can build DEB package for Ubuntu 11.10. In theory, I should be able to install this crap in civilized way, having a good way to rollback changes to my system if I dislike them. On practice, package generation is broken beyond repair. It not just fails to generate xorg.conf properly. It also does not triggers initrd update so crappy fglrx module is never included to ramdisk at all and so ... guess what. No acceleration. H3ll yea. Ubuntu's own package is THIS dumb and does ramdisk trick. Why the heck huge AMD corp can't give a single run to their crap to see how it works? Basically, packages are useless.
    2. Standard install will also do not create xorg.conf - sure, it's so hard to launch single command from installer if user lacks xorg.conf at all. Gah.
    3. Well, issue with only 1 GPU for OpenCL persists as before.


    Result:
    1) AMD does not tests their drivers. Shame on you, AMD!
    2) AMD officially supports some moron redhat stuff but who uses it on desktop? Are you nuts, AMD? There are 20 millions of Ubuntu users! And redhat desktop users are something that I never seen at all.
    3) It's amazing how the same driver from the same vendor can see one or two GPUs depending on API part. That's a h3ll on the earth.
    4) I'm very sad that Nvidia does not suites my needs, unfortunately.
    5) AMD is a clear winner in a "Worst Drivers I Ever Seen" nomination.
    6) I'm really hope opensource driver will perform better that this utter crap.

  • #2
    I'm currently looking to buy a new GPU and just because of the driver situation under linux when using AMD it is simply not an option for me. I have been there before and I am not making the same mistake again.

    Comment


    • #3
      First of all, you should know what you do. Even with nvidia a 2 card sli/multigpu setup would not be enabled by default. sli would not even work with fermi. in general it is best to have got just 1 fast card instead of 2 or multigpu solutions. Best:
      Code:
      sudo -i
      rm -f /etc/X11/xorg.conf*
      wget -N http://kanotix.com/files/install-fglrx-debian.sh
      sh install-fglrx-debian.sh -z
      update-initramfs -utk all
      reboot
      That should work when you really installed only debs but never ran the installer without creating a deb. After reboot you can try to enable 2 cards. Then reboot again. Usually update-initramfs is only triggered automatically, but it does only work correctly for 1 kernel, if you have got more you need:
      Code:
      sudo update-initramfs -utk all
      as in some cases the initrd is not updated for the current kernel. it is no problem when you install a new kernel later, dkms and update-initramfs is triggered then correctly. best get rid of all old kernels...

      Comment


      • #4
        Originally posted by egon2003 View Post
        I'm currently looking to buy a new GPU and just because of the driver situation under linux when using AMD it is simply not an option for me. I have been there before and I am not making the same mistake again.
        Not an option for me. Nvidia is really bad for computations. They lose as h3ll to AMD on most computation types I will ever need. Furthermore, in general I like how opensource AMD driver works and in a long term I would prefer opensource driver (the only remaining issue is that it lacks OpenCL at the moment). Nvidia is exremely hostile to opensource driver devs by refusing provide neither sources, nor specs. I think it's a wrong way to do the things. And their blob haves their own bugs. Which are out of scope because Nvidia can't compute well with any driver. But anyway I do not wish to stick to bugged proprietary blobs forever.

        Intel? Well, their GPUs are weak and they lack discrete GPUs at all. So I can't have more than 1 GPU in system, which is impractical if you plan to do some heavy computations on GPUs.

        Originally posted by Kano
        it is no problem when you install a new kernel later, dkms and update-initramfs is triggered then correctly.
        Well, I'm able to get things running, one way or another. I'm only unable to understand why AMD declares some packages generation for Ubuntu while being unable to install driver properly via these packages. It's neither too hard to put post-install script to package and trigger initramfs update (like ubuntu does), nor it's hard to ask some 1 or 2 testers to check how it works. Granted that *buntus are used by ~20M of users, AMD is pretty bad on their management if they can't afford a couple hours of 1-2 persons to simplify life of millions of their customers.

        The most daunting issue to the date is that no matter how I install driver and what I do, it has somehow "remembered" that I have 1 GPU in OpenCL and while ADL-based stuff can see both GPUs and their states, OpenCL stuff can only see 1 GPU. I have a very little idea how to troubleshoot this (in previous installation all 2 GPUs were visible to OpenCL). xorg.conf contains 2 entries. I can see driver loads 2 times and hooks to 2 boards. But this not seems to be enough. If it was opensource, I could try to see cards detection algo in opencl stuff as last resort, but that's a huge blobs and so I do not see easy ways to fugure out why their opencl detects only 1 card.

        p.s. this is not a sli/crossfire setup. From what I got, for computations it is generally better to go with 2 independent GPUs and for desktop and even games I'm definitely happy with single 5770 GPU horsepower. And this setup has worked for me... untill I got new SSD and reinstalled system from scratch on it. Now I have this idiotic situation, losing half of computation power due to some AMD driver bug(?).


        Originally posted by Qaridarium
        i use the radeon driver because of this right now.
        Well, as for me, it works good and improves with each version. Actually, I'm able to play most Linux games with it and it will work for me (though somewhat slower than proprietary but still very stable and without any real bugs I can see, except maybe somewhat strange power management which is inactive by default for some weird reasons). Unfortunately it does not supports GPU computations at the moment. That's the only issue which forces me to use this awkward proprietary driver.

        Comment


        • #5
          The packaging with --buildpkg is basically from the same ppl who do the standard u packages. and there IS a trigger for the initrd. But compared to the command i showed you it does not use -t, which means if it happens that the initrd was altered somehow it will not get updated automatically.

          Comment


          • #6
            2) AMD officially supports some moron redhat stuff but who uses it on desktop? Are you nuts, AMD? There are 20 millions of Ubuntu users! And redhat desktop users are something that I never seen at all.
            Isn't this due to the fact that AMD is a big sponsor of Opensuse that uses the "moron redhat stuff"? I have always thought that AMD does everything on opensuse and tests everything on it also. (I might be wrong but it is only my belief).

            Comment


            • #7
              Originally posted by Kano
              The packaging with --buildpkg is basically from the same ppl who do the standard u packages. and there IS a trigger for the initrd. But compared to the command i showed you it does not use -t, which means if it happens that the initrd was altered somehow it will not get updated automatically.
              Hmm, then it could be due to previous driver uninstall or so? But anyway, as user I would expect reliable and successful installation, in absolutely any valid combination of actions. I do not see any obviously invalid actions from my side. So I'm basically considering this as drvier installation bug/flaw. What's wrong with installing new debs after removing previous older packages?

              As an extra "bonus", if I would do installation via launching .run file and just installing driver, driver installation wizard + aticonfig --initial --adapter=all will produce absolutely weird xorg.conf where more than 1 screen defined while I have only 1 monitor attached. This leads to silly bug: my logon screen is no longer on my monitor at all and rather will be rendered by 2nd GPU (which lacks monitor connection at all, so I can only see logon screen by reattaching it to 2nd GPU). Which leads me to thinking that AMD does not performs any serious testing on their drivers at all. On the other hand if I'll trash this xorg.conf and allow aticonfig --initial --adapter=all to rebuild it from scratch, screens are defined properly, so I have logon screen on my monitor (EPIC FAIL, since I have to do console logon to correct the problem, which is not user friendly at all!). This leads me to thinking that the best thing AMD could do during driver install is to run aticonfig --initial --adapter=all automatically if xorg.conf is completely missing. Since 2-phase xorg.conf generation by installer + aticonfig is one huge bug on it's own and could lead to unpleasant results.

              Originally posted by vein
              Isn't this due to the fact that AMD is a big sponsor of Opensuse that uses the "moron redhat stuff"? I have always thought that AMD does everything on opensuse and tests everything on it also. (I might be wrong but it is only my belief).
              From what I know, redhat haves nothing to do with (Open)SUSE which are rather developed by Novell (now part of Attachmate). Also OpenSUSE is rather a community project while SLED/SLES (Suse Enterprise desktop&server) are commercial versions from Novell. Redhat systems supported by AMD driver are enterprise versions of redhat systems. The "issue" here is the fact that RedHat does not really fights for desktop market and only sells desktop versions of their systems if customer explicitly demands it. Granted that it also costs, this thing isn't really popular and there are quite few people who using this. In no way this could anyhow compare to ~20 000 000 *buntu installations. Which means far more GPU users than redhat could ever offer, lol. However, for some weird reason AMD would rather fully support redhat's systems (most of which are used on servers and do not need GPU at all). As for me, it looks like corporate idiocy of some AMD managers or so. I think they should rethink their priorities in official OS support. Such a poor level of support for MILLIONS of customers leads to a poor reputation for sure.


              p.s. after all, all these bugs/issues have some workarounds. Except one, most silly one. I'm still can see only 1 GPU in all opencl apps while ADL and opengl apps can see both GPUs, which is really odd. Can someone give me a hint how the heck it could happen that devices detection is different for ADL and OpenCL and what has been different before, when I've been able to use both of these GPUs in OpenCL? That's the only issue I was not able to troubleshoot to the date and it costs me half of computation power in OpenCL, which is really unpleasant.

              Comment


              • #8
                Didn't AMD release a "reference" distro of Catalyst built on Ubuntu Lucid?..

                Comment


                • #9
                  Originally posted by DanL View Post
                  Didn't AMD release a "reference" distro of Catalyst built on Ubuntu Lucid?..
                  They did? I have no idea, i use rpm based distros at work and at home and i haven't had any problems with flgrx. (I guess i am lucka )

                  Comment


                  • #10
                    @Wbx4

                    I forced 11-11 driver in my script lately, do you use 11-12 driver? 11-12 has definitely bugs with hd 5670, most likely with other cards from the hd 5 series as well.

                    Comment

                    Working...
                    X