Announcement

Collapse
No announcement yet.

Drafting Plans For X12, The X11 Successor

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

  • #61
    Originally posted by drag View Post
    Hrm...

    You guys do realize that X11 is just a network protocol?
    Yes.

    Arguing over Xlib vs Wayland or whatever other insanity is entirely besides the point.
    No it's exactly the point. You have to program for X.org if you want a GUI in Linux because X.org is the only GUI in Linux.

    The problem is, is that the X11 legacy crap is hurtin X.org in thousands of ways and people just want to abandon the extreme latency of X.org by removing Xlib and having their shit run directly from widget toolkits. Try to resize a Window and then... aha!

    But then people like to have X11 around and think that Wayland is screwing with their desires, while it's perfectly possible and needed to approach stuff in a different way than the X11 way.

    You X server is just a 'browser' for X11 nework protocol. Ideally, Wayland can support X11 or X12 or whatever pretty much as well as your XServer can. (and it already supports X11)
    Wayland has its own networking API. The 'problem' is that it's not stable and changing all the time, so no networkeable apps can be made for it.

    Comment


    • #62
      Originally posted by TechMage89 View Post
      The fact that X11 is outdated and has serious flaws today is not an argument against network transparency.
      Excellent point. Those of us who have become accustomed to network transparency and who benefit from it always have difficulty explaining it to people who have never used it and who don't understand its value.
      Last edited by Remote User; 18 October 2011, 09:04 PM.

      Comment


      • #63
        Originally posted by Remote User View Post
        Excellent point. Those of us who have become accustomed to network transparency and who benefit from it always have difficulty explaining it to people who have never used it and who don't understand its value.
        I think nobody here has a problem with network transparency. The problem is that before Wayland nobody had a choice but to use X.org.

        I don't do networking, so I don't care. Therefore I'm wondering why it is that when I resize my windows it's a total lag fest. Meanwhile, I'm being angered by the fact that the Wine project can't even fix a stupid mouse bug related to X.org, because X11 is not supporting it >.< And how about fullscreen.

        Everytime I read something about X.org; it isn't pretty. That doesn't mean we don't like to have network transparency, we just don't like X.org network transparency.

        Comment


        • #64
          Originally posted by Remote User View Post
          Excellent point. Those of us who have become accustomed to network transparency and who benefit from it always have difficulty explaining it to people who have never used it and who don't understand its value.
          Network transparency is a neat feature, but what does it actually provide to the user that something like RDP or VNC doesn't? You can call those gross hacks if you want, but the bottom line is that all the actual X developers have said that it's a poor architecture and that RDP is far superior. I trust that they know what they are talking about far more than some random posters on Phoronix, unless you can actually articulate what it is that we lose.

          Comment


          • #65
            Originally posted by Remote User View Post
            Excellent point. Those of us who have become accustomed to network transparency and who benefit from it always have difficulty explaining it to people who have never used it and who don't understand its value.
            Well, some of us use network transparency with Windows and RDP. And let me tell you, it blows X out of water.

            It's great to run a GUI program on a server from my notebook, then turn off the notebook, go home and then reattach to the same session and continue as if nothing has happened. That's something that X hasn't ever been able to do without hacks (like a proxy display server).

            Comment


            • #66
              Originally posted by smitty3268 View Post
              Network transparency is a neat feature, but what does it actually provide to the user that something like RDP or VNC doesn't? You can call those gross hacks if you want, but the bottom line is that all the actual X developers have said that it's a poor architecture and that RDP is far superior. I trust that they know what they are talking about far more than some random posters on Phoronix, unless you can actually articulate what it is that we lose.
              I took a look at the RDP spec and it appears that it tunnels GDI commands through the protocol, but since compression and caching are part of the protocol, it can do a better job of utilizing bandwidth than X can. The thing is, while theoretically, there should be no difference between a local window and a remote window, the fact of the matter is that the protocol, any plain old graphics protocol, really, is too bandwidth and latency inefficient to work over slow network connections. RDP uses smart compression techniques and a lot of caching on the client side to reduce bandwidth. GDI primitives, like pens and brushes, can be saved on the client and then only need be referenced by cache index for future operations with them. There's no point in putting that kind of logic in a local connection because it just wastes CPU and memory. It's faster to just send these things over the local socket than it is to play around with caches and compression.

              X could win if it used a slightly different protocol for non-local connections. I don't mean in terms of TCP vs. unix domain sockets, I mean that if a client detected that the server it was talking to was on another machine, it would encode the X requests differently (with compression) and make use of caching (the server would have to play along here). XCB would make this a lot more feasible, but XCB has seen little uptake outside of being used as a backend for libX11 and mesa. Regardless, the X protocol as it is just isn't efficient for remote display.

              That said, Wayland won't be efficient either. It seems to me that the best we could do with Wayland is buffer-scraping, which is about the least efficient way to do remote desktop. To make RD possible on Wayland would require that the client libraries be hookable and send their drawing requests to some sort of proxy that then sends the graphics stream over the network in an efficient way. Does the architecture allow for this? If not, then we're better off fixing up the X protocol and tweaking XCB than moving over to Wayland.

              Comment


              • #67
                I took a look at the RDP spec and it appears that it tunnels GDI commands through the protocol, but since compression and caching are part of the protocol, it can do a better job of utilizing bandwidth than X can.

                Bandwidth is the least of X11's problems. People have come up with schemes for compressing stuff on X11, but it only usually makes things worse.

                Why?

                Because latency is the problem, not bandwidth. No amount of compression is ever going to help it. The protocol is just obsolete and the applications that use it are mostly very poorly designed.

                X11 is just shitty and outdated. It was pretty cool, but the world is moved on. Even though RDP is superior for desktop applications then X11, RDP itself has been outclassed massively by competitors.

                The NT goons at work use Citrix virtualized desktops that provide remote GUI desktops to datacenters that are housed well over 1/3 of the world away. That is, quite literally, we have WAN connections on entirely different continents that provide Windows desktops remotely. I couldn't even dream of doing that with X11. It's a total friggen nightmare in comparison.

                People who cheerlead X11 as some sort of remote GUI feature are so far out of touch of reality it's not even funny. Remote desktop and remote GUI applications are now mainstream. People regularly use 'Goto Meeting', Citrix virtual desktops, and all sorts of other stuff. People work from home or on business trips using remote GUI applications all the time. NOT A SINGLE ONE OF THEM USES X11.

                I can run X11 on Windows. I can run X11 on OS X. They work perfectly fine. Just as well as they do on Linux. But you know why nobody actually uses it besides some sys admins? Because it sucks and there are far better remote GUI solutions out there.

                If X12 can solve this then this would be fantastic. But in terms of network remote GUI access Linux is at least 10 years behind Microsoft. And Microsoft is years behind Citrix. If I am working on a document and my network drops out then I lose the application and what I was working on... I wouldn't have to put up with that shit if I was using Windows. I just reconnect and the application would still be running just fine. That is, very simply, the reality and no amount of compression is ever going to fix fundamentally obsolete designs.

                Comment


                • #68
                  Originally posted by siride View Post
                  That said, Wayland won't be efficient either. It seems to me that the best we could do with Wayland is buffer-scraping, which is about the least efficient way to do remote desktop. To make RD possible on Wayland would require that the client libraries be hookable and send their drawing requests to some sort of proxy that then sends the graphics stream over the network in an efficient way. Does the architecture allow for this? If not, then we're better off fixing up the X protocol and tweaking XCB than moving over to Wayland.
                  Of course the architecture allows for this. Wayland is completely flexible in this regard: it doesn't render anything by itself! In the Wayland world, it is the clients - not the server - who are responsible for rendering. Unlike X, the clients can actually use an efficient rendering library with network transparency and, again unlike X, reap the improvements as newer and more efficient protocols evolve. (Of course, you can also use X network transparency - Wayland *is* completely flexible in this regard).

                  Not only is this approach more efficient, it is also more logical. Wayland is a display server and a compositor and, as such, it composes and displays. It's not a renderer, nor a sound server and definitely not a network server.

                  Remember the Unix philosophy? "Write programs that do one thing and do it well." Too bad that most people seem to forget it these days.

                  Comment


                  • #69
                    Originally posted by siride View Post
                    I'm a realist who doesn't think total rewrites with major semantic changes are the way to go with complex infrastructure software.
                    +1. Complete rewrites are cool and can be relevant when there has been a generation change in how things work (TM), which I guess can be said about the graphics stack for the desktop. But it takes time and it doesn't hurt to invest time in evolutionary improvements of what actually works.

                    Comment


                    • #70
                      Originally posted by zoomblab View Post
                      James Gosling argues, on a paper from 10 years ago, against network transparency. He talks about how he would re-invent a modern graphics system and his thoughts match 100% the Wayland design. Basically this is just common sense and I find odd how long the current flawed design has survived trough the years. Other than unix most other systems have had much better graphics infrastructure, i.e. leaner and meaner.
                      http://hack.org/mc/texts/gosling-wsd.pdf
                      Thanks for this, I found it very interesting. Well written and I think it's very noteworthy that the article was written 10 years ago, when GPU:s were nothing compared to now. He also proposes solutions to the whole "X11 compability" issue.

                      I also like how he wraps it up: "This window system design isn’t particularly radical: it’s more just pointing out that this is the way that X is going already, given the increasing predominance of application-side rendering libraries. Once you accept that fact and admit that it’s actually the right way to go, the design falls out, simply by stripping away legacy stuff that isn’t needed any more."

                      Comment

                      Working...
                      X