Announcement

Collapse
No announcement yet.

Drafting Plans For X12, The X11 Successor

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

  • TechMage89
    replied
    X11 network transparency is dead.
    Says who? I use it, and will continue to. Windows has network transparency for practically everything, and it was a painful but necessary transition.

    Also, the architectural decisions behind dbus are *not* something I'm fond of, and it breaks a lot of the paradigms I like about Unix-likes. I personally never intend to develop any software that makes use of it, and avoid using software that requires it whenever possible.

    I would really like to see something like DPS or NeWS gain wide adoption as a graphics server. OSX actually has a pretty neat graphics model along these lines.

    A good graphics server could also potentially make hardware acceleration of a lot of operations a much easier task.

    Like I said, you can happily render directly to your Wayland composited environment if you like, but I want to see a real communications protocol for clean separation between components.

    The fact that X11 is outdated and has serious flaws today is not an argument against network transparency.

    Leave a comment:


  • BlackStar
    replied
    Originally posted by movieman View Post
    Wayland is a step _backwards_, because it removes the network transparency which makes X so great. And it does so in an era where people have never been more networked, when the evangelists tell us that we're all going to be running programs in The Cloud, while displaying the output on our phones.

    I honestly don't understand why the whole IT industry seems to be in full metal retard mode right now; everyone is abandoning things that work in favor of the Glorious Utopian Future which will do less and do it less efficiently.
    Martin, of KWin fame, has covered this fallacy much better than I ever could. X11 network transparency is dead.

    Some juicy tidbits:
    X11 Network Transparency is not Suited for Modern Applications

    The idea behind the network transparency is to send drawing commands over the wire (useful idee for the requirements of 30 years ago). Nowadays modern applications do not use X11 any more for rendering. They use technologies like Cairo, Clutter, QPainter (Raster) or OpenGL directly. Without using X11 for rendering you end in streaming pixels over the wire. And there are clearly better technologies to do that than X11. Face it: network transparency is going to break very soon even without Wayland. I want to see the Qt 5 used over the wire.

    Modern Applications require DBus

    Yes DBus is not network transparent and yes most modern application use it, for things like StatusNotifier (this one has fallback to Xembed) or moving the menus somewhere else. Now without network transparency these things are just shown on the wrong system or not at all. Damn stupid devs not thinking about network transparency? So face it: no modern app can be used without DBus which breaks implicitly also the X11 Network Transparency.

    Leave a comment:


  • BlackStar
    replied
    Anyone who claims to have used and *liked* Xlib is either a fool or a lying fool. It's that simple. 25 years ago, Xlib might have been the best thing since sliced bread. Guess what? Times change. Xlib didn't.

    Now, I'm sure there are people who grew up writing Cobol for a living. Some, in a perverted form of masochism, may have even ended up liking the language. That doesn't mean the language doesn't suck, it just means they are looking at it through rose-colored glasses.

    As someone who has been working with xlib, win32, carbon, cocoa and a handful of other low-level APIs for the better part of a decade, rest assured that xlib/X11 is every bit as painful as most people claim it is. Its design is fundamentally broken. For instance:
    • Bad threading model. XInitThreads must be the very first call and every single call must be protected by XLockDsplay/XUnlockDisplay. Good luck embedding a 3rd-party component that doesn't follow this pattern in your application. For instance, GTK+.
    • Ill-designed mouse input system. No relative movement events, single mouse wheel treated as two discrete *buttons* not an axis (making polling impossible), all modified settings take effect globally (e.g. your FPS game needs to disable pointer acceleration; if it crashes, it will remain disabled *globally*). No way to disassociate the logical from the physical mouse location. No support for high-resolution wheel events, multi-touch or any other remotely modern feature.
    • Ill-designed keyboard shortcuts model. In conjuction with the above, this leads to a huge number of applications calling XGrabPointer/Keyboard, which is a fucking usability nightmare.
    • Awful multi-monitor support. There are several different, incompatible multi-monitor APIs, each with different capabilities. Some APIs will cause the screen to flicker just by querying available video modes. It's such a nightmare that it's only in 2011 that X11 gained the ability to block the mouse pointer from entering the void outside visible monitor areas (something that has never even been an issue on other operating systems).
    • Drawing commands are slow and extremely low quality (no antialiasing, no subpixel precision, plain bitmap fonts, a fucking nightmare). Using these is the best way to make your application look like a sad 1990 relic. Video rendering must go through a different API. Hardware-accelerated video rendering through one of 3 different APIs. Accelerated drawing commands through yet another different API.


    XCB fixes *some* of those issues but introduces more of its own. Try creating an EGL or OpenGL context with it, for example. Besides, XCB doesn't alleviate any of the input, multi-monitor and rendering problems.

    So yeah, keep shoveling shit over a bad foundation. The result can only go one way, and that way is down the drain. Apple relegated X11 to an optional legacy component of its desktop OS and banished it completely from its mobile one. Google did the same and based Android and ChromeOS on completely different technology. Mainstream Linux distros are preparing to jump ship as soon the replacement is ready. KWin and Qt can already run on Wayland.

    Make no mistake, X11 is on its way out. It will remain as a legacy option, but investing large amounts of time and money into it no longer looks like a very bright idea.

    Leave a comment:


  • movieman
    replied
    Originally posted by V!NCENT View Post
    That's cool and all, but everytime something dares to 'advance', there are always people saying "Isn't what we have good enough?".
    Wayland is a step _backwards_, because it removes the network transparency which makes X so great. And it does so in an era where people have never been more networked, when the evangelists tell us that we're all going to be running programs in The Cloud, while displaying the output on our phones.

    I honestly don't understand why the whole IT industry seems to be in full metal retard mode right now; everyone is abandoning things that work in favor of the Glorious Utopian Future which will do less and do it less efficiently.

    Leave a comment:


  • V!NCENT
    replied
    Originally posted by Remote User View Post
    You are such a pain in the ass.
    For you, maybe.

    None of those things existed years ago so I used what was available and created other tools.
    Good for you. Why does it matter? Why does what you have used got anything to do with X12? What's your porblem? Fear that X12 threatnens your work? That you have to start over? What's the problem? Even X.org developpers are adding replacement code that bypasses X11. Why would you think that every development work today, regarding X.org, is moving away from X11? Might it not be because X11 is in need of replacement?

    Today I use all of the tools you mention, plus others such as HTML5 and OpenGL. The only thing more useless than your iceberg analogy is your desperation. Can't you even tell when you have a fork stuck in you?
    A fork? Are you Q's alter ego on drugs?

    Leave a comment:


  • AlbertP
    replied
    Agreed, but when X on top of Wayland is still needed, why not take X12?

    Leave a comment:


  • kraftman
    replied
    Originally posted by Obscene_CNN View Post
    Hurray for the X developers. This is the proper way to advance, setting requirements, looking at user needs, backwards compatibility, discussion of options and new features, and most of all planning. It is way much better than some egotistical impatient douche saying lets ditch core capabilities for speed and have no solutions in mind to replace those capabilities.
    Hurray for the old, slow crap. Wayland is obviously way to go, because X is too problematic and it seems to be obsolete in many things. If users need backward compatibility there's X running on top of Wayland. I don't know who you are, but you sound stupid. I probably don't need half of X capabilities to use my desktop and guess what? X is damn slow.
    Last edited by kraftman; 17 October 2011, 03:15 PM.

    Leave a comment:


  • Remote User
    replied
    Originally posted by V!NCENT View Post
    Well luckily the Samsung sponsored Enlightenment project agrees with me and uses XCB.

    That might ofcourse be to benifit of Samsung, for their real-life needs.

    Ofcourse they should have listened to you and Remote User, who want to build a house on top of an iceberg that is melting away. That may sound rediculous, but not if you build in floating capabilities underneath the iceberg (Xlib) so that one day it will still float there. Because let's be honest, why build this floating capability directly underneath the house? That would simply be rediciouless

    PS: Not to mention Cario, Compiz, Xine and VLC, among others...
    You are such a pain in the ass. None of those things existed years ago so I used what was available and created other tools. Today I use all of the tools you mention, plus others such as HTML5 and OpenGL The only thing more useless than your iceberg analogy is your desperation. Can't you even tell when you have a fork stuck in you?

    Leave a comment:


  • V!NCENT
    replied
    Originally posted by Obscene_CNN View Post
    Remote User,

    Don't let Vincent get to you. He is just a hack that believes in building a house on a foundation of sand is a good thing because you get out of the rain quicker.
    Well luckily the Samsung sponsored Enlightenment project agrees with me and uses XCB.

    That might ofcourse be to benifit of Samsung, for their real-life needs.

    Ofcourse they should have listened to you and Remote User, who want to build a house on top of an iceberg that is melting away. That may sound rediculous, but not if you build in floating capabilities underneath the iceberg (Xlib) so that one day it will still float there. Because let's be honest, why build this floating capability directly underneath the house? That would simply be rediciouless

    PS: Not to mention Cario, Compiz, Xine and VLC, among others...
    Last edited by V!NCENT; 17 October 2011, 03:01 PM.

    Leave a comment:


  • Obscene_CNN
    replied
    Remote User,

    Don't let Vincent get to you. He is just a hack that believes in building a house on a foundation of sand is a good thing because you get out of the rain quicker.

    Leave a comment:

Working...
X