Announcement

Collapse
No announcement yet.

GNOME's Mutter Lands DRM Sync Obj v1 Support For Explicit Sync On Wayland

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

  • #41
    Originally posted by smitty3268 View Post
    No other popular widespread OS allows you to choose the DE you want to use. If you argue that linux should copy those, then you are arguing for forcing everyone to use GNOME. That's certainly one way to reduce fragmentation and ensure everyone is using the same stuff. Good luck getting linux users to agree to it though.


    I'd be pretty surprised if they all don't have support within a few months. This is pretty much a required feature for making sure things work well for nvidia users, so it's going to be pretty high priority for everyone. And as you mentioned, this has been hanging around for years already. Everyone already has patches to support it, they just need to be merged. Someone already pointed out the wlroots one. KDE already has one too, they just need to click the merge button after getting final approval for it. Everyone has only been holding off waiting for the spec to finalize upstream first.
    How does having multiple display servers requiring a ton of maintenance and hard work advance and improve Linux? What are you solving exactly?

    DEs and WMs are orthogonal to this issue. They exist because people love that. I see no much love for having multiple display servers even from KDE/Gnome.

    The topic we're discussing, explicit sync, was actually requested not just by NVIDIA (but they did it first), but by AMD and Intel because it's how the graphics pipeline has worked for over a decade now in Windows, D3D12 and Vulkan. I mean it's a really good change for the entire Linux graphics stack and NVIDIA is a "bad guy"? Whoa.

    You, sir, are showing the depths of rabid fanboyism, or should I say blind zealotry multiplied by hatred and zero understanding of Wayland development and implementation. Yeah, NVIDIA pushed EGLStreams for a time, only AFAIK Mutter gave in, others did not, the whole ordeal has long blown over. NVIDIA now supports GBM natively. That whole situation was far outside the scope and reach of the Wayland project.

    Ah, NVIDIA is guilty. Maybe you could have put this word in front of your message, so that I'd instantly understood you had nothing but hatred and conspiracy theories for Wayland (implementations) being so fragmented and woefully incomplete. Yeah, it's an NVIDIA's fault. Goodbye.

    Comment


    • #42
      Originally posted by avis View Post
      How does having multiple display servers requiring a ton of maintenance and hard work advance and improve Linux? What are you solving exactly?
      The reality we already had this with X11 compositors. Yes KDE and Gnome Wayland compositor is direct continuation of the fragmentation of the X11 compositors.

      DEs and WMs are orthogonal to this issue. They exist because people love that. I see no much love for having multiple display servers even from KDE/Gnome.

      Originally posted by avis View Post
      The topic we're discussing, explicit sync, was actually requested not just by NVIDIA (but they did it first), but by AMD and Intel because it's how the graphics pipeline has worked for over a decade now in Windows, D3D12 and Vulkan. I mean it's a really good change for the entire Linux graphics stack and NVIDIA is a "bad guy"? Whoa.
      There is a lot to this.

      Nvidia with eglstreams wanted the eglstreams version of explicit sync. AMD/Intel and fairly much everyone else making GPU supported by Linux from 2013(as in DRI3/DMABUF) wanted the DMABUF version of explicit sync.


      This implements the explicit sync linux-drm-syncobj-v1 protocol for EGL. This pull request exists to publicize our EGL implementation of explicit sync that we have been using to test the Mutter and...

      Just to put it in serous context Nvidia only implemented this DRM Sync Obj v1 on 22 Feb 2024 the Nvidia reference implementation.

      May 12, 2021​ is also when this protocol extension to Wayland could get merged. From 2013 to 2020 Nvidia was

      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

      Yes it 1 of December 2020 when NVIDIA announced they would finally again to go the DMABUF route. Yes 6 months to get the DRM Sync Obj v1 merged after that.



      Avis the above "linux-explicit-synchronization-unstable-v1" is from 2016. Yes developed by Google Chrome developers formalizing the DMABUF way of doing explicit sync. Yes the "DRM Sync Obj v1" is a direct descendant of this work.

      Originally posted by avis View Post
      ​NVIDIA now supports GBM natively.
      ​
      No this is not 100 percent correct. Nvidia is working on adding native support for GBM.(key words "working on" Nvidia has not completed support yet). Reason why egl-wayland from nvidia took until 22 feb 2024 to support is that Nvidia GBM support is still lacking in places. AMD/Intel started working on GBM support in 2013 it took until 2016 for the Intel and AMD implementations to be good enough to chrome developers to make the first Wayland protocol extensions for explicit sync using GBM/DMABUF. The reality is Nvidia eglstreams developer attempts to make a Wayland protocol for explicit sync end in over and over again in something that was a total broken mess.

      Yes if it took 3 years for AMD/Intel GBM/DMABUF implementations to be good enough todo explicit sync and Nvidia only started working on GBM/DMABUF in dec 2020 you should expect dec 2021 maybe. Nvidia running a little behind schedule but this is kind to be expected. AMD and Intel were in at the foundation work of GBM/DMABUF so where able to alter how it functioned in places to suit their hardware better. Nvidia you should expect being late to the party to take a little longer.

      Nvidia doing their own thing in the Linux graphic stack and not getting correct peer review is what created the huge mess of eglstreams being something that no matter what you did with it the thing would refuse to work correctly. The decade Nvidia shoved into eglstreams after effects is not over yet. Could be another 3 to 4 years before Nvidia has GBM/DMABUF support fully squared away.

      The fact the 2016 bit that "DRM Sync Obj v1" is based off being "linux-explicit-synchronization-unstable-v1" only made it into Weston and nothing else is because no support on Nvidia hardware and the Gnome and KDE and Wlroots developers wanted something GPU vendor generic.

      avis the part that you don't want to hear is that Nvidia was kind of the bad guy with eglstreams. Yes the idea of here is Eglstreams we cannot prove works correctly and we expect everyone to implement it exactly how we have implemented as GPU vendors... This a very bad guy move that Nvidia should be called out for. Yes it even worse of a bad guy move when latter on it proved there is no way in hell to implement a stable Wayland compositor using eglstreams due to major design flaws that would have been spotted if Nvidia has allowed correct peer review in the drafting process. Also you don't want to hear that the lag in explicit sync implementation in Wayland tracks directly to the Nvidia Eglstreams vs Everyone else GBM/DMABUF argument from 2013 to 2020 so not letting explicit sync protocol merge into wayland core protocols and be widely implemented.

      Yes we do need to hold Nvidia up as example over their Eglstreams screw up in the hope everyone can learn don't do this kind of thing. Instead do peer reviewed protocols and don't stubbornly go forwards with protocol when everyone who is reviewing it saying this thing does not work at all without attempting to address those problems.

      The big fault with eglstreams was absolute explicit sync this is the idea leads to the problem where one process decides to de-allocate memory and another program segfaults because it now attempting memory that was de-allocated behind it back. There is such thing as too much explicit sync and eglstreams demos this a point where you have too much explicit sync. Yes too much explicit sync issue is part of why we should not forgot the Nvidia eglstreams screw up there are important lessons to learn from this screw up.

      The good part now is we are finally coming to the end of this. You could look at this Nvidia vs everyone else with eglstreams as the Linux world equal to the Microsoft Vista graphics driver debacle with GPU vendors just for our bad luck this debacle lasted 7 years and could take another 7 years for everything to be sorted out.

      Comment


      • #43
        oiaohm

        A nice deep dive, thanks but the person I replied to implied/emphasized that NVIDIA had hindered the Wayland [spec] progress which has never been the case. The Wayland committee has kept on churning new extensions and never quite bothered with NVIDIA shenanigans. Some rare compositors temporarily gave in and that's it. NVIDIA users who tried to use Wayland at the time were in a bad spot though. Again, no big deal for me, as only in 2024 Wayland compositors have started to implement features not available in Xorg and it'll take at least a decade more to have the entire ecosystem up to snuff. The whole transition has been marred not because of NVIDIA but because multiple people claimed for years Wayland was ready while it was not even for AMD/Intel users. I have Intel and AMD systems right now and I still cannot use Wayland. That's kinda crazy.
        Last edited by avis; 30 March 2024, 09:17 AM.

        Comment


        • #44
          Originally posted by avis View Post

          I've not noticed anything, saw basically an empty comment. Prolly I'm stupid. You've won. Have a nice day.
          so you where just trolling?

          Comment


          • #45
            Originally posted by F.Ultra View Post
            -
            I didn't know you could leave empty comments here but whatever. Maybe you're just f-ing around.

            Comment


            • #46
              Originally posted by avis View Post
              oiaohm

              A nice deep dive, thanks but the person I replied to implied/emphasized that NVIDIA had hindered the Wayland [spec] progress which has never been the case.
              That not true. Explicit sync coming part of the wayland protocol would have happened in 2016 if there has not been the eglstreams vs GBM/DMABUF problem.

              Gnome and KDE both spent lots of time attempting to make wayland protocol parts that would work on eglstreams and GBM/DMABUF of course this was ending in failure due to eglstreams design being totally not workable.

              https://wayland.app/protocols/linux-...on-unstable-v1 Yes this was implemented by the reference and no other major else in 2016 right to today. Yes the reason for not implement was could not be universal due to the eglstreams and GBM/DMABUF problem. This repeats for many wayland protocol extentions..

              Originally posted by avis View Post
              The whole transition has been marred not because of NVIDIA but because multiple people claimed for years Wayland was ready while it was not even for AMD/Intel users. I have Intel and AMD systems right now and I still cannot use Wayland.​
              Something to take into account here is different users could have claimed that wayland was ready because for some users Wayland has been ready for quite some time. Not everyone requires the same feature set avis.

              Avis a lot of protocols got added to mainline Wayland in 2021 and implemented in everyone bar gnome and Nvidia due to Nvidia agreeing to GBM/DMABUF. So this event of Nvidia saying they will support GBM/DMABUF is a major event.

              Do also note that Nvidia is only supporting GBM/DMABUF on newer cards and some of the old cards that Nvidia is not going to support GBM/DMABUF on Nvidia will not allow the open source drivers to ship the firmware to activate those cards so blocking third parties from bring those cards into line with everything else. So there is many reasons for Nvidia hate over the mess they caused with eglstreams. Particularly that they are going we created this mess now we will not clean it up completely or let anyone else clean it up.

              avis remember part of moving Wayland forward is getting consensus Nvidia with eglstreams was one of the parties getting in the way of that.

              The GBM support in the NVIDIA driver is fairly new, and to make it easier to identify whether a problem encountered is related to using GBM instead of...


              You talk about hey wayland compositors have forked off too many times. Avis you overlook gnome mutter limited resources for back-end development for wayland due to eglstreams vs GBM/DMABUF got split in two. Yes and due to Nvidia not going to clean up their mess this development team is remaining split in two

              Avis it going to take at least another 7 years for Mutter development not to have the split development team caused by Nvidia as the Nvidia cards causing the problem mechanically fail and fall out of usage. Yes this split development team will see Mutter keep on lagging on Wayland feature implementation.

              To name another feature effected by this eglstreams vs GBM/DMABUF with gnome is the "DRM lease protocol". I can keep on list protocol after protocol of Wayland that the Mutter developers could not agree to merge due to the fact they could not make it work with broken Nvidia eglstreams.

              Avis you complain about Wayland fragmentation. Yes there is a cost to having many different wayland compositors but this matters less if all those compositors are implementing basically the same feature set of the protocol. Because if they are implementing the same feature set application developers can just target that. Nvidia eglstreams vs GBM/DMABUF has seen a major default by distributions being Gnome Mutter not implementing the same feature set as basically everyone else over and over again..

              Basically Avis you are complaining about one form of fragmentation then ignoring another. What annoys me about Nvidia is they are not even allowing third parties to clean up there eglstreams mess so that some near by point in the future Gnome Mutter can end the split in their development team work.

              Think about it more Avis you complain about split development being bad then Nvidia does eglstreams that basically times that by 2 and they have not done what is required to stop it from being times by 2 in all places.
              ​

              Comment


              • #47
                Originally posted by avis View Post

                How does having multiple display servers requiring a ton of maintenance and hard work advance and improve Linux? What are you solving exactly?
                If you ask the devs, they would say that it requires less maintenance and work to do it this way, than to standardize everything together into 1 implementation, because they all have different ideas about how things should work.

                I'm not deeply involved in the wayland community enough to know if that's true or not, but I do think it's fairly typical for new technological systems like this to spawn a bunch of different implementations early on before consolidating down to the eventual winners later on.

                I guess the real question I have is why you are so obsessed with this. If the devs doing the work want to do more work (according to you) why do you care? Just let them do the extra work. It's not like they don't have options to do the easy thing. They do, and just choose not to.

                DEs and WMs are orthogonal to this issue. They exist because people love that. I see no much love for having multiple display servers even from KDE/Gnome.
                DEs are heavily integrated into their WMs because they rely on particular behaviors that their DEs want to provide, and the different DEs disagree on them.

                There are always trivial simplistic ones, of course - but that's solved by just using wlroots as the common solution.

                The topic we're discussing, explicit sync, was actually requested not just by NVIDIA (but they did it first), but by AMD and Intel because it's how the graphics pipeline has worked for over a decade now in Windows, D3D12 and Vulkan. I mean it's a really good change for the entire Linux graphics stack and NVIDIA is a "bad guy"? Whoa.
                Huh? I know all that, of course. And I never said anything about NVIDIA being a bad guy? In fact, I didn't say a single word about them other than that this feature was likely to be highly wanted. Was this meant to be a response to someone else, or something?

                You, sir, are showing the depths of rabid fanboyism, or should I say blind zealotry multiplied by hatred and zero understanding of Wayland development and implementation. Yeah, NVIDIA pushed EGLStreams for a time, only AFAIK Mutter gave in, others did not, the whole ordeal has long blown over. NVIDIA now supports GBM natively. That whole situation was far outside the scope and reach of the Wayland project.
                WHAT??? Ok, now I'm convinced you must be responding to someone else. Who the heck was even mentioning EGLStreams or GBM???

                Ah, NVIDIA is guilty. Maybe you could have put this word in front of your message, so that I'd instantly understood you had nothing but hatred and conspiracy theories for Wayland (implementations) being so fragmented and woefully incomplete. Yeah, it's an NVIDIA's fault. Goodbye.
                Umm, ok....

                Comment


                • #48
                  Originally posted by smitty3268 View Post
                  If you ask the devs, they would say that it requires less maintenance and work to do it this way, than to standardize everything together into 1 implementation, because they all have different ideas about how things should work.

                  I'm not deeply involved in the wayland community enough to know if that's true or not, but I do think it's fairly typical for new technological systems like this to spawn a bunch of different implementations early on before consolidating down to the eventual winners later on.

                  I guess the real question I have is why you are so obsessed with this. If the devs doing the work want to do more work (according to you) why do you care? Just let them do the extra work. It's not like they don't have options to do the easy thing. They do, and just choose not to.


                  DEs are heavily integrated into their WMs because they rely on particular behaviors that their DEs want to provide, and the different DEs disagree on them.

                  There are always trivial simplistic ones, of course - but that's solved by just using wlroots as the common solution.


                  Huh? I know all that, of course. And I never said anything about NVIDIA being a bad guy? In fact, I didn't say a single word about them other than that this feature was likely to be highly wanted. Was this meant to be a response to someone else, or something?


                  WHAT??? Ok, now I'm convinced you must be responding to someone else. Who the heck was even mentioning EGLStreams or GBM???


                  Umm, ok....
                  X servers could be used interchangeably. Wayland compositors are glued to the respective DEs/WMs and normally cannot be used anywhere else. There never will be any consolidation.

                  Why am I concerned? Do you even read? I've told that a billion times already: Wayland features reach Wayland compositors at different times and there's no guarantee they will even reach yours. If you're not a KDE/Gnome user, your Wayland experience could be woefully incomplete.

                  Not gonna comment on the rest of your comment because you don't get the basics and spew utter nonsense over and over again like most other Wayland proponents.

                  You don't care about:
                  • A horrible amount of work required to implement Wayland features
                  • A horrible amount of duplication of work
                  • Minor Wayland compositors being unable to implement Wayland features due to financial constraints/lack of developers
                  • Users of Wayland getting radically different experience depending on what Wayland compositor they are using
                  • Multiple DEs/WMs struggling to support it
                  TLDR: You don't care that Wayland outside Gnome/KDE is pure shit. It's all fine according to you. Hypocrisy, lack of knowledge and deceitful insinuations are just staggering.

                  Comment


                  • #49
                    Originally posted by avis View Post

                    I didn't know you could leave empty comments here but whatever. Maybe you're just f-ing around.
                    you know full well that I didn't, and everyone can see that I didn't so I'm not sure what you think that you would accomplish by lying like this? So this leaves me no other choice than to conclude that yes you where indeed only trolling the whole time.

                    Comment


                    • #50
                      Originally posted by smitty3268 View Post
                      I guess the real question I have is why you are so obsessed with this. If the devs doing the work want to do more work (according to you) why do you care? Just let them do the extra work. It's not like they don't have options to do the easy thing. They do, and just choose not to.
                      He is so obsessed with this because he have gotten this whole dumb idea in his brain that Wayland somehow dictates that things must be done this way and he doesn't realise that it's the devs themselves that decided to make their own compositors and that they where not forced to do it.

                      And when I wrote basically the above, he simply copy pasted "why are there 15+ different implementations if Wayland doesn't force this" again... I simply believes that he needs to hate on Wayland, or perhaps he needs to hate on something, to get up in the morning.

                      Comment

                      Working...
                      X