Announcement

Collapse
No announcement yet.

The Mesa 3D Release Process Is Changing

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

  • The Mesa 3D Release Process Is Changing

    Phoronix: The Mesa 3D Release Process Is Changing

    Ian Romanick of Intel who generally has been serving as the release manager of new Mesa releases, has announced some planned changes for releasing Mesa 3D drivers...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    3 month release cadence should be good. And it show that devs do not have all that much Q&A...

    What about "LTS" Mesa versions? Will there be any, or will it be up to distro devs to care&provide such...

    Comment


    • #3
      it'll prob fall into the same cadenance and respect as the kernel and KDE do: you'll get stability improvements up until the new version is released. If distros want to stick to a specific version then they'll have to selectively backport fixes.
      All opinions are my own not those of my employer if you know who they are.

      Comment


      • #4
        Great news!
        ## VGA ##
        AMD: X1950XTX, HD3870, HD5870
        Intel: GMA45, HD3000 (Core i5 2500K)

        Comment


        • #5
          Originally posted by przemoli View Post
          3 month release cadence should be good. And it show that devs do not have all that much Q&A...

          What about "LTS" Mesa versions? Will there be any, or will it be up to distro devs to care&provide such...
          I believe it should be up to the distro to provide such. The kernel is handled differently because (I believe) the API and ABI remains constant for LTS, and that would make harder for a distro to backport the fixes themselves, while it benefits the user that doesn't need to recompile the software (for which might not even have the source code). In mesa it should always be constant, since it should be OpenGL compliant (you shouldn't directly target mesa, but OpenGL, and the only specific bits are the ones bound to the use of a specific windowing system, which should be a constant anyway).

          Comment


          • #6
            Originally posted by przemoli View Post
            3 month release cadence should be good. And it show that devs do not have all that much Q&A...

            What about "LTS" Mesa versions? Will there be any, or will it be up to distro devs to care&provide such...
            This sounds uterly stupid and very debian-ish to me. Waiting more for a release is a nice way to actually increase the bug count. Continuous testing AND fixing is the way to go. If you don't want to use a just-released version, use the previous one as it will have some of the bug fixes back ported.

            The idea that software magically becomes bug-free with developer-driven Q&A is really not true. Software becomes bug-free when users test it and report back. Of course devs should try to avoid breaking what is already working by running tests (like piglit), but there is a limit to that!

            Comment


            • #7
              Originally posted by przemoli View Post
              3 month release cadence should be good. And it show that devs do not have all that much Q&A...

              What about "LTS" Mesa versions? Will there be any, or will it be up to distro devs to care&provide such...
              well git mesa breaks for me maybe once a year and that is as bleeding edge as you can be, unlike closed source systems where you pull all the crap together and then start the Q&A process in projects like Mesa its done at commit level hence a smaller Q&A time is needed since the patches were quite well tested before reach upstream[and git allows you to merge branches and keep them up to date with yours, so you can always check your patch works with the latest changes upstream or dependent branches you use]

              another thing mesa is an driver API not an public API, meaning you should never use mesa directly unless you are writing a driver so, you must use Opengl/GL ES/EGL/GLX/etc,

              another fact is that mesa never include major features in point releases, aka mesa 9 is a major release and added support for Opengl 3.1 but mesa 9.1 won't have Opengl 3.2/3.3 because that will come with mesa 10, so mesa 9.1 will only include corner case bugfix or safe performance optimizations that missed the merge window.

              this all apply to every linux distro but official ubuntu since for some reason canonical love to patch mesa downstream[the assumption is unity need them] and break stuff, but if you don't use unity you can replace their version with a clean one from PPA[is not uncommon to break unity when doing so tho]

              anyway this change affect distros like Arch or Gentoo or Sabayon[aka rolling release distros] but it won't affect fixed cycle distros like ubuntu since they freeze the version once they tag the release version, so in ubuntu 14.04 you will see mesa 9.3 and mesa 9.4 in PPA and the in 14.10 you could see mesa 9.5 or 10

              Comment


              • #8
                Originally posted by M?P?F View Post
                This sounds uterly stupid and very debian-ish to me. Waiting more for a release is a nice way to actually increase the bug count. Continuous testing AND fixing is the way to go. If you don't want to use a just-released version, use the previous one as it will have some of the bug fixes back ported.

                The idea that software magically becomes bug-free with developer-driven Q&A is really not true. Software becomes bug-free when users test it and report back. Of course devs should try to avoid breaking what is already working by running tests (like piglit), but there is a limit to that!
                The idea of LTS is not "developer-driven Q&A", but having a version which is feature freezed, so actually one does not increase the bugs surface. One does not release left often, but tags one release as LTS and keeps backporting fixes only to that, while normal releases keep happening. It's still users finding the bugs.
                Also, betas, release candidates and such are tested by users, only that they are voluntarily hunting bugs.

                Originally posted by jrch2k8 View Post
                another fact is that mesa never include major features in point releases, aka mesa 9 is a major release and added support for Opengl 3.1 but mesa 9.1 won't have Opengl 3.2/3.3 because that will come with mesa 10, so mesa 9.1 will only include corner case bugfix or safe performance optimizations
                Aren't the implemented pieces available as extensions? Or you need to explicitly build it with support for them until the whole new version of OpenGL is complete?

                Comment


                • #9
                  Originally posted by mrugiero View Post
                  Aren't the implemented pieces available as extensions? Or you need to explicitly build it with support for them until the whole new version of OpenGL is complete?
                  you can write all the extensions one by one but as far as I know... OpenGL doesn't broadcast individual extensions (for the most part). It broadcasts versions. AMD can change Catalyst to report that it only supports OpenGL 2.1, despite the fact it supports 4.3 + some. And any app that asks the driver "What do you support" will be told "I support OpenGL 2.1." And therefore use an OpenGL 2 code path, assuming one exists. And it'll stay that way until someone realizes AMD is lying and starts ignoring what it reports and just assumes 4.3
                  All opinions are my own not those of my employer if you know who they are.

                  Comment


                  • #10
                    Originally posted by Ericg View Post
                    you can write all the extensions one by one but as far as I know... OpenGL doesn't broadcast individual extensions (for the most part). It broadcasts versions. AMD can change Catalyst to report that it only supports OpenGL 2.1, despite the fact it supports 4.3 + some. And any app that asks the driver "What do you support" will be told "I support OpenGL 2.1." And therefore use an OpenGL 2 code path, assuming one exists. And it'll stay that way until someone realizes AMD is lying and starts ignoring what it reports and just assumes 4.3
                    Yes, OpenGL broadcasts extensions. That's one of the key points everyone hated about it versus DirectX, which just guaranteed a certain functionality with a version #, with OpenGL you had all sorts of extensions.

                    It provides versions as well, but that is like a minimum set of guaranteed extensions, and then you can manually query for anything on top of that if you want.

                    Originally posted by mrugiero
                    Aren't the implemented pieces available as extensions? Or you need to explicitly build it with support for them until the whole new version of OpenGL is complete?
                    Generally what you do is take some baseline feature set that you require - such as GL2, or GL3, etc. Then on top of that you do manual querying for any useful extensions you might want to use but that aren't guaranteed by the baseline version. You have to use those optionally, only if the driver provides what you want. Of course, you can ignore that step if baseline GL3 (for example) provides everything you need. It just depends on how much effort you want to go to, and exactly what your code can benefit from that isn't part of the standard versions. Making it worse is that often an extension will be present only on the NVidia or AMD drivers, with the other providing an equivalent that is just different enough to trip you up, so the recommendation is usually to stick with the standard versions as much as possible.

                    So the 9.1 driver absolutely added new extensions and other risky changes that the 9.0 driver didn't. The truly safe changes are provided in the monthly (now supposedly every two weeks) updates - 9.0.1, 9.0.2, etc.
                    Last edited by smitty3268; 03 July 2013, 09:09 PM.

                    Comment

                    Working...
                    X