Announcement

Collapse
No announcement yet.

A Major Rework To The X.Org Video Driver ABI

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

  • A Major Rework To The X.Org Video Driver ABI

    Phoronix: A Major Rework To The X.Org Video Driver ABI

    One of the mailing list threads I've been trying to catch up on this week while at Oktoberfest is the heated discussion about merging video/input drivers back into the X.Org Servers. This discussion was started at the XDC2011 conference, but there's many e-mails being exchanged from more parties not in favor of merging the drivers into the xorg-server tree or wishing to see other developmental process changes...

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

  • #2
    I wonder what's so wrong with the X.org video ABI that it needs a rewrite?

    Comment


    • #3
      may i also ask why people (dave actually) have to go through all the trouble rewriting a binary interface for a technology (xorg) that will be -as it seems- a thing of the past in a few years????

      Comment


      • #4
        Originally posted by cl333r View Post
        I wonder what's so wrong with the X.org video ABI that it needs a rewrite?
        That you can't change your video adapter on-the-fly with the current model. You want to see seamless graphics switch and optimus in x.org one day, right?

        Comment


        • #5
          Originally posted by Lynxeye View Post
          That you can't change your video adapter on-the-fly with the current model. You want to see seamless graphics switch and optimus in x.org one day, right?
          X.org will be installed by default for at most 4 years from now. It'll take 1-2 years to make the ABI stable, ship to distros and get Nvidia to support it. So you're gonna "enjoy" optimus at best for 1-2 years before Wayland kicks in for serious.

          I'd rather wish they put X.org into maintenance mode (since it's good enough and dying) and concentrate on Wayland (and on open source GL drivers) to make Wayland a reality in like 2 years from now, not in 4.
          Last edited by cl333r; 09-22-2011, 08:47 AM.

          Comment


          • #6
            all i want out of xorg, or wayland for that matter, is nested login screens with hardware accelerated 3d support. if wayland supports multiple mouse pointers and keyboards then that'll also be a plus.

            considering linux's graphics performance is comparable to windows, intel, nvidia, amd, and via already have enough work on their hands trying to get wayland to work. i think xorg at this point should focus on just cleaning up it's code and be used for legacy purposes at this point.

            sure it's a shame that it has a foreseeable demise, but i think it's a lot more practical to just use a completely new display server than it is to continuously re-write a ~20 year old server.

            Comment


            • #7
              Originally posted by 89c51 View Post
              may i also ask why people (dave actually) have to go through all the trouble rewriting a binary interface for a technology (xorg) that will be -as it seems- a thing of the past in a few years????
              This is only a guess, but I think that it's because no serious developer is expecting xorg to be a thing of the past in a few years.

              Comment


              • #8
                Originally posted by cl333r View Post
                X.org will be installed by default for at most 4 years from now.
                Is there ANY credible basis for this claim whatsoever?

                As far as I can tell, this is a phoronix forum meme gone out of hand.

                Comment


                • #9
                  Originally posted by cl333r View Post
                  X.org will be installed by default for at most 4 years from now. It'll take 1-2 years to make the ABI stable, ship to distros and get Nvidia to support it. So you're gonna "enjoy" optimus at best for 1-2 years before Wayland kicks in for serious.

                  I'd rather wish they put X.org into maintenance mode (since it's good enough and dying) and concentrate on Wayland (and on open source GL drivers) to make Wayland a reality in like 2 years from now, not in 4.
                  Putting everyone in the Wayland boat seems a bit premature to me, for a number of reasons:

                  1. Applications that are targeting more than just GNU/Linux often use the commonplace X11 libraries as a solid basis for graphics programming across platforms. You can pretty much rely on the original X11 API to be available across Linux, Solaris, BSD, and recently, even OS X. There are free and proprietary X servers for Windows, too. Basically any self-respecting platform with a 2D GUI is going to have some way for you to run apps based on X11, whether third-party or officially supported. Unless Wayland can support X11 apps at least as well as Mac OS X does (i.e. native first-class windows, not just an X11 root window in a window like you get with some configurations of Cygwin X11), the support will not be rich enough to be usable.

                  2. If you support libX11, then you pretty much need to support all of the other stuff on top of it. GLX -> OpenGL, Xv, XRender, and a majority of the other commonly used extensions, maybe even XRandR.

                  3. With all this backwards compatibility (which will be needed for at least a decade for all but the most basic users) why not just stick with Xorg to begin with, and evolve the Xorg platform to be as good as Wayland?

                  4. Proprietary driver companies have been strongly anti-Wayland up to this point, so unless that attitude changes, there will be no way to have OpenGL 3.x or 4.x support on GNU/Linux. This, to me, is totally unacceptable. I'm not saying that every user needs GL 3 / 4, but those who do, should be able to get it. And by "need" I mean, if they can't get it, then they use another platform. Would you rather that all the enterprise users who buy ATI FireGL cards and use Catalyst + RHEL for professional graphics, stop doing that and switch to Nvidia + Win32 or Mac OS X? I sure as heck wouldn't want that; but if we take away the ability for them to use proprietary drivers that actually implement all of the latest GL specs, we won't see heads or tails of any enterprise graphics users on GNU/Linux ever again until/unless the open driver stack achieves the performance and feature parity with the nvidia and ATI binaries (unlikely to happen within the next 5 years at the least).

                  Wayland needs to continue to evolve at its own pace and prove itself, and gain vendor support (from proprietary driver teams at ATI and Nvidia, primarily). Wayland can be the future. But we shouldn't just abandon all efforts to make our current solution as good as possible while we're still using it.

                  And I think your timeline is extremely compressed. You're probably looking at the timeline for an enthusiast user who runs the latest stable Fedora or Ubuntu, and can get by with the paltry OpenGL support on the open drivers. For those types of users, then yes, Wayland in 3 - 4 years is a reasonable goal. For the people with money and a slower timeline, they need Xorg, and they need it to be fast and feature rich. So please continue with what you're doing, Mr. Airlie

                  Comment


                  • #10
                    Originally posted by pingufunkybeat View Post
                    Is there ANY credible basis for this claim whatsoever?

                    As far as I can tell, this is a phoronix forum meme gone out of hand.
                    "Credible" means different things to different people, I read enough arguments and facts that make it credible for me. You're free to believe whatever, even that X.org will be in active use for the next century.
                    I didn't say _that_ to start a Wayland rant, but for people to understand why I'm saying it doesn't make much sense working too much on X.org.

                    Comment


                    • #11
                      I'm guessing this work will make multi-gpu just work - David's been working on the switcheroo work around - it would make sense for him to be the one to come put with a proper solution

                      Fingers crossed

                      Comment


                      • #12
                        Originally posted by pingufunkybeat View Post
                        This is only a guess, but I think that it's because no serious developer is expecting xorg to be a thing of the past in a few years.
                        not being a thing of the past is one thing. rewriting an important -as far as i understand- part is another.

                        seriously i was expecting people (devs) to start putting xorg in a bugfix only mode as many of them seem to agree that the graphics need to move forward

                        Comment


                        • #13
                          Originally posted by allquixotic View Post
                          Putting everyone in the Wayland boat seems a bit premature to me, for a number of reasons:

                          1. Applications that are targeting more than just GNU/Linux often use the commonplace X11 libraries as a solid basis for graphics programming across platforms. You can pretty much rely on the original X11 API to be available across Linux, Solaris, BSD, and recently, even OS X. There are free and proprietary X servers for Windows, too. Basically any self-respecting platform with a 2D GUI is going to have some way for you to run apps based on X11, whether third-party or officially supported. Unless Wayland can support X11 apps at least as well as Mac OS X does (i.e. native first-class windows, not just an X11 root window in a window like you get with some configurations of Cygwin X11), the support will not be rich enough to be usable.

                          2. If you support libX11, then you pretty much need to support all of the other stuff on top of it. GLX -> OpenGL, Xv, XRender, and a majority of the other commonly used extensions, maybe even XRandR.

                          3. With all this backwards compatibility (which will be needed for at least a decade for all but the most basic users) why not just stick with Xorg to begin with, and evolve the Xorg platform to be as good as Wayland?

                          4. Proprietary driver companies have been strongly anti-Wayland up to this point, so unless that attitude changes, there will be no way to have OpenGL 3.x or 4.x support on GNU/Linux. This, to me, is totally unacceptable. I'm not saying that every user needs GL 3 / 4, but those who do, should be able to get it. And by "need" I mean, if they can't get it, then they use another platform. Would you rather that all the enterprise users who buy ATI FireGL cards and use Catalyst + RHEL for professional graphics, stop doing that and switch to Nvidia + Win32 or Mac OS X? I sure as heck wouldn't want that; but if we take away the ability for them to use proprietary drivers that actually implement all of the latest GL specs, we won't see heads or tails of any enterprise graphics users on GNU/Linux ever again until/unless the open driver stack achieves the performance and feature parity with the nvidia and ATI binaries (unlikely to happen within the next 5 years at the least).

                          Wayland needs to continue to evolve at its own pace and prove itself, and gain vendor support (from proprietary driver teams at ATI and Nvidia, primarily). Wayland can be the future. But we shouldn't just abandon all efforts to make our current solution as good as possible while we're still using it.

                          And I think your timeline is extremely compressed. You're probably looking at the timeline for an enthusiast user who runs the latest stable Fedora or Ubuntu, and can get by with the paltry OpenGL support on the open drivers. For those types of users, then yes, Wayland in 3 - 4 years is a reasonable goal. For the people with money and a slower timeline, they need Xorg, and they need it to be fast and feature rich. So please continue with what you're doing, Mr. Airlie
                          1) I'm not putting everyone on the Wayland boat, don't be silly and don't misinterpret my words to make my points look silly.
                          2) The X11 API mainly sucks balls, also regarded as "time travel" by some devs, and "it sucks" by others.
                          3) X11/X.org is evolving into a dead server/API, that's why devs from Intel, Canonical, Red Hat are pretty much in favor of Wayland, google for details if you haven't heard about it. If you don't get it yet that it's not reasonable to try to evolve X.org to a modern/clean solution - you'll likely never get it.
                          4) Proprietary drivers have _not_ been "strongly anti-Wayland", stop speaking as a young maximalist. Corporations usually start supporting software _after_ it gains enough traction. Only a naive person would expect AMD and Nvidia to officially start working on Wayland support right from its inception.
                          5) There _is_ way to have GL 3+ on Wayland, but first wait for Intel to ship a finalized GL3 implementation (with EGL) in the first place. Adding support for GL3 should be a matter of writing a backend or so. Rest assured - it doesn't require rewriting the whole server. Until then, GLES2 is supported cause it's already there and also cause Wayland is meant to run on small devices, unlike X11.
                          Last edited by cl333r; 09-22-2011, 10:45 AM.

                          Comment


                          • #14
                            Originally posted by allquixotic View Post
                            3. With all this backwards compatibility (which will be needed for at least a decade for all but the most basic users) why not just stick with Xorg to begin with, and evolve the Xorg platform to be as good as Wayland?
                            I agree with your post, but this is a (most likely unintentional) example of the hype that goes on here.

                            Wayland is not only not better than Xorg in any practical sense right now, but it is not even comparable, even for the most basic tasks. We are hoping that in a few years it will be comparable to where X is now, but simpler, more elegant, and more future-friendly. Just the suggestion that Xorg needs to evolve to be as good as Wayland is ridiculous. Right now, Xorg is better in every possible way, except code complexity. Several years ahead, actually.

                            I like the idea of completely redesigning the Free Desktop based on all the progress related to evdev, kms, gallium3d, freetype, KDE+GNOME, and other projects which have supplanted large parts of what X used to do, and which are no longer necessary. Perhaps this is the future. Some aspects of X would be missed, but maybe it's time to move on. But if we are in the position where major distros consider offering Wayland as a non-default install-time option in 3-4 years for the bleeding edge hardcore hackers, I will consider it a huge success for Wayland.

                            Comment


                            • #15
                              Originally posted by allquixotic View Post
                              Putting everyone in the Wayland boat seems a bit premature to me, for a number of reasons:

                              1. Applications that are targeting more than just GNU/Linux often use the commonplace X11 libraries as a solid basis for graphics programming across platforms. You can pretty much rely on the original X11 API to be available across Linux, Solaris, BSD, and recently, even OS X. There are free and proprietary X servers for Windows, too. Basically any self-respecting platform with a 2D GUI is going to have some way for you to run apps based on X11, whether third-party or officially supported. Unless Wayland can support X11 apps at least as well as Mac OS X does (i.e. native first-class windows, not just an X11 root window in a window like you get with some configurations of Cygwin X11), the support will not be rich enough to be usable.

                              2. If you support libX11, then you pretty much need to support all of the other stuff on top of it. GLX -> OpenGL, Xv, XRender, and a majority of the other commonly used extensions, maybe even XRandR.

                              3. With all this backwards compatibility (which will be needed for at least a decade for all but the most basic users) why not just stick with Xorg to begin with, and evolve the Xorg platform to be as good as Wayland?

                              4. Proprietary driver companies have been strongly anti-Wayland up to this point, so unless that attitude changes, there will be no way to have OpenGL 3.x or 4.x support on GNU/Linux. This, to me, is totally unacceptable. I'm not saying that every user needs GL 3 / 4, but those who do, should be able to get it. And by "need" I mean, if they can't get it, then they use another platform. Would you rather that all the enterprise users who buy ATI FireGL cards and use Catalyst + RHEL for professional graphics, stop doing that and switch to Nvidia + Win32 or Mac OS X? I sure as heck wouldn't want that; but if we take away the ability for them to use proprietary drivers that actually implement all of the latest GL specs, we won't see heads or tails of any enterprise graphics users on GNU/Linux ever again until/unless the open driver stack achieves the performance and feature parity with the nvidia and ATI binaries (unlikely to happen within the next 5 years at the least).

                              Wayland needs to continue to evolve at its own pace and prove itself, and gain vendor support (from proprietary driver teams at ATI and Nvidia, primarily). Wayland can be the future. But we shouldn't just abandon all efforts to make our current solution as good as possible while we're still using it.

                              And I think your timeline is extremely compressed. You're probably looking at the timeline for an enthusiast user who runs the latest stable Fedora or Ubuntu, and can get by with the paltry OpenGL support on the open drivers. For those types of users, then yes, Wayland in 3 - 4 years is a reasonable goal. For the people with money and a slower timeline, they need Xorg, and they need it to be fast and feature rich. So please continue with what you're doing, Mr. Airlie
                              your asumptions have a nasty fat mistake in their logic

                              * nobody with a Quadro card or FireGL card is using the latest and greatest Gentoo or Arch, they are using RHEL or SLES or even Centos (the cheap ones) and if you check those distro are very slow to change because of their nature of Enterprise support, so wayland won't be reaching RedHat for a while until it can replace safely X11

                              * you are assuming that Xorg X11 and wayland can't coexist, good news they can, in fact wayland faq (free to read btw) state this scenario and there is a ton of mailing list messages about this with many good ideas.

                              * you are assuming that the fact of installing wayland automatically remove all X11 code from APPS and libs, NO apps never deal with X11 unless is extremely neccesary or the developer is masochist, so the big guys here that need X11 are QT/GTK/E17/etc
                              which mostly already have code paths for both systems X11 and Wayland detectable at compile time or at load time depending the project, so any distro in the near future will offer you a choice "cool new compositor with OSS drivers" or "legacy Apps with propietary drivers" and after that would be seamless to you since KDE or Gnome apps won't give a damn about X11 or wayland.

                              * Only non propietary software probably affected by this for the ubuntu typical user would be wine since im not sure how much work is needed to support wayland on it and maybe cinelerra

                              so for the time wayland goes mainline into distros the installer will probably ask you which plataform use, so you only use KDE apps and few gnome one and OSS drivers are good enough for you then choose Wayland for all the new goddies !ohh you need GL 4.2 in your non enterprise distro well choose X11. probably a couple of releases later nvidia will provide support for wayland so you can use wayland then for you 4.2 gl stuff and games

                              BTW nvidia is not against wayland is against to do the job so early in the development process which make sense, wayland will require some drastic changes for nvidia and is not even installed on distros not even QT or GTK are fully there yet. Once wayland is fully supported on KDE and GNOME and installed by default (probably ubuntu) then nvidia will support it.

                              FGLRX will need X11 eternally i don't believe it ever happen and probably by that time OSS would be enough or better so it won't make sense

                              Comment

                              Working...
                              X