Announcement

Collapse
No announcement yet.

Radeon Driver Rewrite Only Has A Few Things Left

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

  • Radeon Driver Rewrite Only Has A Few Things Left

    Phoronix: Radeon Driver Rewrite Only Has A Few Things Left

    Back in February we talked about the work that David Airlie is doing to rewrite the ATI Radeon driver for Mesa. Soon it now looks like this rewritten code may land in the mainline Mesa code-base once a few more items are addressed...

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

  • #2
    That sounds like DRI2/KMS would be possible with this branch.

    But GEM is needed before any of these work, right? So any chance this will happen in time for Mesa 7.5 anyway? Am I missing something?

    Anyways, great job devs

    Comment


    • #3
      Originally posted by d2kx View Post
      That sounds like DRI2/KMS would be possible with this branch.

      But GEM is needed before any of these work, right? So any chance this will happen in time for Mesa 7.5 anyway? Am I missing something?

      Anyways, great job devs
      You don't need GEM but a memory manager DR12/KMS for radeon will be in Fedora 11 (already is but needs fixes mentioned in the blog)

      Comment


      • #4
        As I understand it the radeon-rewrite code can run on the current non-memory-managed framework (without DRI2), but if you run it on a system with GEM/TTM, KMS and DRI2 it will make use of those features and give you the associated benefits, like RDR (aka glxgears on a spinning cube ).

        The radeon-rewrite effort adds support for all the new features in the X/DRI stack, but allows the devs to use almost all the same code today rather than having to maintain old and new code bases over the next year as distros gradually move from the current stack to the new one (with KMS, MM, DRI2 etc..).
        Last edited by bridgman; 03-23-2009, 11:18 AM.

        Comment


        • #5
          Kick my ass if it has already been said, but, I have to say that I don't really understand what all these article is talking about : tiling, DRI2, mesa, KMS, MM, GEM/TTM etc.

          I guess many readers of Phoronix are coders and then will flawlessly and undoubtfully understand what it's all about, but I should be considered as an end-user. I don't have any knowledge in programming but I'm interested in Linux stuff and linux progress.

          What is missing in this article (or perhaps in another article) is some explanation of what all these stuff is going to good for the end-user and daily use of my box.

          I guess the stuff talked about in this article is very nice but is also very reserved to some few devs.

          To say that I'm missing a lot some explanation article as you would explain it to your grand'ma if she would have a Linux box and was waiting patiently for improvments. How would you explain that to her ? (ok, she doesnt even have a box, so, let say your girl-friend or your wife if you like ! ).

          But perhaps am I amongst the few of being just a linux end-user without any programming knowledge ? Usually, simple users tend to stay in Windows, as it's easier to manage. So let say I'm a power-user, but I would understand you don't want to lose time for explaining things to simple linux users, which are perhaps not the more linux representatives ?

          Comment


          • #6
            There are some "sticky" posts with more details, but here's the grandmother version :

            GEM/TTM lets all the different drivers use a common memory manager, which is a pre-requisite for almost all of the other features. Having a good memory manager is also a pre-requisite for some OpenGL 2.x features. Having GL 2.x will allow some apps to run which don't run today, and will allow some other apps which already work to run faster and more efficiently.

            DRI2 improves the way that the 3D and 2D drivers talk to each other. The most obvious benefit to an end user is that it supports Redirected Direct Rendering, which fixes most of the problems you see today when running 3D apps under a compositor (flickering, 3D window doesn't get composited etc..). DRI2 needs GEM/TTM.

            KMS replaces the current situation where multiple drivers are taking turns programming your display hardware, both during boot-up and when doing things like VT switch or suspend/resume. By having one driver handle everything, a class of problems related to VT switch and suspend/resume can be eliminated. KMS also allows a smoother and more useful bootup display, and provides better support for displaying status during Bad Things like kernel panics. KMS needs GEM/TTM.

            Radeon-rewrite is primarily about getting the 3D driver ready to use all these cool things as other components are upgraded to provide them.

            Comment


            • #7
              Thanks very much Bridgman !

              Comment


              • #8
                Originally posted by Fixxer_Linux View Post
                To say that I'm missing a lot some explanation article as you would explain it to your grand'ma if she would have a Linux box and was waiting patiently for improvments. How would you explain that to her ? (ok, she doesnt even have a box, so, let say your girl-friend or your wife if you like ! ).
                Just tell grandma, "People are trying to fix things that will make firefox pages scroll faster, movies look better, and games play smoother. ETA is 3-6 months."

                Frank

                Comment


                • #9
                  Still waiting with my 4870 for 3D and KDE4 and tear-free video :P

                  Comment


                  • #10
                    ok, so this doesn't have to do anything with a gallium3d-driver (aka drm-driver?), does it? omg so difficult :/
                    hm i'm going to request a phoronix wiki where we could add information just like these given above from bridgeman so that he doesn't have to answer questions related to gallium in nearly every thread.
                    Last edited by Regenwald; 03-23-2009, 04:58 PM.

                    Comment


                    • #11
                      Originally posted by Regenwald View Post
                      ok, so this doesn't have to do anything with a gallium3d-driver (aka drm-driver?), does it?
                      I don't think it does directly, no. But Gallium3D requires things like a memory manager, and this provides GEM support, so this is sort of a pre-requisite to finish up before the gallium work can really begin.

                      Can anyone confirm that Gallium3D work will begin soon after this is merged to master? Or is that still waiting on other work, like improvements to LLVM?

                      Comment


                      • #12
                        Originally posted by smitty3268 View Post
                        I don't think it does directly, no. But Gallium3D requires things like a memory manager, and this provides GEM support, so this is sort of a pre-requisite to finish up before the gallium work can really begin.

                        Can anyone confirm that Gallium3D work will begin soon after this is merged to master? Or is that still waiting on other work, like improvements to LLVM?
                        hm llvm itself is already optimized for shaders i thought. at least apple uses it for their shader optimizations, too.

                        Comment


                        • #13
                          Good to read the driver's progressing. I hope it'll also inherit all sorts of power management (clock it down, switch of unneded parts that are unneeded for the time).

                          Comment


                          • #14
                            Like others I find all this stuff about GEM/TTS/KMS/whatever very confusing and frankly I don't really want to know.

                            What I do want to know is when OpenGL support is available for r6xx/r7xx how do I get it on my machine. What other stuff besides some specific branch of mesa do you have to install. I sure hope someone writes a howto when the OpenGL r6xx/r7xx support is in the public repositories.

                            Comment


                            • #15
                              The radeon-rewrite effort is for r1xx-r5xx, but we're going to be building on it for 6xx-7xx as well. The rollout of 3d code for 6xx-7xx will probably follow a similar sequence to what EXA/Xv required :

                              - first you'll need both drm and mesa from branches (for EXA/Xv it was drm and ddx)
                              - after a while mesa will get merged to master but you'll still need drm from a branch
                              - eventually the drm code will end up in the kernel tree and you won't need anything special

                              I'm sure there will be multiple "how to build it" guides

                              Comment

                              Working...
                              X