Announcement

Collapse
No announcement yet.

A Major Rework To The X.Org Video Driver ABI

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

  • #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; 22 September 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


            • #16
              Originally posted by jrch2k8 View Post
              * 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.
              They don't coexist in a way that's useful for workstation people, though. They use a lot of features that I don't think Wayland supports (though I'd love to be proven wrong). Can you span your Wayland desktop over 8 GPUs? With the displays framelocked? With stereoscopic 3D enabled? Can you use your CAD program written a decade ago and requires overlays in your X-on-Wayland emulator?

              Comment


              • #17
                Originally posted by jrch2k8 View Post
                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.
                I absolutely agree... It costs nVidia big money to support a platform (whether it be Linux or Windows). nVidia has said in the past, that they already spend more money researching and developing software (drivers / games / etc) than they do hardware and so they consider themselves a software company..

                They're not going to be making two separate drivers for Linux , that's just a waste of money. As a Linux user and also nVidia investor, I'm glad they're not making drivers for both Wayland and X11.. Too expensive to support and too few people running Wayland..

                Wayland is far too unstable and undeveloped to be putting serious resources into it.. Let Intel run their little toy graphics hardware on Wayland with their drivers to get the bugs and features worked out in Wayland before the heavyweights (nvidia & AMD) make the switch.

                Comment


                • #18
                  Originally posted by md1032 View Post
                  They don't coexist in a way that's useful for workstation people, though. They use a lot of features that I don't think Wayland supports (though I'd love to be proven wrong). Can you span your Wayland desktop over 8 GPUs? With the displays framelocked? With stereoscopic 3D enabled? Can you use your CAD program written a decade ago and requires overlays in your X-on-Wayland emulator?
                  wayland is an extensible compositor so in theory in a more mature stage it probably can sync and render in many gpus as long those have proper KMS support since its only matter of managing wich data goes to which mapped framebuffer.

                  stereoscopic 3d has nothing to do with wayland, that is MESAs job

                  overlay is a MESA job too

                  your cad program can run in 2 scenarios

                  1. in a native X11 ambient (like i said a zillion times before wayland and X11 libraries can even be installed at the same time and with a wrapper or distro provided tool you can switch between both since for that time KDE and GNOME and others will support both 100%)

                  2. in theory when using wayland first and x11 on top it should work without much hassle because x11 will have drivers DDX and input drivers (someone is working on this, check mailing list) that inform wayland what and how to render from the Xserver and as long MESA support overlay this app should work fine since the apps will never interact with wayland directly. now some very old extensions of X11 could be problematic but in that case you can always go to 1.

                  just a note, wayland target in the short timeline is not RHEL for god sakes even today redhat 6 don't support even composited desktops (not 100% sure but last beta i tested of 6.0 didnt have aiglx active) so for workstation users it probably won't matter since probably redhat will support X11 for much more time and in the case they support wayland they will always provide an alternative installation or userspace tool to go back to X11 to keep supporting Legacy Apps. are you really a workstation user?

                  wayland target is the 6 months distro like ubuntu or fedora which always come with the latest software and this Distro ARE NOT MEANT FOR WORKSTATION USERS since these distro are extremely variables so i really doubt you CAD 10 years old app will run in ubuntu 11.10 or fedora 16 flawlessly to begin with, and even so im damn sure all distro will provide userspace tools to switch back to X11 in case you need to support legacy apps. IS COMMON SENSE

                  Comment


                  • #19
                    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?
                    The reason not to do this, of course, is manpower. The X/Mesa projects are already incredibly short on it. Adding to their workload is the last thing we want to do, unless it really is necessary.

                    I'm not sure I buy that something like Optimus will still be needed in X 10 years from now. It seems to me like that is a technology that could be worked into Wayland, and if you want it then you run Wayland and just nest X inside it as needed. I'm guessing that kind of support should be possible in 4 years, even if we need to keep X around to be nested for a lot longer.

                    4. Proprietary driver companies have been strongly anti-Wayland up to this point
                    They have? I don't think I've seen anything of that sort from either company - they've merely stated that Wayland isn't ready yet. I don't think anyone expects them to start supporting Wayland while it's still broken and constantly having it's API broken - that might even be counterproductive at this point. In the long run, supporting Wayland should be easier that X for AMD/NVidia, so I would be very surprised if they don't eventually start backing it.

                    , 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.
                    Well, GL3 support should be in Mesa by January. I assume what you really mean here is professional, high-performance drivers, more than just GL3 or GL4. I'd also like to just note that OSX doesn't even support GL3 yet, and no one seems to think that's killing it off.

                    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.
                    I actually agree with this 100%. There is a line, however, where you wonder if radical rewrites of APIs should just be put off for a while longer to see if it's really needed or not. That line is blurry, and a lot probably depends on how important Red Hat views the project and how far out they view Wayland as coming.

                    Comment


                    • #20
                      Originally posted by cl333r View Post
                      I wonder what's so wrong with the X.org video ABI that it needs a rewrite?
                      Ditto...why not just clean up the bugs and streamline the ABI a bit so that both FOSS and proprietary drivers can be easier to maintain as well as having the ABI being stable.

                      Comment

                      Working...
                      X