Announcement

Collapse
No announcement yet.

Whoops, ATI's Evergreen Will Bring A New Driver

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

  • Whoops, ATI's Evergreen Will Bring A New Driver

    Phoronix: Whoops, ATI's Evergreen Will Bring A New Driver

    Just hours ago we reported on AMD's position for the Gallium3D driver architecture according to John Bridgman, but some of his comments may now be different considering their Gallium3D adoption plans. After sending off that email with his Gallium3D comments, he learned that the Evergreen (a.k.a. Radeon HD 5000 series) support upbringing will be slightly different than planned...

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

  • #2
    shit this looks more and more like a dog chasing it's tail, when is it going to be an end so we can use the new graphics cards and everything will work, like in Windows? do linux users always have to use hardware that are ten years old?

    Perhaps we could finally use R800 for linux desktop for good when R1000 releases on market. So expect to see OGL 3D on your HD 5870 in the year 2012.

    Comment


    • #3
      Huh ? We're doing this to save time, not to make things take longer.

      Comment


      • #4
        Originally posted by FunkyRider View Post
        shit this looks more and more like a dog chasing it's tail, when is it going to be an end so we can use the new graphics cards and everything will work, like in Windows? do linux users always have to use hardware that are ten years old?

        Perhaps we could finally use R800 for linux desktop for good when R1000 releases on market. So expect to see OGL 3D on your HD 5870 in the year 2012.
        Over-exaggerate much?

        I've got my Radeon 4770 running with 2D acceleration, KMS, and 3D acceleration in Compiz in Ubuntu right NOW, not in 2012, not in 2011, but right now (and I've had it working for months).

        Comment


        • #5
          Originally posted by FunkyRider View Post
          shit this looks more and more like a dog chasing it's tail, when is it going to be an end so we can use the new graphics cards and everything will work, like in Windows? do linux users always have to use hardware that are ten years old?

          Perhaps we could finally use R800 for linux desktop for good when R1000 releases on market. So expect to see OGL 3D on your HD 5870 in the year 2012.
          The idea with Gallium is to reduce duplicated work, which should mean an even faster pace for open-source driver development once it gains broad usage (which one might argue has already happened). The the video situation on Linux has been so tumultuous lately because of the work being done to lay the foundation for better and faster driver development. KMS and DRI2 are more or less settled (it's mainly optimization at this point), so Gallium is the last piece that needs to be put into place (as far as I can tell).

          Comment


          • #6
            How to start over with

            Hi everyone,
            i've followed the discussions and articles on this page for a while now.
            But i still can't figure out how every parts (mesa/g3d/xf86-video-ati/kms and so on) work together.
            I mean even if i were able to code like a god i still wouldnīt know where to start.

            Is there some simple presentation/documentation or anything like that where i can see (for example) where i have to start if i want to improve the openGL support? Or what to do if i want to add features for my graphics card?

            I mean - and maybe i'm an idiot - there are parts in the kernel, there a parts in xorg, there is galium3d and there is mesa. What the hell?
            I just canīt believe that i'm the only one that lacking some informations here.
            But even if so... maybe someone can help me to fill in the missing parts of the puzzle :-)

            However i like the open source ati drivers and i'm using them for quite a while now. Thanks to everyone whose efforts made that possible :-)

            Comment


            • #7
              Now that most of the rearchitecture work has finished the stack is getting pretty simple :

              - kernel driver (aka drm) initializes the GPU, manages memory, and sets up the display. Having the kernel driver handle display setup is relatively new, and is referred to as Kernel ModeSetting (KMS)

              - X driver (aka xf86-video-ati) hooks into the X server, passes display changes from the X server down to the kernel driver, and turns acceleration commands from the X server into GPU commands which are passed to the chip via the kernel driver

              - Mesa driver turns OpenGL commands into HW driver calls; HW driver turns those calls into GPU commands which are passed to the chip via the kernel driver.

              There are two types of Mesa HW drivers -- "classic" and Gallium3D -- and the transition from one to t'other is maybe half completed. Gallium3D drivers have the advantage of being able to support more than just 3D operations - things like OpenVG, OpenCL, 2D and video acceleration. Mesa is used for OpenGL in both cases, ie it's not "Mesa vs Gallium" it's "Mesa with classic HW drivers vs Mesa with Gallium3D HW drivers".

              Older GPUs (r1xx, r2xx) will probably only ever use the classic drivers. More recent GPUs (r3xx-r5xx) are currently using a classic driver but a new Gallium3D driver is getting close to being able to replace the classic driver. The newest GPUs (6xx and higher) use a classic driver and work is just beginning on a Gallium3D driver.

              Programming documentation for the chips is available at http://www.x.org/docs/AMD

              Design documentation for the graphics drivers is available at http://www.x.org/wiki but be careful because most of it refers to the driver stack before the recent rearchitecture work completed.

              OK so far ?

              Comment


              • #8
                Originally posted by chrisrock View Post
                Hi everyone,
                I just canīt believe that i'm the only one that lacking some informations here.
                Your're not, I've given up on trying to understand how it all works
                In the end it probably all pretty simple (not talking about the code here) but without understanding how Gfx cards actually work I have a hard time relating to some of the block diagrams and explanations I have seen in the past.

                In relation to the article: to me it seems a bit of a waste to make a new driver just so you can fix some register offsets? Sounds like something that could easily be parametrized, especially if they are so similar in all other aspects.

                Comment


                • #9
                  Just to be clear, there's no intention of "writing a new driver", just creating a new copy of the existing driver and changing the register addresses in the copy rather than modifying all the code to deal with different addresses depending on what GPU is being used.

                  This is to make things quicker and easier, not harder.

                  re: understanding how graphics cards work, have you read agd5f's blog posts from a couple of years ago ? If not, they're a pretty good starting point :

                  http://www.botchco.com/agd5f/?p=14

                  Once you have the basics, maybe look at the 5xx or 6xx/7xx acceleration guides in the docco list a couple of posts above.

                  Comment


                  • #10
                    quintesse, one thing that really helps with learning how a GPU works is to pick up an OpenGL book and start writing some simple graphics programs.

                    Once you have a bit of OpenGL under your belt it's a lot easier to understand the descriptions of what the GPU does - without it your brain is going to be screaming "why would you want to do that ?" every few seconds

                    Comment


                    • #11
                      Originally posted by bridgman View Post
                      Now that most of the rearchitecture work has finished the stack is getting pretty simple :

                      - kernel driver (aka drm) initializes the GPU, manages memory, and sets up the display. Having the kernel driver handle display setup is relatively new, and is referred to as Kernel ModeSetting (KMS)

                      - X driver (aka xf86-video-ati) hooks into the X server, passes display changes from the X server down to the kernel driver, and turns acceleration commands from the X server into GPU commands which are passed to the chip via the kernel driver

                      - Mesa driver turns OpenGL commands into HW driver calls; HW driver turns those calls into GPU commands which are passed to the chip via the kernel driver.

                      There are two types of Mesa HW drivers -- "classic" and Gallium3D -- and the transition from one to t'other is maybe half completed. Gallium3D drivers have the advantage of being able to support more than just 3D operations - things like OpenVG, OpenCL, 2D and video acceleration. Mesa is used for OpenGL in both cases, ie it's not "Mesa vs Gallium" it's "Mesa with classic HW drivers vs Mesa with Gallium3D HW drivers".

                      Older GPUs (r1xx, r2xx) will probably only ever use the classic drivers. More recent GPUs (r3xx-r5xx) are currently using a classic driver but a new Gallium3D driver is getting close to being able to replace the classic driver. The newest GPUs (6xx and higher) use a classic driver and work is just beginning on a Gallium3D driver.

                      Programming documentation for the chips is available at http://www.x.org/docs/AMD

                      Design documentation for the graphics drivers is available at http://www.x.org/wiki but be careful because most of it refers to the driver stack before the recent rearchitecture work completed.

                      OK so far ?
                      Thats a brilliant description (i've been very stuck with this too).

                      Its because of replies like this that i will only ever buy ATI from now on.

                      Comment


                      • #12
                        Originally posted by xir_ View Post
                        Thats a brilliant description (i've been very stuck with this too). Its because of replies like this that i will only ever buy ATI from now on.
                        you know? bridgman its amd's secret weapon...

                        i think bridgman isn't a human i think he is a openCL based KI runs on a R900!

                        the secret plan is to fire all humans out and let the work be done by R900 chips!

                        bridgman is just the first prototype of a really smart KI based on R900!

                        Comment


                        • #13
                          @Bridgman
                          If there is an AtomBIOS, why the hell does the 'new copy' driver require changing register adresses?
                          And also wouldn't writing directly to the registers speed up 'the card'?

                          Comment


                          • #14
                            You are right, I have an ATI 5850, the fglx drivers are really slow even scrolling web pages in firefox.... and the open source drivers are always "coming".... For me, the solution I've found is to execute Linux in a Virtualbox machine inside Windows 7. No more problem with graphics, suspend / hibernate, I can make a backup of the whole system, and I dont have to reboot to play some games.

                            Comment


                            • #15
                              And also wouldn't writing directly to the registers speed up 'the card'?
                              AFAIK, modern GPU drivers shouldn't be spending a lot of time touching registers. If they are, the optimization is generally to touch registers less often, not to touch them faster.

                              Comment

                              Working...
                              X