Announcement

Collapse
No announcement yet.

XWayland Lands Another Performance Fix

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

  • aufkrawall
    replied
    Originally posted by oiaohm View Post
    The driver where Nvidia add GBM support fix a lot of defects if you use the GBM mode but not all of them.
    It is indeed still unusable. Maybe it will work out okayishly in 2-3 years, I'm not hopeful it will be sooner (if at all).

    Leave a comment:


  • oiaohm
    replied
    Originally posted by smitty3268 View Post
    Which no one was talking about.

    It won't help ATI drivers from 1998 either. It will help NVidia drivers going forward, though, which is the only interesting thing to talk about.
    The legacy Nvidia drivers are not like the ATI drivers from 1998. They are still getting updates. Their EGL is broken. Also the most current Nvidia drivers don't in fact pass all the EGL 1.5 tests. Remember Mesa GBM drivers do pass all EGL 1.5 tests.

    As the developers remove the work around that were put in place to possible support eglstreams and it defective behavour with EGL 1.5 this could also break Nvidia most current Nvidia driver. These EGL code changes should not automatically be classed as helping Nvidia drivers due to the broken state of Nvidia EGL support.

    Removing the eglstreams eql quirk code that in different parts will always be helpful in performance for the drivers that are EGL 1.5 conforming. Just the big problem is Nvidia drivers on Linux are not 100 percent EGL 1.5 conforming yet. Maybe Nvidia will keep on fixing their EGL implementation? The driver where Nvidia add GBM support fix a lot of defects if you use the GBM mode but not all of them.

    Leave a comment:


  • smitty3268
    replied
    Originally posted by oiaohm View Post

    Except that is not true. Positive for those using current Nvidia, AMD and Intel drivers. Negative for those using legacy Nvidia drivers.
    Which no one was talking about.

    It won't help ATI drivers from 1998 either. It will help NVidia drivers going forward, though, which is the only interesting thing to talk about.

    Honestly, you are just exhausting to talk to. I'm done.

    Leave a comment:


  • oiaohm
    replied
    Originally posted by smitty3268 View Post
    None of which matters to the post I wrote or the question asked in the original post. What I wrote was true. This change will affect both NVidia, AMD, and Intel users in a positive manner because they are all using EGL.
    Except that is not true. Positive for those using current Nvidia, AMD and Intel drivers. Negative for those using legacy Nvidia drivers.
    Summarizes ancillary buffer preservation issues across eglSwapBuffers, including recent changes to behavior defined by the EGL 1.4 Specification.

    Its a little thing noted in 2010. EGL 1.4 and before did not have strict buffer preservation rules yes this changes with EGL 1.5. GBM implementations did. The reality is EGL using EGLStreams from nvidia passed EGL 1.4 tests fully but not all of EGL 1.5. GBM EGL from mesa passes EGL 1.5 tests fully. The new NVidia driver to come out with GBM support used in GBM mode support EGL 1.5 properly. Yes that new Nvidia driver used in eglstream mode still fails some of the EGL 1.5 tests.

    Originally posted by smitty3268 View Post
    You can have a EGL driver that doesn't support either eglstreams or gbm. In fact, they're pretty common. Everything else you are saying here is completely off topic and something you are trying to create a discussion around. Do it in your own post as a new topic rather than trying to act like I'm saying incorrect things, when I'm not.
    Yes there are others that implement EGL who do fully pass the EGL 1.5 test suite. If you don't pass the EGL 1.5 test suite that was release in march 2014 this current change for performance going to hurt.

    smitty3268 not all EGL drivers are created equally. Not all EGL drivers support the current test suite. Yes Nvidia EGL has been kind of broken and this has not been helping people attempting to implement compositors.

    Reducing the eglMakeCurrent calls is that you presume you buffers have been preserved as GBM does and EGL 1.5 states they should be. Of course this could be some third party EGL implementation that is not GBM/Eglstreams based that does this right. But the catch here is EGLStreams based does not do this right and its the global allocation thing of eglstreams vs GBM per process allocation thing and how this difference effects buffer preservation and buffer state recording.

    Yes EGL 1.4 and before you could choose global tracking or per processing tracking of buffer state and pass the tests EGL 1.5 and arfter you have to have per process tracking of buffer state or fail tests.



    Leave a comment:


  • smitty3268
    replied
    Originally posted by oiaohm View Post

    The reality that the change was remove a EGL work around for when using old eglstreams stuff means the change does not effect GBM and eglstreams stuff evenly. If someone is still using really old Nvidia drivers and attempts to use Xwayland after this change they are in for a surprise.
    None of which matters to the post I wrote or the question asked in the original post. What I wrote was true. This change will affect both NVidia, AMD, and Intel users in a positive manner because they are all using EGL.

    The idea that eglstreams and gbm runs the same EGL is wrong. GBM implementations passes all theKhronos test suite for EGL for declared support EGL functions. Nvidia eglstreams EGL fails the test suite. EGL implementations are not created equal. Yes Nvidia GBM implementation pass more of the Khronos testsuite than the old eglstreams only did.
    You can have a EGL driver that doesn't support either eglstreams or gbm. In fact, they're pretty common. Everything else you are saying here is completely off topic and something you are trying to create a discussion around. Do it in your own post as a new topic rather than trying to act like I'm saying incorrect things, when I'm not.

    You say it did not require a dissertation on the topic. The reality is your generalisation made many presumes that EGL implementions were the same. you also presumed that GLX and EGL were not in fact basically the same thing. The fact Nvidia has had broken EGL support under X11 as well is another part of Nvidia not being compatible with everyone else.
    Every driver implementation of anything is different. That should go without saying, or otherwise they'd be the same driver...... Again, this is obvious and not something anyone would ever disagree with. So i'm not sure why you're acting like someone did. Also, the original question asked made it obvious that person did not have a deep understanding of all the different technologies involved, so having a simple easily understandable response was the primary importance. Adding 100 different gotcha cases and "well, actually there's this other exception too" is unhelpful and just causes confusion. So yes, I was generalizing.

    From my point of view the sooner we can put eglstreams in the stack of API deprecated and removed the better. Then move forwards with GBM/DMABUF and KMS for everyone with work EGL on that.
    New topic that had nothing to do with what I wrote or what was asked. But thanks for adding your opinion.

    The number of workaround required in wayland compositors and xwayland to support the broken functional of EGL caused by implement it on eglstreams that have to removed now is quite a few. Every single one when removed will result in better performance. So there will be more performance fixes like this one and they have one cause removing eglstreams work arounds.
    Same thing.
    Last edited by smitty3268; 05 November 2021, 07:31 PM.

    Leave a comment:


  • mangeek
    replied
    Originally posted by TemplarGR View Post

    Well, i am not using Ubuntu, but the xwayland version which supports NVIDIA GBM is not released yet so i doubt they include it. Perhaps you may need to use a ppa.
    Yep, just realized that I need this one final piece to arrive. I thought the last release handled that. I hope this doesn't carry on too long, where we're always 'one step away' from decent NVIDIA graphics under Wayland.

    Leave a comment:


  • Grinness
    replied
    Originally posted by wolfyrion View Post
    When wayland will be able to support multiple monitors I maybe switch....
    Atm you cant set your main monitor as a primary
    uh?

    I am on wayland (gnome 40), 1 monitor & 1 tv (hdmi), I can set the primary to the desired one, flip around which one to turn on, etc...

    AFAIK, it is the DM that exposes to end-user those functionalities -- wayland is a protocol ....

    Leave a comment:


  • Siuoq
    replied
    Originally posted by Alexmitter View Post
    There are surely a few other small improvements that can still be gained. But overall Xwayland already matches or slightly/moderatly surpasses Xorg on bare metal for me and the future will only be brighter.
    Or it will be darker as they put compatibility patches inside it for existing hardware and existing software, and as they keep track with new hardware and new software technologies, and patch new vulnerabilities 🤷

    Name 1 software that got faster through the years, and not slower.

    Leave a comment:


  • oiaohm
    replied
    Originally posted by smitty3268 View Post
    Dude. This topic didn't require a dissertation on the topic, 99% of which was a completely new tangent that wasn't even being discussed previously.
    The reality that the change was remove a EGL work around for when using old eglstreams stuff means the change does not effect GBM and eglstreams stuff evenly. If someone is still using really old Nvidia drivers and attempts to use Xwayland after this change they are in for a surprise.

    The idea that eglstreams and gbm runs the same EGL is wrong. GBM implementations passes all theKhronos test suite for EGL for declared support EGL functions. Nvidia eglstreams EGL fails the test suite. EGL implementations are not created equal. Yes Nvidia GBM implementation pass more of the Khronos testsuite than the old eglstreams only did.

    You say it did not require a dissertation on the topic. The reality is your generalisation made many presumes that EGL implementions were the same. you also presumed that GLX and EGL were not in fact basically the same thing. The fact Nvidia has had broken EGL support under X11 as well is another part of Nvidia not being compatible with everyone else.

    From my point of view the sooner we can put eglstreams in the stack of API deprecated and removed the better. Then move forwards with GBM/DMABUF and KMS for everyone with work EGL on that.

    The number of workaround required in wayland compositors and xwayland to support the broken functional of EGL caused by implement it on eglstreams that have to removed now is quite a few. Every single one when removed will result in better performance. So there will be more performance fixes like this one and they have one cause removing eglstreams work arounds.

    Leave a comment:


  • smitty3268
    replied
    Originally posted by oiaohm View Post
    ...
    Dude. This topic didn't require a dissertation on the topic, 99% of which was a completely new tangent that wasn't even being discussed previously.

    Leave a comment:

Working...
X