Announcement

Collapse
No announcement yet.

XWayland Gets Patches For Better EGLStreams Handling

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

  • #11
    Originally posted by schmidtbag View Post
    I totally agree. But there's really no winning solution here:
    Only if you don't apply logic.

    Users are screwed either way, differently but at least the same magnitude either way. This therefore cancels out and is irrelevant.
    And I'm already giving a discount on this as I still have a strong suspicion that fracturing the usebase, removing any kind of pressure you could have on NVIDIA, and forcing people with NVIDIA to use ONLY gnome is bad for everyone and in the long run much worse than just giving the finger to NVIDIA once more.

    Only thing left is validating NVIDIA, which is wrong.

    1. Nvidia will not comply, regardless of how much pressure you put on them.
    Big fucking loss. If you break the rules for everyone that is stubborn enough why having rules at all?

    Macs are definitely a larger marketshare than desktop Linux, and Nvidia seemed a little too willing to give it up to hold onto their principles.
    That's because Apple hardware isn't really sold in as large numbers as most other OEM's stuff. NVIDIA isn't getting a share of Apple's overpricing on their hardware.

    2. If the Wayland devs held their ground, they'd be left behind and would lose traction.
    That's a very very worst case scenario. What is sure is that it would create a lot of friction, and if this is properly directed at Nvidia it could actually make some difference.

    3. By catering to Nvidia's laziness, the Wayland devs get more users access, but in turn they tarnish what makes Wayland "pure" and they encourage Nvidia's unacceptable activities (or lack thereof).
    Getting more userbase is much less important for opensource projects, what matters is developer base. (I mean that the ratio user/developers is usually very low, so even a realtively large increase in userbase would only translate in a negligible change in developer base).
    This move does not add more developer base on Wayland by any means, it's RedHat having support for this stuff only on their own DE.

    But GNOME is part of a product sold for money (actually support contracts, whatever), so yeah for them it matters to have broader userbase. Everyone else didn't care and is fine with not giving a fuck.
    You are seeing things that don't exist here. It's not "wayland developers have decided", it's RedHat's own paid developer(s) that do what the company thinks is in their own best interest.

    None of this is good. It's all terrible and there's nothing we can do about it. So, since Nvidia's negligence is indefinite and unwavering, what else can be done without hurting the progress of Wayland?
    You have no grasp of what is a power struggle or diplomacy? You don't get the other party to concede something unless you do keep the heat up.

    The way I see it, as long as this patch can be removed in the future without causing regressions, I think it's the best course of action for the sake of Wayland and Nvidia users, despite the fact it shouldn't have been made.
    Everything wholly new and separate can be removed later at no real cost so this is again a bullshit argument.
    The point here is that its presence NOW weakens Linux/Wayland position considerably in putting pressure on NVIDIA to actually fix their shit or create a better alternative for GBM.
    Last edited by starshipeleven; 24 May 2018, 04:18 PM.

    Comment


    • #12
      Originally posted by starshipeleven View Post
      You are seeing things that don't exist here. It's not "wayland developers have decided", it's RedHat's own paid developer(s) that do what the company thinks is in their own best interest.
      This is a very good point, and I don't think this counters your argument, but I think it's worth noting that the patches we're talking about here are to XWayland which means they're being propagated to all the DEs, this isn't just about Gnome. Granted, this doesn't mean that suddenly KDE or Sway are obligated to support EGL streams. But this fucknut at Red Hat is introducing code that will make it into KDE and Sway because they need to pull in XWayland.

      I'm not sure I'm making a coherent argument here, but I'm uncomfortable that Red Hat seem to be unilaterally deciding to bake support for EGL streams into the underlying technologies seemingly against the will of the devs of other DEs. I agree with you that market share is less important on Linux and dev support is key. I'm certainly no Gnome hater, I'm a happy user of Gnome, but this feels like a dick move to me.

      Comment


      • #13
        Red hat customer Disney worth 150 billion that owns Pixar worth 8.9 billion.Disney and Pixar use Openshift. Pixar has a contract with Nvidia rendering technologies like ray-tracing.
        Anyone watch the Unreal engine 4 directx 12 ray trace rendering of star wars with a guy from Disney wearing a red hat? Does Red hat funds wayland? Looks like it's this guy's job to make it work.

        Looks to me that Nvidia is providing solutions.

        edit :the guy with the red hat works for epic games not Disney ,sorry.
        Last edited by PackRat; 25 May 2018, 04:58 PM. Reason: Incorrect Facts

        Comment


        • #14
          Originally posted by starshipeleven View Post
          Users are screwed either way, differently but at least the same magnitude either way. This therefore cancels out and is irrelevant.
          And I'm already giving a discount on this as I still have a strong suspicion that fracturing the usebase, removing any kind of pressure you could have on NVIDIA, and forcing people with NVIDIA to use ONLY gnome is bad for everyone and in the long run much worse than just giving the finger to NVIDIA once more.

          Only thing left is validating NVIDIA, which is wrong.
          I don't disagree with any of that, but I think you're also blowing this situation way out of proportion.
          Big fucking loss. If you break the rules for everyone that is stubborn enough why having rules at all?
          I'm not saying that should be the case... I get this impression you think I'm favorable of this patch, and I'm not. However, I realize that it's a desperate measure.
          That's because Apple hardware isn't really sold in as large numbers as most other OEM's stuff. NVIDIA isn't getting a share of Apple's overpricing on their hardware.
          Nvidia still makes enough money from Apple that they continue to develop drivers for Mac OS, and I think they even support Metal. But you're missing the point here - Apple has a larger userbase than desktop Linux, and of desktop Linux users, Wayland makes an even smaller minority. All that being said, what incentive does Nvidia have to properly support Wayland? Sure, you and I have solid reasons. We know the long term benefits. But we're not important enough.
          That's a very very worst case scenario. What is sure is that it would create a lot of friction, and if this is properly directed at Nvidia it could actually make some difference.
          It is (well, was) actually a very realistic scenario. The ultimate goal of Wayland is to eventually obsolete X11. Considering Nvidia's marketshare, that would never happen if it weren't for things like eglstreams and its implementation in GNOME or XWayland. Again, you have to remember Nvidia won't do proper support. X11 is "good enough" to the average user, so having a large chunk of the Linux desktop users not able to use Wayland would prevent it from ever being a viable replacement. It doesn't matter how technologically superior something is if the majority of the userbase can't use it.
          Getting more userbase is much less important for opensource projects, what matters is developer base. (I mean that the ratio user/developers is usually very low, so even a realtively large increase in userbase would only translate in a negligible change in developer base).
          Except this isn't an entirely open-source situation, and that's the crux of the matter. It doesn't matter how many Wayland devs we get if Nvidia and their closed drivers do not comply. We can't expect them to, either. Therefore, they (and in turn, their large userbase) threaten the progress of Wayland.
          You are seeing things that don't exist here. It's not "wayland developers have decided", it's RedHat's own paid developer(s) that do what the company thinks is in their own best interest.
          Is it not the Wayland devs who ultimately decide what is merged downstream?
          You have no grasp of what is a power struggle or diplomacy? You don't get the other party to concede something unless you do keep the heat up.
          Do you know what leverage is? Because that's what the open-source devs needs, and they have none of it against Nvidia.
          Even in politics, keeping the heat up does not guarantee progress. Y'know what does? Money, and Nvidia isn't getting enough of it from [potential] Wayland users.
          Everything wholly new and separate can be removed later at no real cost so this is again a bullshit argument.
          It wasn't an argument... How about you stop trying to attack me and realize that I'm not anywhere near as against you as you think. My point was since the patch (as you confirmed) can be easily removed, it's not doing any long-term harm to Wayland itself. Sure, it is FAR from ideal, but at least some Nvidia users get to use Wayland. You can argue all you want that it encourages Nvidia's negligence, but as I've stated multiple times, it doesn't matter because they would likely never do their job anyway.
          The point here is that its presence NOW weakens Linux/Wayland position considerably in putting pressure on NVIDIA to actually fix their shit or create a better alternative for GBM.
          You have far too much faith that Nvidia would ever do such a thing.

          Comment


          • #15
            Distros, official sites, marketing... Should batlantly apoint NVIDIA as a buggy device, bad supported, problematic company, not recommended, when only "engineers" complain in a geek forum what user base you thing do get the facts straight? The community does not stress the fact enough, we need to learn to be less "cryptic" with users... I use intel for Linux and NVIDIA for virtualization, I'm planning on getting a better GPU for Linux and it will be obviously a rx 500 and something... But I'm constantly in forums and work directly with the subject, very near really normal people that look to computers as pure magic, and oh man. Community couldn't reach less those persons...

            Comment


            • #16
              This is very bad news for open source. I don't see any valid reason to support EGLStreams at all. If Nvidia does not want to play ball, then fine, let them keep using Xorg until they do. There is no reason to harm Wayland development by splitting the code base and bloating code just because a binary blob does not work with it.

              It is not like Nvidia users wouldn't be able to use Linux. X has existed for decades and will continue to exist for many many years. So Wayland developers don't harm Nvidia users in any way by not going out of their way to support them.

              Would that be harming Wayland adoption in the short term? Sure, but not by much, seeing that Intel igpus are the vast majority of linux machines and amd igpus+gpus are a close second. Nvidia just provides dgpus, which is a minority in the market mainly targeted at gamers and those use Windows anyway. And they could still use X normally...

              Of course, it is the developers' choice to support it or not, it is their time and their code, but in my opinion this was the wrong decision and it sends the wrong message.

              But all these points are moot since i don't see Wayland becoming the standard anytime soon, and i think it has already failed. Outside of some DEs, mainly Gnome and KDE (but KDE wayland implementation is too far behind), nothing supports wayland. Everything runs on Xwayland, which leads to poorer performance than pure X and more issues and bugs. And since having X is pretty much mandatory on a Linux desktop for the foreseeable future, there is no point in designing Wayland applications or rushing to create Wayland backends for existing applications.

              See, developers' attitude of "not leaving anyone behind", has already doomed Wayland's adoption. DE developers didn't want to make some hard decisions, so X will remain the default on Linux for at least another 2 decades, and at that point they may as well design a Wayland alternative because by the time Wayland becomes mature it will be a bloated behemoth thanks to stuff like EGLStreams.

              I for one will never use Wayland as i don't see a reason to. X performs better and has less issues. And i use amdgpu, so it is not about the driver here, it is about Wayland at the present being nothing more than an additional layer between my X applications and the kernel...

              Comment


              • #17
                I decided to get to better understand the whole GBM and EGLStreams issue, so I began looking for the documentation of each API. I had little problem finding the documentation from Nvidia of EGLStreams. The documentation was copius enough to get a good idea of the API and how it worked. Nvidia seems to pay attention to making sure that its API is well documented as a benefit for 3rd parties. A look over the API Studying the API I found a well documented API that would be easy enough to implement with clear function names and a logical design.

                So next, I began to research GBM. Despite extensive searches of both Mesa and numerous Google searches, I could find no official documentation of GBM. Maybe its out there, but I couldnt find it. If you cant find it easily from the Mesa website or from a google search, certainly third parties are not going to be able to easily find documentation for it. I tend to get the feeling that official documentation of GBM does not exist.

                Looking at each API, its hard to imagine how supporting both APIs simultaneously could amount to more than a very small amount of code, this causes me to question this idea that supporting EGLStreams is just an intolerable burden.

                So, for months and months, we have been hearing again and again how wonderful and great GBM is, how its vastly superior to EGLStreams in every way, and how evil and crooked NVidia is. What I have found actually is that Nvidia treats developers very well by throughly documenting their API, while GBM provides little or nothing.

                Knowing that perhaps the first tenant of good software development is to Document your Shit, in fact, simply by the lack of documentation, the GBM developers have displayed gross negligence and complete disregard for others who use their software by failing to provide documentation of their code or their API.

                This seems to be par for the course with freedesktop and mesa projects. I have conducted similar searches for Wayland documentation and for the longest time, it was very difficult to find any, yet we were told over and over again that Wayland was just wonderful, an amazing window system, despite it being inferior to X11 in countless ways and actually is a step backward as their for years was no whole desktop remote desktop functionality nor app-> server network transparency whatsoever, and the fact it is far, far less modularized than X11 is, with the compositor, the window manager, and the display server itself all being wrapped up into one big bloated ball of code. This just asks for problems such as the fact that now each Window Manager is going to be responsible for implementing Wayland APIs, with possibly dozens of window managers, I cant imagine the headache it will cause, dozens of varations of the API, where with X, all X apps talked to the same X server, not a window manager. Wayland commits EVERY mistake that X11 avoided on purpose. Wayland does not have a way to switch window manager without killing off your entire desktop session, while a live window manager switch was well supported in X11 since the beginning. Furthermore, that Wayland actually solves nothing, that for instance, everything it claims to be for was addressed with X11 extensions for shared memory, DRI, vertical syncrhonization and moving the X server to the DRI backend to unify the drivers.

                Comment


                • #18
                  Originally posted by jpg44 View Post
                  I decided to get to better understand the whole GBM and EGLStreams issue, so I began looking for the documentation of each API. I had little problem finding the documentation from Nvidia of EGLStreams. The documentation was copius enough to get a good idea of the API and how it worked. Nvidia seems to pay attention to making sure that its API is well documented as a benefit for 3rd parties. A look over the API Studying the API I found a well documented API that would be easy enough to implement with clear function names and a logical design.
                  ...
                  I've noticed the same, and this is the point that makes me ok with supporting it, it is not a mess that will penalize the community, but what I think is not the correct way is not to propose it early stages when a protocol was being chosen as it does have sane pros and we could have avoided supporting 2 protocols maybe. Not to point other politics from the company, like the proprietary drive, what result in being out of tree and really not a much solid experience, but I agree that there is no technical argument against it, its a normal patch, a second protocol. At last as a developer I expect things to be modeled to support more than one without a management hell. And so, not giving support to it penalize much more people in my view, it is not the way to tell persons not to use nvidia.

                  Comment


                  • #19
                    @jpg44

                    It is probably true that official documentation for GBM does not exist, but this is probably because there is a limited number of developers working on it so they have no time to work on writting documentation while they could simply be writting code. After all, GBM documentation won't offer much to people who aren't already deeply involved with it, so they don't bother writting it. It is not like there is an army of young developers wanting to contribute on GBM or compositors.

                    Nvidia has all the luxury in the world to write documentation because they have the resources. They also had a motive to document EGLStreams thoroughly because they wanted to convince people to use it. Imagine if Nvidia didn't provide documentation for it and just said "this is our API, discover it on your own Wayland devs, and use it". So i don't see your argument here.

                    As for your opinion on Wayland, i agree with that. Wayland is total garbage. I refrained from criticizing it for so long because it was "work in progress", but after more than 10 years i think it is the time to call a spade a spade and call it what it is : Failed trash. It offers pretty much nothing, it solves nothing that couldn't be solved if the same people focused on X, it introduces a lot of problems of its own, it lowers performance because most apps and games are still X, and worst of all it lowers compositor diversity by making compositors requiring a huge amount of extra work.

                    All Wayland did was remove most functionality from X and place it on compositors. Brilliant idea, because unlike X where you had plenty of competent and experienced devs concentrating on a single point and benefiting the whole community, now every compositor is on its own, devs just focus on helping their own DE of choice (typically Gnome since that is what Red hat supports), and the rest lag behind.

                    All Wayland did was grind to a halt the advancement of X and therefor the Linux graphics stack. That is its only contribution to the ecosystem. A monumental failure that people won't abandon now because of "sunk cost fallacy".

                    Comment

                    Working...
                    X