Announcement

Collapse
No announcement yet.

Wayland Clients Can Now Survive Qt Wayland Crashes / Compositor Restarts

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

  • #91
    honestly i dont want apps to be able to set global shortcuts, seems like a keylogger risk to me. If i want global shortcuts it should be set through compositor settings by the user. Where global shortcuts can be passed to certain apps. priviliges should be de escalated not escelated.

    Comment


    • #92
      Originally posted by mdedetrich View Post
      Thats what you were implying otherwise why bring it up, its completely irrelevant.
      I never implied it either. This whole conversation started because you said Weston is just a demo and I pointed out the Weston is being in millions of production devices and therefore calling it a demo is incorrect. That point remains.

      Originally posted by mdedetrich View Post
      Entirely true but also entirely irrelevant. . No one cares that Wayland was developed by Red Hat for their commercial clients, in fact that makes the whole thing worse because it just shows the priorities for Wayland was completely out of wack at least for Linux desktop which is how it was being sold to the community.​
      It is relevant because no Wayland developer is going to bother working on Xorg for free and the commercial distributions are fine with Wayland/XWayland and no longer want to fund Xorg. "Community" doesn't pay the bills. Basic economics.

      Comment


      • #93
        Originally posted by RahulSundaram View Post
        I never implied it either. This whole conversation started because you said Weston is just a demo and I pointed out the Weston is being in millions of production devices and therefore calling it a demo is incorrect. That point remains.
        Which are those millions of production devices running Wayland? I honestly don't know/didn't follow.

        Comment


        • #94
          Originally posted by bug77 View Post

          Which are those millions of production devices running Wayland? I honestly don't know/didn't follow.
          I was specifically referring to Weston usage and I linked to this talk from a couple of years back (usage has only grown since then) earlier for the details.

          Comment


          • #95
            Originally posted by RahulSundaram View Post

            I never implied it either. This whole conversation started because you said Weston is just a demo
            Yes and when I said that it was in the context of linux desktop. The entire thread and discussion is about Linux desktop. Again, no one cares about Weston being used in places like kiosks. You know what the context of the thread is, why did you even bring this up, this isn't some trivia night.

            Originally posted by RahulSundaram View Post
            and I pointed out the Weston is being in millions of production devices and therefore calling it a demo is incorrect. That point remains.
            The point is irrelevant to everything being discussed. It might be relevant to you, but only because you brought it up to win some benign argument at all costs. Again, no one cares that Wayland is being used in kiosks and whatnot, the discussion is about Linux desktop

            Originally posted by RahulSundaram View Post
            It is relevant because no Wayland developer is going to bother working on Xorg for free and the commercial distributions are fine with Wayland/XWayland and no longer want to fund Xorg. "Community" doesn't pay the bills
            Then Redhat/Wayland people shouldn't misleadingly shove Wayland into the Linux Desktop community when its clearly not ready for desktop or mislead the Linux community that Xorg/X11 will have its last release (which as we can see wasn't the case and it was obvious this wasn't going to happen at the time anyways, I even betted on it).

            And also stating at that time that generally Linux distro's moved to Wayland as a default which was clearly false, a lot of distros stayed with X11 because NVidia especially back then was basically unusable with Wayland unless you had a specific Nouveau capable card.

            Lastly I don't know where you are so stubbornly arguing this anyways, so far the only thing you have shown is that Wayland was production ready for kiosks so essentially you are arguing that distro's willingly used Wayland which has only been tested on kiosks and lacking basic things at the time like copy and paste???

            Originally posted by RahulSundaram View Post
            Basic economics.
            Yeah no shit shirlock, that doesn't make the situation any better

            Comment


            • #96
              Originally posted by mdedetrich View Post

              Yes and when I said that it was in the context of linux desktop.
              You didn't specify that initially and even within the context of the linux desktop, your claim that Weston is just a demo is just incorrect. Weston and Wayland were codeveloped and released together earlier on. Later, Weston became a modular codebase and several libraries were created from Weston and is used essentially everywhere on the desktop not just if you are using Wayland but even if you are using Xorg. An obvious example of this is libinput which is the input system that was pulled out of Weston. So even if you are purely talking about the desktop, your claim is still obviously wrong.

              Comment


              • #97
                Originally posted by piotrj3 View Post
                1st. Qt changes are only done on side of Qt library, it is not including changes in KDE. So this thing is only part of solution there is for sure a lot of work that needs to be done elsewhere (in kwin).
                That is not true. kwin support for compositor restarting has been mainlined for quite some time. Also the code is fairly minor. libwayland-server had support for taking over existing wayland socket added. What is the kde compositor to support compositor restart use the code in libwayland-server and that automatically send out the message to applications that this new compositor and they need to resend data because the new wayland compositor knows nothing.

                Yes there has been work required to improve the session restore but that was already broken under X11 when restarting kwin without logging in and out. But this need to be taken with serous grain of salt.
                What is the worse problem if a Wayland compositor and applications support restart but does not properly support session restore:
                1) applications end up started twice.
                2) application windows end up in the wrong places.
                What the worst problem if Wayland compositor or applications does not support restart.
                1) user loses their data as applications terminate.

                Code cost is absolutely small user pain is very high.

                Originally posted by piotrj3 View Post
                Then you have 700 lines for fractional scale for Qt, again only in Qt codebase.
                That been a very different problem. We still cannot get Qt and GTK developers on the same page on how fractional scale should be done.

                Originally posted by piotrj3 View Post
                In fact I consider linux community to be a bit lucky with such faulty idea. Like most DEs kinda agreed to use pipewire - good. And pipewire solves a problem of screen recording, even if it is not by wayland, it is still uniform idea that should work everywhere. But imagine if there was some fundamental diffrence how it is handled between KDE and Gnome or simply one major player wouldn't agree to use pipewire. Well then basicly by not enforcing it being part of Wayland we just fucked normal users. There wasn't enough thinking : what could go wrong? What if someone didn't agree? What about propertiary use of Nvidia? etc. etc... And despite mostly agreeing, last few years were plagued by something of sort, something doesn't work in gnome but works in KDE, something doesn't work in KDE but works in Gnome etc...
                In here is a very important point. What if someone did not agree question because with compositor restarting the answer is a Major party did disagree. One of the biggest The party that did not agree with compositor restarting is none other than NVIDIA. Eglstreams has a really nasty little feature compositor dies all memory the compositor allocates gets instantly de-allocated so basically segfaulting all wayland applications connected to the Wayland compositor that just died. Nvidia users space driver code for X11 x.org server has the same nasty property of x.org X11 server crashes all allocated opengl/vulkan memory now gets invalidated. xpra wrapper around X11 application and using X11 bare metal kill X11 bare metal and it Nvidia closed source driver the protected application can die due to segfault.

                Microsoft had massive dispute with Nvidia to allow their compositor to restart with Windows Vista. Nvidia is where over 10+ years of delay come from with this feature for Linux. This also explains why different companies have been wanting to get open source drivers for Nvidia hardware because they want application working with each other using GPUs to die individually not do the Nvidia model of sharing a buffer between process equals all processes sharing that buffer have agreed to all terminate if anything fails.

                Now that Nvidia is finally moving to KMS and GBM this removes the problem were compositor/X11 server restarts and all connected applications dies due to segfaults. Yes the old UMS X11 driver also have the same problem where X11 server server dies everything else dies.

                Attempting to force something by Wayland protocol does not equal Nvidia and other parties like them agreeing.

                The pipewire one that links to xdg-desktop-portals. Remember for flatpak and snap sandboxed applications xdg-desktop-portals is need under X11 as well particularly if at point in future flatpak or snap decides to nest the X11 server. Yes this is another thing that opengl/vulkan GPU acceleration not working with nested X11 servers comes from nvidia. How different things would be if Nvidia linux/freebsd closed source drivers had not been so much of a problem child. If Nvidia was not a problem child screencapture would have most likely been solved before Wayland existed by qubes and others then made it back to normal distributions and it would not be based on pipewire(yes things would have been different).

                Nvidia limitations have been a big problem for Microsoft Vista and has been a ongoing problem with Linux/Freebsd.

                Factional scaling that dispute between gtk and qt on how it should be done this dispute even goes on under X11 so not Wayland unique problem. Sometimes you wish you could lock the key people in a room and only let them out once they had come to agreement either by passive moves or by elimination.

                piotrj3 the missing features you can find that there is somewhere been 1 to 2 parties being problems and not coming to agreement. Yes the fractional scaling recently added to the wayland protocol was fairly much this is what qt and xwayland needs and gtk developers are still we will only integer scale compositor will have to fractional scale down. Yes the compositor/X11 server restart one core problem has been Nvidia. Yes that core problem is one of the reasons why Apple stopped using Nvidia GPUs because apple was not going to do the years of giving customers bad product Microsoft did before Nvidia decide to play ball.

                Some ways the Linux desktop development world lack the tolerance and will to make the hard choices like go ahead implementing compositor restart even if it would not work with all users using Nvidia and cause those users massive headaches(yes Microsoft solution with vista get Nvidia tech support over run with complaints).

                Comment


                • #98
                  Originally posted by RahulSundaram View Post

                  Wayland and Weston was never exclusively targeted towards desktop environments. It is just one of many use cases and by far the smallest one. Commercial linux usage on non desktop systems are a much bigger market, so calling components used there heavily just a demo is silly. Desktop linux eventually gets some features tricked down potentially but this isn't the primary target for any commercial vendor. None of this should be a surprise to anybody.
                  *laughs in steam deck*

                  Steam deck is alone 1mln+ sales and that is relativly fresh device and it is example of quite close to desktop linux. And in fact Steam had to develop a ton of own solutions because Wayland doesn't fit their needs. We have gamescope because someone didn't think allowing tearing/low latency is important.

                  I remember Samsung investing into Wayland (for example I think Tizen works on it) and that sounds quite reasonable to think Wayland does fit their use. Actually.. it didn't initially (again they had to commit a ton of functionality) . Heck i ever remember from 2015 presentation how they complained about a lot of things that Wayland was lacking and in many of those features from that presentation - it is still lacking.

                  Rasperry pi just 1 year ago added experimental Wayland support. 30mln+ sales btw. since 2012.

                  And I could list on and on. That there is tons of commercial usages that did appreciate Wayland better safety, perfect frame etc. But they also were horrified about how many crucial stuff it lacks and had to spend own development resources on it. And many of those development resources end up useful for desktop linux kind of by accident. The only good guy that helps desktop linux gamers (mostly because Valve's commercial linux usage is inline with desktops) here is steam and sometimes I had impression Joshua Ashton was pissed off by for example no real progress on HDR front.

                  Thing is a lot of those kinda break wayland protocol, like gamescope uses own wayland that isn't anyhow correct with upstream. We already broke the rule with integer scalling (fractional is added), we broke the rule every frame is perfect (FINALLY), now we break implicit syncs around because it pissed off all GPU makers + Vulkan developers. But there is other side of issue : very few companies in the world has time and resources to request something in protocol, wait for 2 years+ like many stuff proposed in (explicit sync proposals? tearing proposals?) Wayland without much happening and hope project they are running didn't bankrupt in those 2 years.

                  Comment


                  • #99
                    Originally posted by mdedetrich View Post
                    Then Redhat/Wayland people shouldn't misleadingly shove Wayland into the Linux Desktop community when its clearly not ready for desktop or mislead the Linux community that Xorg/X11 will have its last release (which as we can see wasn't the case and it was obvious this wasn't going to happen at the time anyways, I even betted on it).
                    Except that was not the case. Thinking that x.org development stopped for 2+ years. it was not obvious that it new release of X.org X11 would happen. When Redhat said they were not doing another release that is exactly what happened. Redhat has not done a new release of X.org X11 with their own developers.

                    Originally posted by mdedetrich View Post
                    And also stating at that time that generally Linux distro's moved to Wayland as a default which was clearly false, a lot of distros stayed with X11 because NVidia especially back then was basically unusable with Wayland unless you had a specific Nouveau capable card.
                    Also not clearly false lot of distributions defaulted to Wayland for Intel and AMD graphics and remained X11 for Nvidia.

                    Originally posted by mdedetrich View Post
                    Lastly I don't know where you are so stubbornly arguing this anyways, so far the only thing you have shown is that Wayland was production ready for kiosks so essentially you are arguing that distro's willingly used Wayland which has only been tested on kiosks and lacking basic things at the time like copy and paste???
                    Copy paste mess explains why above happened. Wayland protocol from first version copy/paste worked. Xwayland copy paste X11 to X11 application worked from day one. The problem was Wayland client application to X11 application inside Xwayland in either direction. Yes this is linked to X11 copy paste design being a complete disaster zone. But its also linked to Nvidia. Nvida hate of nesting predates Wayland under X11. Eglstreams wayland compositors Nvidia idea is that Xwayland would not work at all and all applications would have to be Wayland at first. That Nvidia model there is no need to fix between XWayland and Wayland normal. Redhat had to invest time into hacking around Nvidia drivers so hardware acceleration would work with XWayland to get Nvidia to alter course.

                    Yes part of getting Nvidia to alter course was also to get more distributions providing wayland even for just Intel and AMD.

                    Economic warfare between companies is not nice to get caught in the middle of. Yes part of the reason why Nvidia wants to prevent nesting on their GPU to prevent consumer cards from being used by the highend shared between users. Yes Xwayland is nesting. People forget xnest with X11 with nvidia cards don't work either. Nvidia choice of market segmentation has been causing headaches.

                    So the claim that Wayland lacked basic things like copy paste has never been true. Lack of copy paste between wayland application and X11 application that was true for a time but it was also true at that time if you had Nvidia graphics either Xwayland could not run or would run with only software rendering result in applications running poorly.


                    Yes it was only 2 years ago that Nvidia closed source driver started working with Xwayland and only a year ago it got fully merged. Yes the copy paste between Wayland application and X11 application was fixed before Nvidia Xwayland stuff was fixed.

                    The fight with Nvidia over what features the Linux desktop wants and what features Nvidia wants to keep away from consumer cards has not ended yet. Yes Microsoft had the same arguements with Nvidia with Vista and Nvidia in the end with Vista end up allowing all the things the Linux desktop is asking for. So this is part double standards with Nvidia between Windows and Linux/freebsd desktops.

                    Comment


                    • Originally posted by piotrj3 View Post

                      Thing is a lot of those kinda break wayland protocol, like gamescope uses own wayland that isn't anyhow correct with upstream. We already broke the rule with integer scalling (fractional is added), we broke the rule every frame is perfect (FINALLY), now we break implicit syncs around because it pissed off all GPU makers + Vulkan developers. But there is other side of issue : very few companies in the world has time and resources to request something in protocol, wait for 2 years+ like many stuff proposed in (explicit sync proposals? tearing proposals?) Wayland without much happening and hope project they are running didn't bankrupt in those 2 years.
                      I will add a few quick notes here:

                      Fom early on, protocol extensions have been used for providing all sort of features over the minimal core protocol. IVI extension (used in Automotive industry), xdg-shell (used in desktop) etc are quite different and sometimes conflicting needs. Also people don't request protocol extensions and wait around for years, they just implement private protocols for what they want for the short term just like they have done so for Xorg and then standardize it later on like GNOME and KDE have down several times including for fractional scaling. Standardized but optional extensions for Wayland don't "break" any rules. They are part of the official protocol collection after all. Xorg had a whole bunch of deprecated core functionality (X Print server anyone?), extensions including RandR and even more additional layers specified via freedesktop.org. Not much of this is fundamentally new. Just more modular than before.

                      Comment

                      Working...
                      X