Announcement

Collapse
No announcement yet.

Open ATI Driver To Receive PowerPlay Push?

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

  • Open ATI Driver To Receive PowerPlay Push?

    Phoronix: Open ATI Driver To Receive PowerPlay Push?

    Besides the Radeon DRM improvements (and Radeon HDMI KMS audio) to be found in the Linux 2.6.33 kernel, there is more to be thankful for this holiday season when it comes to the open-source support. Up to this point when it comes to power management for ATI's kernel mode-setting support the work (Radeon DRM Power Management Moves Along) has been largely done by RafaĆ? MiĆ?ecki, an independent open-source developer...

    http://www.phoronix.com/vr.php?view=NzgzMA

  • #2
    Just to clarify this information has been available for r1xx-r5xx/rs6xx/rs740 for years now (since atombios.h was released). This adds the table definitions for r6xx/r7xx/rs780/rs880.

    Comment


    • #3
      Originally posted by agd5f View Post
      Just to clarify this information has been available for r1xx-r5xx/rs6xx/rs740 for years now (since atombios.h was released). This adds the table definitions for r6xx/r7xx/rs780/rs880.
      So why can't we overclock and/or change fan speeds on the older (r300-r500) harware then? Is it the ttm not being optimized, gpu acceleration not being optimized or powerplay code not being complete?

      Comment


      • #4
        Originally posted by barbarbaron View Post
        So why can't we overclock and/or change fan speeds on the older (r300-r500) harware then? Is it the ttm not being optimized, gpu acceleration not being optimized or powerplay code not being complete?
        There's no power management infrastructure to hook into and no one's written the code to do it.

        Comment


        • #5
          WOW! This is incredible!

          Were you saving this for Christmas on purpose?

          I've say it is worth it though.

          Didn't we get glxgears for R600 for Christmas last year?

          Comment


          • #6
            Originally posted by Louise View Post
            WOW! This is incredible!

            Were you saving this for Christmas on purpose?

            I've say it is worth it though.

            Didn't we get glxgears for R600 for Christmas last year?
            Last year we got first hardware accelerated triangles.

            Comment


            • #7
              Originally posted by agd5f View Post
              There's no power management infrastructure to hook into and no one's written the code to do it.
              isn't it possible to create some interface, based on sysfs, to control clocks/fan speed?

              Comment


              • #8
                cross kernel madness

                Originally posted by agd5f View Post
                There's no power management infrastructure to hook into and no one's written the code to do it.
                I bet that the cross kernel madness is one of the main reason. To follow kernel abstraction, the DRM would have to include a power management abstraction which works on Linux and BSD. That abstraction will be easy to design with firmware loading but with power management, design is brought to a whole new level...

                The cross-kernel thing is turning to a kludge. Better drop kernel abstraction, switch to GNU GPLv2 (I would go GNU Affero GPLv3 for GPU drivers), and code directly on Linux APIs and internal structures. BSD coders are smart enough to code drivers that will fit cleanely their kernel, since all the knowledge will already be available in Linux.

                Comment


                • #9
                  I seriously don't mean to start a flame war, but why are desktop users using BSD?

                  Don't people use BSD for its firewall?

                  Comment


                  • #10
                    Originally posted by Louise View Post
                    I seriously don't mean to start a flame war, but why are desktop users using BSD?
                    Many do: MacOS.

                    The big issue here is that MacOS is a proprietary and closed fork of Darwin which is a BSD. MacOS has many improvements that Dawin has not...
                    This is a part of the root of the BSD/GNU GPL flamewar.
                    "Thanks" to the BSD license, apple can improve and close the code witout publishing it. MacOS is closed and proprietary. With the GNU GPL, fairness (open source) is protected, enforced: you cannot close the code. It allows us to go after optimal code.
                    Most of GNU GPL coders are looking to have an *optimal* open source OS installed on systems. The GNU GPL helps towards that goal, but is not a silver bullet.
                    Regarding the GPUs drivers, since they are BSD, apple can rip that code, share secrets with nvidia/AMD/intel... in order to keep the optimal code for MacOS crippling the open source version (they did it for NTFS support for instance).
                    I do remenber BSD advocates saying that no company will be able to have a better proprietary fork of a BSD OS. They were wrong.
                    Last edited by sylware; 12-22-2009, 07:11 AM.

                    Comment


                    • #11
                      Originally posted by sylware View Post
                      Many do: MacOS.

                      The big issue here is that MacOS is a proprietary and closed fork of Darwin which is a BSD. MacOS has many improvements that Dawin has not...
                      This is a part of the root of the BSD/GNU GPL flamewar.
                      "Thanks" to the BSD license, apple can improve and close the code witout publishing it. MacOS is closed and proprietary. With the GNU GPL, fairness (open source) is protected, enforced: you cannot close the code. It allows us to go after optimal code.
                      Most of GNU GPL coders are looking to have an *optimal* open source OS installed on systems. The GNU GPL helps towards that goal, but is not a silver bullet.
                      Regarding the GPUs drivers, since they are BSD, apple can rip that code, share secrets with nvidia/AMD/intel... in order to keep the optimal code for MacOS crippling the open source version (they did it for NTFS support for instance).
                      I do remenber BSD advocates saying that no company will be able to have a better proprietary fork of a BSD OS. They were wrong.
                      So what you want is to rip out the close source drivers from MacOSX and install the open source drivers?

                      Doesn't the 3D work very well out of the box with Mac?

                      Comment


                      • #12
                        Originally posted by Louise View Post
                        So what you want is to rip out the close source drivers from MacOSX and install the open source drivers?

                        Doesn't the 3D work very well out of the box with Mac?
                        AFAIK, it does not.

                        "Ripping closed source" means reverse engineering the closed source driver. That's what the people of the nouveau project are doing on the nvidia Linux driver. All that because nvidia refuse to publish the hardware programming manual of their GPUs. This is a gigantic loss of time. I would not be surprised if some companies with an interest of slowing down GNU/Linux on the desktop are behind all this.

                        Remember: the target is to have by default open source OS installed on systems with optimal code driving your hardware.

                        Comment


                        • #13
                          Originally posted by sylware View Post
                          AFAIK, it does not.

                          "Ripping closed source" means reverse engineering the closed source driver. That's what the people of the nouveau project are doing on the nvidia Linux driver. All that because nvidia refuse to publish the hardware programming manual of their GPUs. This is a gigantic loss of time. I would not be surprised if some companies with an interest of slowing down GNU/Linux on the desktop are behind all this.

                          Remember: the target is to have by default open source OS installed on systems with optimal code driving your hardware.
                          Yes, but then why use BSD? I mean, Linux and BSD use the same user space applications, I guess from a desktop users point of view they should fell the same?

                          Comment


                          • #14
                            Originally posted by Louise View Post
                            Yes, but then why use BSD? I mean, Linux and BSD use the same user space applications, I guess from a desktop users point of view they should fell the same?
                            I was told: "in order to run in BSD kernels" (with all the risks it does imply). The result is a cross kernel kludge. I was *violently* forbidden to provide GNU GPL code for those drivers on AMD and NVIDIA project.

                            I don't mind, I will code other drivers more fitted to the Linux kernel (license wise and code wise). We can share hardware programming knowledge but code will be different.

                            What I can do, is take their code from a certain point, re-license under GNU GPL and obliterate cross-kernel code. It is *not* like closing the code: aka the ultimate treason.

                            Comment


                            • #15
                              Originally posted by netkas View Post
                              isn't it possible to create some interface, based on sysfs, to control clocks/fan speed?
                              It's possible, but it's still a lot of work. Besides, just exposing clocks to users does not ultimately save much power or give a good user experience. There are a lot of factors to consider:

                              - Bandwidth. Do I have enough memory bandwidth in this power state to properly feed all active displays as well as the drawing engine? Not enough bandwidth can cause drawing stalls or glitches and blanking or flickering of the displays.

                              - Frequency. Is the current clock rate high enough to finish the current operations within an acceptable time window? Often, it's a better user experience and saves more power to bump the GPU to a higher power state than you might think so the operation finishes sooner. Set it too low and performance will suck.

                              - Thermal/fan controllers. These are 3rd party chips connected via i2c. Drivers need to be written for each of these chips before they can be used. Then you need to wire them up to some interface so you can access the information. There are existing drivers for some of these chips, but we need to write a radeon i2c algo module to expose the radeon i2c buses so they can be used by other drivers. This in itself is a fair amount of work.

                              - Power mode changes. This needs to be done during the blanking period or when the displays are off to avoid visual glitches. Often the latencies required make it hard or impossible to fit this into a vblank period.

                              Comment

                              Working...
                              X