Announcement

Collapse
No announcement yet.

Ubuntu Allegedly To Have Its Own X, Wayland Alternative

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

  • #76
    Originally posted by johnc View Post
    There's quite a bit of X criticism these days (and Mr. Stone's presentation was a bit off-putting to me in that sense) and it's probably true to say that X has fallen behind the competition. But a decade ago X was far superior at certain things than the alternatives so I don't think some of the original design ideas were necessarily based on numskull concepts. I accept that maybe it's time for something different but yikes this has been a hostile break.
    Was his presentation heavy on the criticism? Yes. Was it necessary? Maybe not. Am I glad he did it? Yes. We needed someone to shine a light on all of the things wrong with the X protocol and having an X server in the middle.

    Was X superior in the past? No doubt about it, 100% agree. But unfortunately 2 things happened: 1) We (the X community) started to rest on our laurels and we get burned because of it. 2) The X protocol wasn't updated. We worked around it, extended it. We were treating symptoms instead of treating the problem.

    There's been a lot of hostility towards X for a couple reasons.

    1) Games are coming to Linux now, games adjust the resolution to ensure a smooth experience. This shined a bright light on the fact that X has a hard time (Though not impossible) with adjusting the resolution dynamically. With Wayland this get fixed by applying black borders like windows does.

    2) Multi-monitor, and by extension multi-GPU is a MESS under X.

    (Gotta run, ill post the end to this when I get back)

    Comment


    • #77
      Back sorry =P

      2) Multi-monitor, and Multi-GPU is a mess under X thanks in part to the way it handles multiple (protocol) screens. DRI3 & DMA-BUF is attempting to fix that by in part making Xorg "More Wayland like" though its still being developed. Last update on DRI3 was at XDC last fall when Keith Packard and Eric Anholt came up with it on the fly.

      This is one area where I really like Wayland's attitude of "Thats a client problem." Wayland is just a barebones protocol that you can build upon, its a framework, YOU (the clients) have to build up and make it usable. It is there to facility security and show pretty pictures, and to get out of the way.

      3) Flicker/Stutter/Tear free is basically impossible in games or video apps on X without the drivers getting involved and being really careful. Why? Round-trips mostly if i'm understanding things right. Yay synchronous design!!! What do you do under X to get no more flicker / stutter / tear in apps? You introduce a compositor with compositing enabled. Whats the setting that most people should have turned on? Disable compositing for full-screen windows. See the problem?

      4) Protocol is a behemoth. Why is it a behemoth? "Mechanism, not policy." Its not a framework, its an implementation. What do we NEED it to be? Framework. See the inherit problem? Originally you didn't have Qt or GTK or EFL drawing rectangles. You told X, draw a rectangle. And X had a set way to do that. In the 80s and 90s when everything looked like windows 95 that was probably okay. Core protocol hasn't been updated since X11. We've just extended it and worked around X's inherit flaws but we've never tried to actually fix it. Mainly because "Fixing it" would mean doing what we are doing anyway....write a new protocol. It just so happens that this new protocol is called Wayland instead of X12.

      If we had called Wayland "X12" No one would've given a shit, they would've been like "Yes! The protocol is being updated!" Instead everyone screamed "The wayland developers dont know what theyre doing!" Guess what...Most of the Wayland devs are former or current Xorg devs. They KNOW what X's faults are, they have to cry themselves to sleep every night that they read code from 12years ago that no ones updated since.

      Keith Packard, accidentally, made a great point during his conference at FOSDOM or Linux.conf.au (forget which). He said the way they depreciate things in Xorg is they break it on accident, time passes, if no one's submitted a bug about it, it must mean no one cares about it. Therefore it must be safe to remove. Whats the point he accidentally made? The protocol is such a mess, and so many parts of it are unused bits that they can even break things on accident and no one will notice for months, or years even.

      Daniel Stone made a similar point that I loved. He said there was originally 4 ways to handle input in Xorg. 1's been depreciated and the 3 that are left are all inter-dependent on eachother. He said "There's currently about 3 people on the planet that really understand how input works under X...and I really wish I wasn't one of them." Thats a big problem if thats the attitude that a big Dev has for Xorg. 3 seperate API's that are all interdependent on eachother? Problem. Only 3 people on the planet that understand how it works? Problem.


      Whats my point? Why do we need Wayland? Because X is big. X is big and X gets in the way. We need something light weight, we need something asynchronous so we dont have all of these round-trips, we need something that knows it shouldn't be in the way. It should not be a deterrent, it should be an implementer, something that will enable us to keep pushing forward graphics-wise and to enable us to change the things that need to be changed as time progresses in the future. Wayland satisfies all of those.

      Comment


      • #78
        Xlib is synchronous piece of shit used by GTK and Qt.
        There is XCB which is much more modern and asynchronous but nobody is using it, because they already use Xlib and they made so many special case workarounds and confusing ugly hacks which they don't understand so they don't want to touch that code and port it to XCB.

        I think they should make an X11 Light protocol, which is a subset of the X11 protocol with all unnecessary ancient cruft that not used anymore ripped out.

        Kind of like SVG Tiny is to SVG, and what OpenGL ES is to OpenGL.

        Comment


        • #79
          Originally posted by uid313 View Post
          Xlib is synchronous piece of shit used by GTK and Qt.
          There is XCB which is much more modern and asynchronous but nobody is using it, because they already use Xlib and they made so many special case workarounds and confusing ugly hacks which they don't understand so they don't want to touch that code and port it to XCB.

          I think they should make an X11 Light protocol, which is a subset of the X11 protocol with all unnecessary ancient cruft that not used anymore ripped out.

          Kind of like SVG Tiny is to SVG, and what OpenGL ES is to OpenGL.
          I agree they SHOULD have. But at this point? Why bother? By the time they DID design, and spec-out and write "X11-Light" Wayland would probably be hitting desktops

          Comment


          • #80
            Originally posted by Ericg View Post
            I agree they SHOULD have. But at this point? Why bother? By the time they DID design, and spec-out and write "X11-Light" Wayland would probably be hitting desktops
            Since X11-Light would be a subset of the X11 protocol, there would not be much writing of specifications.
            We have X.org Server which is a implementation of X11, now just rip out and burn as much as you can while making sure it still compiles and runs the usual stuff.
            Then see whats left.

            Comment


            • #81
              Originally posted by uid313 View Post
              Then see whats left.
              There'd hardly be any X left, so... W-light Server?

              Comment


              • #82
                Originally posted by Nobu View Post
                There'd hardly be any X left, so... W-light Server?
                Then so be it.
                Just strip out everything that can be stripped out, and if all GTK and Qt applications still work, and almost nothing of X is left, then that is just good, right?

                Then the codebase will be smaller, it will be easier to maintain, quicker to compile, easier to fix bugs, and everything will be great.

                Comment


                • #83
                  Once Wayland is accepted and is good working order, I agree a X11 lite would be nice. But instead of lite, you could call it X11 Legacy server. Basically stripped down to a really easy to support portion of X11 for applications and drivers from the last few years(aka no older drivers or applcations), for use ONLY in wayland as a server. That way people can have thier X11 for things that just won't be ported EVER, but its not has hard to maintain over time. X11 development could be entirely dropped except for yearly updates once X11 legacy server was in working order.

                  Of coarse, this means there would be 3 servers be maintained, so I have no idea if this would ACTUALLY save people effort, but its a pretty idea.

                  Comment


                  • #84
                    Originally posted by uid313 View Post
                    Then so be it.
                    Just strip out everything that can be stripped out, and if all GTK and Qt applications still work, and almost nothing of X is left, then that is just good, right?

                    Then the codebase will be smaller, it will be easier to maintain, quicker to compile, easier to fix bugs, and everything will be great.
                    As I understand it Xorg had when it was as biggest almost a million lines code, if I remember phoronix article right wayland has around ten thousands line ( in the middle of 2012).
                    Xorg light need to be very light if it should get that small. How big is the refactoring work that is needed to do something like that?



                    By the way, its look like Arch linux has wayland in their regular package repositories now.
                    Last edited by Akka; 02-11-2013, 10:07 AM.

                    Comment


                    • #85
                      Originally posted by uid313 View Post
                      Then so be it.
                      Just strip out everything that can be stripped out, and if all GTK and Qt applications still work, and almost nothing of X is left, then that is just good, right?

                      Then the codebase will be smaller, it will be easier to maintain, quicker to compile, easier to fix bugs, and everything will be great.
                      There are applications like rxvt-unicode, which don't use GTK or Qt.

                      Comment


                      • #86
                        Originally posted by dh04000 View Post
                        Once Wayland is accepted and is good working order, I agree a X11 lite would be nice. But instead of lite, you could call it X11 Legacy server. Basically stripped down to a really easy to support portion of X11 for applications and drivers from the last few years(aka no older drivers or applcations), for use ONLY in wayland as a server. That way people can have thier X11 for things that just won't be ported EVER, but its not has hard to maintain over time. X11 development could be entirely dropped except for yearly updates once X11 legacy server was in working order.

                        Of coarse, this means there would be 3 servers be maintained, so I have no idea if this would ACTUALLY save people effort, but its a pretty idea.
                        But Solaris and BSD use X.org Server too.
                        So even without Wayland, we should still trim down X.org Server and rip away all stuff we don't need.


                        Originally posted by JS987 View Post
                        There are applications like rxvt-unicode, which don't use GTK or Qt.
                        Yes, and those applications should still work too.
                        But there are lots of other cruft that we don't need to support, such as glyphs and drawing operations.

                        Comment


                        • #87
                          I think the biggest weakness regarding Linux display services is the fact that proprietary video drivers are almost an afterthought. It seems that Wayland is going to continue the tradition, though I guess most of it is license related so there's not much that can be done anyway.

                          But Android pulled it off pretty well.

                          And maybe this is what Canonical is focusing on with their own implementation (should it come about), because they know they'll finally have to get real with video drivers if they want to enter the phone market.

                          Comment


                          • #88
                            Originally posted by johnc View Post
                            I think the biggest weakness regarding Linux display services is the fact that proprietary video drivers are almost an afterthought. It seems that Wayland is going to continue the tradition, though I guess most of it is license related so there's not much that can be done anyway.

                            But Android pulled it off pretty well.

                            And maybe this is what Canonical is focusing on with their own implementation (should it come about), because they know they'll finally have to get real with video drivers if they want to enter the phone market.
                            Yes and no. DRI3 is working on allowing multiple OpenGL implementations to be installed at once so you could have both Radeon and Catalyst installed at once and switch between them with a reboot. There's nothing in Wayland that says "No closed source drivers!" All wayland does is stake pointers and buffers and displays their contents. Anything BEFORE the buffer, such as how that buffer got filled or who wrote to it, is a client problem with the one exception that Wayland will not allow programs to write to (or read?) eachother's buffers. If you need to share buffers you need to do shared memory or ideally, DMA-BUF

                            Comment


                            • #89
                              Originally posted by Akka View Post
                              As I understand it Xorg had when it was as biggest almost a million lines code, if I remember phoronix article right wayland has around ten thousands line ( in the middle of 2012).
                              Xorg light need to be very light if it should get that small. How big is the refactoring work that is needed to do something like that?



                              By the way, its look like Arch linux has wayland in their regular package repositories now.

                              There about, Daniel's video on Xorg -> Wayland quoted 900k though he said at one time he could've sworn that he saw 1.2Million. A lot of that was because in order to be platform-agnostic X had to do a lot of things that are now handled by other programs. For example, once upon a time Xorg had an entire printer server & stack built in because at the time none of the unix's had a standarized way to do printing, now we have CUPS and Samba but at the time it was needed. (Yes that got removed awhile back, Daniel said it was the largest, single, code purge in X's history lol)

                              Comment


                              • #90
                                Originally posted by uid313 View Post
                                Yes, and those applications should still work too.
                                But there are lots of other cruft that we don't need to support, such as glyphs and drawing operations.
                                Text rendering shouldn't be removed as it is accelerated by graphics card.
                                rxvt-unicode won't work without XDraw* functions.

                                Comment

                                Working...
                                X