Slashdot Mirror


Wayland, a New X Server For Linux

An anonymous reader writes "Phoronix has a new article out on Wayland: A New X Server For Linux. One of Red Hat's engineers has started writing a new X11 server around today's needs and to eliminate the cruft that has been in this critical piece of free software for more than a decade. This new server is called Wayland and it is designed with newer hardware features like kernel mode-setting and a kernel memory manager for graphics. Wayland is also dramatically simpler to target for in development. A compositing manager is embedded into the Wayland server and ensures 'every frame is perfect' according to the project's leader."

121 of 487 comments (clear)

  1. Thank you! by Anonymous Coward · · Score: 2, Insightful

    Thank you sweet Jesus! Finally somebody is doing something that should have been done looooong time ago!

    1. Re:Thank you! by Anonymous Coward · · Score: 5, Insightful

      Instead of taking the initiative and starting the project yourself, like this guy did.

    2. Re:Thank you! by amorsen · · Score: 5, Insightful

      Thank you sweet Jesus! Finally somebody is doing something that should have been done looooong time ago!

      People have been doing bits and pieces of it for a long time. Client-side font handling, client-side rendering in general, kernel mode setting... Without those things, this project would be a lot larger.

      This is quite typical of free software by the way: A lot of things are quietly replaced and enhanced without anyone noticing, and suddenly someone uses all the changed bits to create something radically new.

      --
      Finally! A year of moderation! Ready for 2019?
    3. Re:Thank you! by dougmc · · Score: 4, Insightful

      X is an application. *And* a server. On OS X as well. And under *nix, and even under Windows (when you add an X server to it.)

      X's architecture works pretty well for what it was written to do. It was written in a time when lots of people used wimpy X terminals and did their work on a shared beefy central server.

      VNC might be more of the architecture you're referring to?

    4. Re:Thank you! by grub · · Score: 5, Insightful


      I use X on 32 and 64 bit versions of both OpenBSD and Ubuntu Linux and can't recall it crashing on my anytime in the recent past. Certainly not "all the time" in my experience.

      --
      Trolling is a art,
    5. Re:Thank you! by Ant+P. · · Score: 4, Interesting

      It was done long ago.

    6. Re:Thank you! by uglyduckling · · Score: 5, Informative

      Just like on OSX, you have a rootless X server that is a client (an application if you like) of the native windowing system and acts as a server for the X clients (applications) that need an X server in order to interface with the user. So it is both an application and a server.

    7. Re:Thank you! by msuarezalvarez · · Score: 3, Insightful

      What was the adoption rate of Y? Was it really done? Was it little more that a proof of concept?

      Well, don't let reason get in the way of a seemingly cool reference, though.

    8. Re:Thank you! by siride · · Score: 5, Insightful

      That's almost exactly how it already is right now. This whole thread is a bit strange to me since everyone's complaints about X are based mostly on their misunderstanding of how it actually works.

    9. Re:Thank you! by Ant+P. · · Score: 4, Informative

      The demo apps that came with it worked pretty well. It was a lot smoother than X's compositing window managers at the time at any rate, but that's mostly because nvidia can't write a 2D driver worth shit and Y was software-rendered.

      But like everyone else has said in these comments how is this attempt going to be any different to Y/DFB/GGI/etc?

    10. Re:Thank you! by dougmc · · Score: 4, Informative

      X does not *have* to run the graphics ... just because Xorg/Xfree86 and just X before that (usually?) worked that way, that doesn't mean it's the only way it can be done. Counter-examples include X on OS X (yes, I know, it was mentioned), X on Windows, and even things like Xvnc, Xvfb and Xnest.

      Just because YOUR X server also manages the graphics hardware, that doesn't mean that's an X thing -- it just means it's something else that YOUR X server does. Others may not.

      FishWithAHammer was just not very clear.

    11. Re:Thank you! by geckipede · · Score: 2, Informative

      How much memory do you have? I've mostly seen X crash while something is hogging all the memory and paging is slowing everything down. It's not common even with limited memory, but it does happen.

    12. Re:Thank you! by Wesley+Felter · · Score: 3, Interesting

      IIRC, Y was not based on a composited architecture, so by today's standards it sucks. It might have made a nice successor to X back in the BeOS days, though.

    13. Re:Thank you! by rs79 · · Score: 2, Interesting

      No, what should have been done a long time ago is to scrap X and use Sun's NeWS. They demo'd it in the 80s and it fixes a lot of problems in any X(/Y).

      Oh well.

      --
      Need Mercedes parts ?
    14. Re:Thank you! by x2A · · Score: 3, Insightful

      "just means it's something else that YOUR X server does. Others may not"

      And you took it the other way...

      Yes X doesn't have to use a hardware framebuffer, yes you can have X on various other virtual framebuffers, but that's going a step in the oposite direction of what people are talking about here. That would be keeping the X server/protocol and throwing out its ability to write to and manage the hardware. What people are talking about is throwing out the X serrver/protocol, and allowing stuff to write more directly to the screen, have more stuff in the kernel, and reduce the number of abstractions and context switches required between the app and the pixels landing on the screen.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    15. Re:Thank you! by Jane_Dozey · · Score: 3, Informative

      I have to say, running on 512K ram and it seems to be fine. The only time I've had a real problem with X is when I start fiddling with Nvidia drivers and 3D acceleration. I've always put that down to the drivers not playing nicely though.

      --
      Silly rabbit
    16. Re:Thank you! by amorsen · · Score: 3, Informative

      And client side (font) rendering is good exactly _how_?

      It means innovation can happen in the client libraries and not have to wait for all the servers to catch up. It can lead to fewer roundtrips between clients and servers.

      You should never enshrine complex things in protocol specifications; protocols change way too slowly. Font rendering used to be a simple thing, but the demands of modern applications force it to be complex, and the X11 protocol simply can't keep up. Nor should it.

      I don't have client-side rendering problems with ssh transparency. If anything, it helps that you don't have to install all the fonts an application needs on all the X-servers it might end up running on.

      --
      Finally! A year of moderation! Ready for 2019?
    17. Re:Thank you! by makomk · · Score: 3, Insightful

      Window management is largely pushed to the clients, they draw their own decorations and move and resize themselves, typically implemented in a toolkit library. More of the core desktop could be pushed into wayland, for example, stock desktop components such as the panel or the desktop background.

      Wonderful. Microsoft Windows works that way, and it sucks - whenever an application locks up, it becomes impossible to move or resize its window (and in older versions of Windows without the appropriate hacks, impossible to minimise it either).

    18. Re:Thank you! by Froggie · · Score: 2, Informative

      Care to clarify what you mean?

      Something has to run the graphics. In general, in Unix, this would be a process or the kernel. Assuming you don't think it's a good responsibility for the kernel (it really isn't, other than the memory protection issues that come up with memory-accessing and memory-mapped hardware) then it has to be a process.

      Things share the screen in graphical environments. One piece co-ordinates that sharing and manages the desktop. That process is therefore providing a service and is always a server, whether it's X or the MacOS system.

      So, userspace server it is, then.

    19. Re:Thank you! by x2A · · Score: 2, Informative

      "Who's to say anything else would be more stable than the above cut-down X server?"

      I think the point of Wayland is that it's actually not an X server at all (despite misleading article title) but could be used as an X server replacement for Linux; applications would have to be written or ported to it as it wouldn't be running the X protocol (however, a port of the X server could allow X apps to run in the same way as running an X server on Windows or OSX allows you to use X apps on those platforms).

      All in all, this seems like A Good Thing(tm)

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    20. Re:Thank you! by TruthfulLiar · · Score: 2, Informative

      The problem with Windows is not that window drawing is done on by the client. The problem is that no event can be processed without the wndproc for that window looking at it first. So if the application isn't processing events, the window can't move. X does it a bit differently in that you only receive events you request. Most X apps probably aren't interested in processing the move event, but if it does process it, I'll bet you'll get a similar effect with X.

  2. Does this... by AKAImBatman · · Score: 4, Interesting

    ...spell the death-knell of X-based graphics drivers? Does this mean that such drivers will finally be folded into pure kernel modules with no fancy wrappers required? Does that also mean that we can eliminate X as a dependency for playing video games, and using Linux in multimedia or kiosk environments?

    1. Re:Does this... by betterunixthanunix · · Score: 5, Funny

      ...year of Linux at last?

      --
      Palm trees and 8
    2. Re:Does this... by KasperMeerts · · Score: 5, Insightful

      Now only to convince nVidia to release their drivers for this new X. As long as these things don't happen, this probably won't take off.
      Man, we really need OSS drivers.

      --
      As long as there are slaughterhouses, there will be battlefields.
    3. Re:Does this... by fxkr · · Score: 5, Funny

      ...year of Linux at last?

      This sentence no verb and no desktop.

    4. Re:Does this... by jav1231 · · Score: 2, Insightful

      No. This means there another X server thrown into the mix. Superior? Probably. Will it matter? Not likely. It's simply another piece of code to be debated and which will stave off Linux on the Desktop another 5 years.

      The great thing about collaboration is that people can all contribute to a multitude of projects. The bad thing is that there's a multitude of projects.

    5. Re:Does this... by F-3582 · · Score: 5, Interesting

      They'll probably do the same thing they did with X.Org: Circumvent the entire thing.

    6. Re:Does this... by AKAImBatman · · Score: 5, Interesting

      But if you're going to "get rid of the cruft", doesn't that suggest that you'd want to move to an architecture that depends on the kernel's graphics subsystem rather than maintaining a zoo of obsolete usermode drivers?

      Hardware is the purview of the kernel. Or at least the Hardware Abstraction Layer. (Depending upon your OS's architecture.) Today's X servers still support all kinds of usermode drivers, just so that 95% of configurations can thunk it all to the kernel. Thus there doesn't seem to be much point in providing the graphics drivers in the X server. Better to let the kernel do its job while the X server does its job of drawing the GUI through interpreting a series of abstract commands.

      As a bonus, the graphical system becomes available to a variety of programs that desire low-level access to the graphics card rather than running an X server.

      Perhaps I'm being naive, but why wouldn't a clean separation between the graphics system and the kernel drivers be an advantageous goal?

    7. Re:Does this... by imbaczek · · Score: 5, Funny

      He accidentally the whole verb and the whole desktop.

    8. Re:Does this... by jonbryce · · Score: 2, Interesting

      Didn't Microsoft do this in NT4, and wasn't it a very bad move for security and stability?

    9. Re:Does this... by Tubal-Cain · · Score: 2, Informative

      Getting it into the Ubuntu repos probably wouldn't hurt, either. (Sad that a single distro can have that much influence)

    10. Re:Does this... by AKAImBatman · · Score: 5, Interesting

      Microsoft moved the ENTIRE graphical subsystem to the kernel. Which made things faster, but did make them less stable and less secure. (Sun also had an option to take this route in Solaris.) This would be like taking the entire X server and cramming it down into the kernel.

      I'm not suggesting anything quite so extreme. Rather, I'm talking about leaving device control in the hands of the device manager (i.e. the kernel or the HAL) and having the X server access the device through a standard driver interface. Much like audio, mouse, keyboard, networking, and storage are all handled by the kernel.

      FWIW, Microsoft left the graphics in the kernel. They did add some extra checks to stabilize it, but we're all living with those kernel graphics today.

    11. Re:Does this... by bhtooefr · · Score: 2, Interesting

      Doesn't Vista finally move the graphics into userland?

      And, the funny thing is, Microsoft's been screwing this up for years now, starting with OS/2 1.1. It was IBM's turn to work with OS/2 1.3, and they quickly moved it out of the kernel. But, Windows NT was a fork of OS/2 1.2, not 1.3.

    12. Re:Does this... by khellendros1984 · · Score: 5, Insightful

      I disagree. I think that a single distro gaining popularity will be instrumental for standardizing what is expected of Linux for introduction into a larger market...that is, to give hardware and software developers a system to work in that's more standardized.

      --
      It is pitch black. You are likely to be eaten by a grue.
    13. Re:Does this... by lotho+brandybuck · · Score: 5, Funny

      Getting it into the Ubuntu repos probably wouldn't hurt, either. (Sad that a single distro can have that much influence)

      Wow. The Economy must be bad! People are getting their Ubuntus repossessed!

    14. Re:Does this... by techno-vampire · · Score: 5, Insightful

      You do understand, don't you, that the reason the nVidia drivers aren't in the Ubuntu (or Fedora) repos are that they're not OSS? Ubuntu will quite happily download and install them if needed, but they'll also make sure you know they're third-party and not supported by Ubuntu. For Fedora, you need to add a third-party repo (livna) after which installing the drivers and keeping them current is simplicity itself. I don't know about other distros, but I'd presume it's similar for all of them, with the probable exception of Gentoo.

      --
      Good, inexpensive web hosting
    15. Re:Does this... by Enderandrew · · Score: 2, Informative

      All the really big players keep them in a separate repository. The "biggest" distro that I know that includes them normally would be Gentoo as you mentioned, and Sabayon, a Gentoo off-shoot.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    16. Re:Does this... by MostAwesomeDude · · Score: 5, Informative

      I don't understand why you were modded down, when you are technically correct: nVidia's driver stack simply doesn't use most of X.org's API/ABI. There are actually bits and pieces of X that we'd like to deprecate, but we can't because the nVidia blobs need them in order to do their thing.

      --
      ~ C.
    17. Re:Does this... by Enderandrew · · Score: 3, Interesting

      Not that I'm aware of. Even the server 2008 kernel (which allows you to boot into a console) has the graphics in the kernel.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    18. Re:Does this... by Tubal-Cain · · Score: 2

      I was referring to Wayland, not nVidia's drivers. Sorry for the ambiguity.

    19. Re:Does this... by Cyberax · · Score: 5, Informative

      No, Vista removed the most complex bits of drivers from the kernel space. In essence, Vista kernel now controls modesetting, command submission, memory allocation and GPU scheduling. Also, some legacy graphics functions and some parts of USER subsystem remain in the kernel, but by now they are very well debugged and stable.

      The rest (like compiling shaders and window compositing) is done in user-space.

      X.org actually slowly moves to this model.

    20. Re:Does this... by squiggleslash · · Score: 2, Informative

      NT was a ground up rewrite. There's little OS/2 has in common with NT, even though the original intent was that NT be OS/2 version 3. Early in the project, Microsoft ditched the idea, and all that's left of OS/2 is a user-space subsystem that provides most of the OS/2 API with the glaring exception of Presentation Manager (the OS/2 GUI.)

      Microsoft's decision to throw away OS/2 and stop working on it in favour of NT is why Microsoft and IBM split, and then ended up hating one another and acting like children.

      --
      You are not alone. This is not normal. None of this is normal.
    21. Re:Does this... by BronsCon · · Score: 4, Funny

      And that a better X server isn't going to a lot of people to Linux.

      There, fixed that for ya.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    22. Re:Does this... by Anonymous Coward · · Score: 4, Funny

      There, that for ya.

      ugh! ug!

    23. Re:Does this... by Randle_Revar · · Score: 5, Informative

      Kernel modesetting is a good thing, but there is no need to put the drivers into the kernel. KMS gets you lots of good things: BSoD (much better than the display freezing with no error message), flicker-free boot, and X could be moved away from needing to run as root.

      As far as the drivers themselves, the best thing for them will be the move to the Gallium3D driver model, which will greatly reduce the amount and complexity of code needed to write a new driver. [1][2][3]

      Keith Packard talks in his blog [4] about kernel mode drivers, but this seems to be KMS + memory management (GEM or TTM), not having, say, the entire Radeon driver in kernel. I guess it depends on how you define drivers. or maybe the difference between classic 2d drivers and DRM drivers (I have never figured out the details of that)?

      >Today's X servers still support all kinds of usermode drivers, just so that 95% of configurations can thunk it all to the kernel.

      All X drivers are usermode. There are graphics drivers that are in the kernel (fbdev), but these are unrelated to X.

      Note: I am not a X dev or even a real programmer, but I follow X blogs, mailing lists, etc, and I try to learn as much as possible about X. If I am wrong about anything here, please correct me!

      [1] http://www.tungstengraphics.com/wiki/index.php/Gallium3D
      [2] http://akademy.kde.org/conference/presentation/9.php
      [3] http://zrusin.blogspot.com/search/label/Gallium3D
      [4] http://keithp.com/blogs/kernel-mode-drivers/

    24. Re:Does this... by Tubal-Cain · · Score: 2, Insightful

      We have LSB for that.

    25. Re:Does this... by Anpheus · · Score: 3, Insightful

      Working well for you, I see.
      --
      </sarcasm>

    26. Re:Does this... by 93+Escort+Wagon · · Score: 3, Funny

      u!

      !

      --
      #DeleteChrome
    27. Re:Does this... by PitaBred · · Score: 2

      Fuck NVidia. Let them fix their binary blob when it breaks. There's a reason it's open source... so people can have the freedom to do the right thing, rather than half-ass backwards compatibility (I'm look at you, win32, and WoW-64).

    28. Re:Does this... by RAMMS+EIN · · Score: 2, Interesting

      There already is one API to program against if you're a hardware developer who wishes to support Linux. It's called Linux, and it's used by all Linux distributions.

      If you are software developer, there are a number of APIs you can choose from that will work across all reasonable Linux distributions.

      Really, doing cross-distro work isn't that hard.

      What is hard is making your software work on any Linux distro at all if you're going about it the wrong way. Linux isn't about ABI stability, and, with the plethora of different library versions out there that change during upgrades, neither is the userland. The only way to make your software work across different versions and/or different distros is to allow people to compile the code themselves, at least the part of the code that interacts with the operating system. But once you've done that, all the work of compiling and integrating with the plethora of different distros out there can be done by others, and will be if they value your software enough. You don't have to worry about that.

      --
      Please correct me if I got my facts wrong.
    29. Re:Does this... by __aardcx5948 · · Score: 4, Interesting

      Then why not force NVIDIA to evolve with Open Source by deprecating the pieces that you/we want to get rid of. I guess ATI would adapt more quickly if not right away, because of their openness. The same with VIA and Intel. NVIDIA would start seeing people buying ATI cards instead for their Linux boxes. (this might've started already though, with the 8000 series and above 2D fiasco)

    30. Re:Does this... by squiggleslash · · Score: 2, Informative

      They have the same I/O manager

      They both have I/O managers

      the same split memory between the user and the kernel

      You sure VMS isn't a rip-off of Linux?

      the same method of demand-paged virtual memory

      They both have demand-paged VM, like most modern operating systems

      the same executive layer

      They both have executive layers.

      the same 32 levels of interrupts

      Wow, so Intel was in on it too?

      the same scheduling priorities

      They both have scheduling priorities, like most modern operating systems - they both happen to have 32 levels.

      the same object representation of system resources

      Oh come on!

      Things you missed: they both have kernels, they both have file systems, they both support filesystems that have a dot separating the name from the extension, they both use ".EXE" as an executable file type, they both have command lines, they both...

      I'll say it again, slowly: VMS is a monolithic operating system. Windows NT uses a microkernel. Like all operating systems, you can find features of one that's in the other. But NT resembles VMS about as much as it resembles Unix. Most of the key components do not resemble one another in any way, the file system, shell (and role of the shell), API, and general architecture are so completely different I'm amazed people continue to bang on with this garbage. You can even SEE WHERE THE SODDING THINGS CAME FROM. Win32 is the Windows API, upgraded to a 32 bit version. Have you seen it? It predates Cutler joining Microsoft by about seven years. It was developed by people who'd seen more Unix than they'd seen VMS. The file system? An advancement on DOS, complete with 8.3 filenames and basic "stream of characters" type files (no indexed record-based file system for you.) The shell? Again, based on DOS, itself based originally on CP/M but with minor modifications, and the shell has little or no use by the operating system itself, unlike VMS where its central to the operating system's operation.

      There's no comparison. They're not the same operating system. People come up with ways they're similar, but ignore the fact that you can compare any two operating systems and find similarities. AmigaOS also has an executive, is a microkernel, and has 32 levels of process priority. Is it based on VMS, or was Windows NT based on AmigaOS?

      --
      You are not alone. This is not normal. None of this is normal.
  3. Its good to see Red Hat developers doing this by number6x · · Score: 4, Interesting

    While I'm a firm believer in "If it ain't broke, don't fix it", I think it is good to see Red Hat developers (or any developers) looking to future needs and being allowed to devote development time towards those needs.

    Xorg isn't broken for most users right now, but planning and creating alternatives is a good idea.

    1. Re:Its good to see Red Hat developers doing this by Anonymous Coward · · Score: 3, Insightful

      I'm pretty sure Xorg has (or had) the same goals as this Wayland project. Xorg was meant to add all the modern features not in XFree. In fact, the synopsis of Wayland reads just like the synopsis of Xorg. What the hell are they doing?

      The big question is: Will vendors port to it? (nVidia, ATI, Intel, etc)... and by that I mainly mean nVidia.

    2. Re:Its good to see Red Hat developers doing this by CarpetShark · · Score: 5, Funny

      While I'm a firm believer in "If it ain't broke, don't fix it"

      We're talking about X. You seem to have wandered onto some other topic. ;)

    3. Re:Its good to see Red Hat developers doing this by Fred_A · · Score: 4, Funny

      Poor analogy, you can still use your buggy whip on your bicycle (especially tandem bicycles).

      --

      May contain traces of nut.
      Made from the freshest electrons.
    4. Re:Its good to see Red Hat developers doing this by ArsonSmith · · Score: 2, Funny

      Umm, did someone try to fix the buggy whip? Or did you mean Wayland is a buggy WIP?

      The buggy whip example is to illustrate the attempt to mandate halting progress by hindering it with government intervention. It therefore doesn't really apply here.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    5. Re:Its good to see Red Hat developers doing this by beav007 · · Score: 3, Insightful

      Wait, what?

      You'll note that modern wheels do not have stone hubs. The wheel was not simply built on (or around). The person who decided that wood would be better scrapped the whole thing and started again. It's round, just like the stone wheel, but lighter, easier to work with, and apart from the idea, completely new.

      The modern wheel, while built on the same principles, is a completely new thing, compared to the stone wheel. Sure, you could build on the stone wheel, but you'd end up with a rubber tyre on 200kg of stone. Not a huge improvement.

      There is nothing wrong with reinventing the wheel every so often. It seems like a lot of work at the time, but sometimes the result is worth it.

  4. There is alreeady a brainstorm... by dotancohen · · Score: 5, Interesting

    For including Wayland in Ubuntu:
    http://brainstorm.ubuntu.com/idea/15205/

    --
    It is dangerous to be right when the government is wrong.
    1. Re:There is alreeady a brainstorm... by martin-boundary · · Score: 3, Funny

      If they use the code in Ubuntu, will they name the meta package yutani?

    2. Re:There is alreeady a brainstorm... by auzy · · Score: 2, Insightful

      Yes, and you'd have to be an idiot to vote to make wayland the default X-server, when its not even ready to run Gnome. The project could fail by the time its done, or a better one might arise in that time. I strongly urge people NOT to vote for this! It would be a VERY silly move

  5. Re:Been done (and failed) like a million times? by carbon+68k · · Score: 4, Informative

    Uh, what else? None of these have replaced the X11 standard.

    True, but this isn't aiming to replace the X11 standard for all purposes, at least not for the moment. The article/interview seems to make it clear that the goal is to do lightweight sorts of things - login managers and screen savers first, remote desktop access later - that don't have necessarily complicated needs beyond being able to fire up quickly, not take up that much space, and hopefully look nice in the process.

    This isn't the New Linux Desktop. (unless it is.)

  6. Re:Been done (and failed) like a million times? by AKAImBatman · · Score: 4, Informative

    Xorg/XCB anyone?

    If I understand the article correctly, this is a new X server, not a new API or protocol. Programs would still compile against XLib and still access the server through TCP/IP or unix sockets. The only difference is that the rendering engine that interprets those commands has been swapped out.

    Then there is that stuff from NeXT which is similar to OS X.

    OS X *is* NeXT. So I'd say that "that stuff" went to good use.

    Then there is that BeOS-like server.

    Not sure what you're referring to. But BeOS was awesome. Especially when it came to multimedia.

    Framebuffer.

    LFB is a pretty standard module in Linux these days. It's why Linux can boot with fancy graphical screens rather than staring at boring off-white text.

    I think there was some sort of OpenGL server a number of years ago.

    OpenGL is a standard part of modern X servers. Are you perhaps thinking of Project Looking Glass? That was an attempt at creating a new window manager rather than a new API. It's still under development, but it's coming along at Enlightenment speeds. Its development should not be impacted by a new X server.

    Uh, what else? None of these have replaced the X11 standard.

    I don't think that most of them were trying to.

  7. Re:Been done (and failed) like a million times? by KasperMeerts · · Score: 2, Informative

    This doesn't replace the X11 standard. It's just another implementation of it. I guess this means porting applications is unnecessary, except for maybe a relinking.
    The chances that X11 gets replaced are pretty small but the replacement of X.Org seems a bit more plausible.

    --
    As long as there are slaughterhouses, there will be battlefields.
  8. HELL yes. by goodmanj · · Score: 5, Interesting

    eliminate the cruft

    ABOUT F'ING TIME.

    X has been a case study in How Not to Write Software for twenty years now. Once upon a time, it was a pretty cool experimental software project. But for twenty years now, there have been exactly two kinds of X development:

    A) Throw a layer on top of it to make it useable for normal people

    B) Throw another driver underneath it to make it just barely work on your particular hardware.

    Project A is fine until someone has to get beyond your little layer, in which case it's .xinitrc hell. Project B is just treading water, postponing the day that we all realize this indispensable software tool is a gigantic house of cards headed for collapse.

    Probably some XFree86 dudes are reading this. Let me just tell you I appreciate your diligence in the nightmare of a job you've set yourself to, but the time has come. Take off and nuke the site from orbit. It's the only way to be sure.

    1. Re:HELL yes. by dondelelcaro · · Score: 5, Insightful

      Project A is fine until someone has to get beyond your little layer, in which case it's .xinitrc hell.

      What in the world does the X11 rendering engine have to do with "useable for normal people" or the "xinitrc"?

      X11, and by extension, the X server, is a layer whose job is to put stuff on screen. That means dealing with the wibbly bits (mice, keyboards, displays, video cards, tablets, pedals, etc.) that cause the stuff on screen to be displayed or interact with the stuff on screen.

      But for twenty years now, there have been exactly two kinds of X development:

      Furthermore, it's not like people haven't been modifying how the bits in between your "Project A" and "Project B" work, either. See xrandr 1.2 and 1.3, for example, as well as the countless other projects working on this very part of X11.

      That's not to say there aren't problems with X11 and the various implementations of the X server, but it'd help to at least have studied what's actually going on before attacking the work of those who are actually doing the work.

      --
      http://www.donarmstrong.com
    2. Re:HELL yes. by MostAwesomeDude · · Score: 5, Interesting

      Fun fact: Every single bit of development put into X.org since the big fork has been undoing the mistakes committed during the XFree86 years. Making X modular, reworking font handling, introducing EXA, crafting AIGLX, even kernel mode-setting, all of these are undoing bad things from the past.

      KRH, who's been writing Wayland, also is responsible for parts of GEM, RGBA OpenGL visuals, and other GLX improvements. Neither he, nor any of us, are planning to just abandon code that's still viable. Tender love and care goes a long way with bit-rotted code.

      --
      ~ C.
    3. Re:HELL yes. by goodmanj · · Score: 2, Informative

      Replyin' to my own comment, since it's drawing some attention...

      A little background: I've been only dabbling in the free Unix game since I switched to Mac a few years back -- partly *because* of my frustrations with X11 -- so some of my impressions are out of date, There's no question the UI layers on top of X have improved by leaps and bounds since then. And I'm by no means an X developer.

      Yes, I understand that X is intended to be a rendering engine, and that user interaction isn't its main job. Yet somehow, it seems to me that I *constantly* end up having to muck with userland X configuration scripts and reading cryptic X man pages in order to get my application running, if that application is anything more arcane than a web browser. If the goal is to make a black box labeled "No user serviceable parts inside", then it had better work without twiddling. And it doesn't.

      Sounds like Xorg is making good progress, but I'm hoping for more. Borrow as much Xorg code as you can, but make the leap and blow a gigantic hole in backward compatibility, and focus on building a top-notch modern rendering system. Talk to the Gnome and KDE dudes to make sure you've got an API they're prepared to handle, and let xeyes and xclock and twm and fvwm slowly twist in the wind.

      Every piece of software reaches a point where a ground-up re-engineering (which is not the same as a ground-up rewrite) is the best option, even if you lose backward compatibility. Apple, for instance, seems to do this about every 10 years. Not saying you should emulate them, but 20 years is just too damned long.

  9. But does it run... by Wesley+Felter · · Score: 2, Funny

    xclock? xeyes?

    1. Re:But does it run... by ArsonSmith · · Score: 4, Funny
      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  10. Wayland-Yutani by spankey51 · · Score: 5, Funny

    Wayland-Yutani, "Building better X-servers"

    --
    -ubuntu others as you would have others ubuntu you.
  11. Notes for the Uninformed by mpapet · · Score: 2, Informative

    1. it's very primitive. If you've got a VM to try it on, then go for it.

    2. As AC on another post correctly listed the projects like this that have come before it. So, before everyone starts beating-up on X11, they need to check out the ample supply of unpopular alternatives.

    The framebuffer is rarely discussed as yet another alternative to X11.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
    1. Re:Notes for the Uninformed by setagllib · · Score: 5, Insightful

      It's rarely discussed because it's extremely slow. Even on low resolutions it takes an absurd amount of CPU power and latency. On high resolutions it's like a slide show with an awkward guest speaker. There's a reason we have hardware acceleration even for 2D.

      --
      Sam ty sig.
    2. Re:Notes for the Uninformed by setagllib · · Score: 2, Interesting

      I think he means the administrative overhead of X11 protocol management is not the bottleneck, so it may as well be written in Python. The mathematically intensive and low-level parts, which are only part of the overall code base, can remain C. I don't necessarily agree, as this would increase latency for protocol handling, which really adds up.

      This is a common pattern in modern software development - very simple, mechanical C code wrapped by high level, elegant Python (or your scripting language of choice). You get 99% of the performance of pure C with 1/100th the development time. I've done the same in high-performance scientific computing projects with great success.

      --
      Sam ty sig.
  12. What's wrong with X... by Tetsujin · · Score: 5, Interesting

    Xorg isn't broken for most users right now, but planning and creating alternatives is a good idea.

    In a sense I think it really is... Admittedly, not necessarily in a way that everybody would notice, as you said - but still...

    What X is good at, basically, is putting simple UIs over a network. For instance, I can run XEmacs remotely over the internet, and performance is decent.

    Presently, this feature of X is being under-utilized. We're using a network-transparent protocol for the display server, but most people aren't running apps from remote hosts, and applications aren't being written with this in mind.

    Basically, for all the overhead associated with something like X to be worthwhile then one of a few possible conditions must be satisfied. Either applications must be designed such that they work efficiently over the network with the present limitations in the display protocol, or the display protocol must be enhanced or altered such that today's applications can run reasonably well over a network link.

    Running X apps over an internet link versus a LAN is an extreme case, admittedly - but nevertheless, an old Athena app can do it, while the simplest of GTK or QT apps can have a real problem with it...

    --
    Bow-ties are cool.
    1. Re:What's wrong with X... by fat_mike · · Score: 3, Interesting

      Hell, I run MythTV over the Internet. By that I mean I run mythfrontend on the server via X11 to my non-Linux work computer.

      Works pretty well.

    2. Re:What's wrong with X... by Anonymous Coward · · Score: 3, Interesting

      Huh? ssh -X computer_name. Run X programs securely. Easy.

    3. Re:What's wrong with X... by pato101 · · Score: 2, Informative

      and with -C as well, I speed up at low latency links. Further FreeNX/NX do the trick for even lower latency links, also under a ssh tunnel.

  13. X11 has replaced the X11 standard... by amorsen · · Score: 3, Informative

    None of these have replaced the X11 standard.

    X11 in 2008 is a lot different from X11 in 1998. Much of the X11 API is never used, and therefore you can get away with making a much simpler X-server which only supports the new calls. It won't run very old programs without some sort of compatibility box, but those are fairly rare.

    --
    Finally! A year of moderation! Ready for 2019?
  14. Y windows; drivers by bcrowell · · Score: 4, Insightful

    There's another project called Y Windows, which also aims to replace X with something that has less historical cruft.

    The real question in my mind is whether this kind of thing does anything to address the big problems users are really encountering. Of course, not every open source project has to make large numbers of users happier. But the author of Y Windows says, for example, "I've got tired with the state of desktop GNU/Linux. Most of the problems that I see with it can be traced back to the underlying window system, X. So I decided to write its successor... "

    For me as an end-user, the big issues are simply hassles with xorg not correctly recognizing LCD screens, so that it sets them to an inappropriate resolution, or the image appears offset. I have close to zero interest in gaming, so personally I just use the onboard video of my mobo, with only 2-d driver features, but the impression I get from people who do care about gaming (or fancy WMs) is that the big issue is drivers, not the internal structure of X.

    As far as programming, the structure of X also seems like kind of a non-issue. Sure, X's APIs are heinously ugly, but almost nobody uses them directly.

    The advantages listed by the article are things like a more manageable code base, a smaller memory footprint, and elimination of rendering artifacts. To me, none of those seem like major issues that I was all that worried about.

    1. Re:Y windows; drivers by Zaurus · · Score: 5, Informative

      I remember when Y windows was slashdotted in Feb 2004. It sounded pretty interesting. Unfortunately, it also looks like there hasn't been a single news item on their web site since Feb 2004, and their "community wiki" link points to a domain-squatter-ad-site. Also, the downloads match the version announced in 2004.

      It's dead, Jim.

  15. Article misunderstands concept? by Anonymous Coward · · Score: 5, Interesting

    The article describes this as a "new X server". However it quotes the author of said program pretty much implying this is some kind of a new, non-X video interface. He talks about "porting" GTK+ from X, and about writing native applications for it and a "new, rootless X server" in order to be able to run X apps. All things that would not be necessary if this were an X server.

    In other words, this is not an X server.

  16. Re:Two decades is more like it by xoundmind · · Score: 3, Funny

    I'm still stuck on the Andrew Window Manager.

  17. Canonical by Enderandrew · · Score: 4, Interesting

    Shuttleworth said he is going to pay devs to work on major upstream projects. He should focus on this. For one, it would affect both KDE and Gnome users, and it would solve a major problem with Linux. If he really wants Linux to compete with OS X in terms of interface, he should focus on the X Server first.

    That being said, I hope Novell chips in some dev support, and that the KDE, Gnome, QT and GTK+ devs all chime on what they'd like to see changed.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:Canonical by Just+Some+Guy · · Score: 2, Informative

      If he really wants Linux to compete with OS X in terms of interface, he should focus on the X Server first.

      Why? What do you personally dislike about X in general (or X.org in particular)? I installed Ubuntu 8.10 on my work Dell and it correctly autoconfigured everything from my subpixel antialiasing on my LCD to my 7-button Microsoft trackball to my Model M keyboard, using the open source accelerated Radeon drivers for my ATI card. I have a nice, composited desktop with no tweaking necessary. What more should I be expecting from my graphics layer?

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:Canonical by Enderandrew · · Score: 3, Insightful

      And yet for many users they must manually edit and configure xorg.conf to get anything to work, and sometimes they never get it to work.

      There are tons of API calls that haven't been used in years, but no one wants to cut cruft or deprecate.

      Xorg is painfully slow, and we're still working around ancient legacy code rather than designing for modern systems.

      As for all that auto-configuring, honestly you can credit Ubuntu with plenty of that. Try a major distro like Ubuntu or openSUSE and you'll see the installer configure most of the hardware. Now try Gentoo which doesn't autoconfigure X and see how X performs with your hardware.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  18. Re:Been done (and failed) like a million times? by RedK · · Score: 4, Insightful

    Port GTK/QT to this server's API ? If this server doesn't support a version of the X11 standard, then it's not an X server. Since it is being called an X server, no recompilation should be necessary, unless you're using X extensions that are not supported.

    --
    "Not to mention all the idiots who use words like boxen."
    Anonymous Coward on Monday August 04, @06:49PM
  19. Seems to be in very early development by Snowblindeye · · Score: 4, Informative
    According to Article (I know, I know: I read it... I'm not from around here) this seems to be very early in its development. So don't rm your X server yet.

    Though before you think this will replace the current X.Org Server, Kristian explains "at this point wayland is just a prototype/playground for some ideas I've been toying with."

  20. Yes, network transparency by jonaskoelker · · Score: 2, Insightful

    The project implements a new X server. Clients (i.e. your applications) link against the gnome library which links against ... which links against the X library, which talks to the X server via tcp.

    The X forwarding in ssh works like any other port forwarding: listen on the port, grab the data, send it through the ssh tunnel, dump it at the target port on the other side.

    That's the simple version. Add to ssh some special-casing for X, and add to xorg and xlib a speed hack that lets it use unix sockets or shared memory instead of tcp. Not consequential.

    Unless the server only implements the speedhacked ways of transferring data between clients and the server, you'll have X forwarding.

    Most clients are on the same machine as the server, so implementing shared memory first seems like a good move, but X forwarding is used so often that the outcry would be massive if network capability is saved for last.

    Besides, I'd guess that data is transferred in the same format independent of how it's transfered; so the work to do tcp instead of shared memory is minimal.

    Don't panic :)

  21. Re:Finally? by Hatta · · Score: 4, Informative

    You don't know what you're talking about. When not using network transparency, X.org uses unix domain sockets which are very fast. Given that you've got to do IPC somehow, and a well designed protocol will work just as well over TCP sockets as unix sockets, you basically get network transparency for free.

    --
    Give me Classic Slashdot or give me death!
  22. X11 - The X Windowing System by Anonymous Coward · · Score: 5, Insightful

    I hear a lot of (I bet) young people clamoring for X to die, and that would somehow improve Linux or Unix.

    X does not need and should not be allowed to die. Sadly X11 is probably one of the coolest pieces of misunderstood software on the planet. It is a bit dated and it does need a code cleanup/refactor, but because of proper design, that can happen without breaking the system.

    To those who have *no* understanding of X, they should try this:

    ssh -XC some_linux_machine
    eyes

    What happens is that the "display" is a network device. Windows terminal server and citrix, even today, can't easily separate application from display. X has had it for years. It isn't an afterthought requiring drivers to probe and figure out what got changed on the display surface and send a block over the network (like citrix and VNC), no the display is rendered over the network.

    X11, IMHO, is one of those hidden jewels in Unix that don't quite get. They focus on trying to make it like Windows or be a gaming platform, but UNIX is a "productivity" platform.

    Like I said, I'm all for refactoring, cleanup, cruft-removal, etc. to the codebase, but keep X11.

    1. Re:X11 - The X Windowing System by paulbd · · Score: 4, Insightful

      X11 does not blit the entire damn window across the network. Its a client/server architecture and what is passed across the network are requests by the client to ask the server to draw <something>, where <something> was envisaged as a mostly abstract entity. It is true that if you application does nothing but push images or video into a window, then there is little alternative to blitting across the network, but this is not what is happening in the majority of apps today. You seem to have about a similar level of (mis)understanding of what AJAX is doing, but I won't get into that here.

    2. Re:X11 - The X Windowing System by Epillume · · Score: 2, Insightful

      HTML+AJAX is doing now what X11 should've been doing 20 years ago. I don't know enough about Citrix or WTS to know how thin their client is, but I'm betting it's a lot thinner than X11.

      That makes absolutely no sense. HTML/AJAX interfaces are anything but consistent. Every application has its own interface. X is used to display a complete GUI on top of a system with respect to its hardware and configuration while HTML/AJAX depend only on a compatible browser and a javascript engine. It doesn't make any sense to compare X11 to HTML and AJAX, they're different things.

    3. Re:X11 - The X Windowing System by quintesse · · Score: 2, Informative

      And why modded _you_ insightful? The X11 protocol most definitely does NOT "blit the entire damn window over the network". That's how things like VNC and MS' Remote Desktop work (although with a lot of compression to make it workable).

      But it is true that the protocol was made to work over relatively fast local network connections so not much thought was put into limiting the amount of traffic.

      But if you want X over a slow connection you could try NX (http://en.wikipedia.org/wiki/NX_technology).

    4. Re:X11 - The X Windowing System by serviscope_minor · · Score: 3, Insightful

      And X has probably given unix wankers the most wet dreams of any software project on the planet.

      Ah, insult the people. A sure sign of a strong technical argument.

      Give me a break. Atoms stay around in memory forever, by design.

      My god. The horror. My xserver has been running for a few weeks and:

      xlsatoms | wc -c

      gives 14746. That's a whole 14KILO bytes permenantly taken up by atoms. This includes the lavishly large number of atoms created by GTK and QT based programs. I have not one machine (including my Zaurus) where 14kB is a problem.

      There's no audio.

      Er, it's a graphics system.

      It has the overhead of packing/unpacking data into structs.

      Huh? Doesn't any API have this problem?

      You can use shared memory, but it's no panacea.

      It's also unnecessary and doesn't give much of a speed increase.

      Lots of complicated stuff like ICCCM

      ICCCM is complex and not that great. On the other hand, with the years of hindsight, large sections (some quite interesting) have dropped completely out of use and are essentially unimplemented. Commonly used sections like copy/paste work very well and are not complex.

      and Visuals and xauth. Ad hoc things like cut and paste via shared secrets.

      Copy/paste works very well and is elegant. I like the dual clipboard system, and the way that XDnD is/was a very small add on, using the same mechanism.

      Can't disconnect/reconnect the same client.

      That depends on the client.

      Lots of unused (even at the time) primitives like jaggy lines and circles designed for 1-bit displays.

      I don't consider myself old, but I've used X11 running on 1 bit displays. They were cheap and so some universities ahd them in significant quantities. I'm pretty sure it's not possible to draw a smooth line or circle on a 1 bit display, but if you know how, feel free to revolutionise display technology.

      The list goes on and on. Seriously I could fill pages of just mentions of the problems, assuming you to know the details.

      Your list is, so far rather uninformed. Have you ever programmed with XLib or examined the X protocol? Are you just regurgitating one of the more peculiar slashdot memes?

      --
      SJW n. One who posts facts.
    5. Re:X11 - The X Windowing System by Alioth · · Score: 2

      Not only are you rude and arrogant, you are almost entirely wrong in every important respect.

    6. Re:X11 - The X Windowing System by dkf · · Score: 2, Informative

      What X11 does is blit the entire damn window over the network.

      No, not unless you're using the crappy toolkit from hell or trying to do compositing without hardware support. Usually X11 works by sending higher-level instructions like "draw a line from A to B".

      HTML+AJAX is doing now what X11 should've been doing 20 years ago.

      Solving a different problem through the addition of horrible hacks and a security arms race? O RLY?

      I don't know enough about Citrix or WTS to know how thin their client is, but I'm betting it's a lot thinner than X11.

      It's quite possible to slim things down by making more assumptions, resulting in less portable applications. I'd not rush to declare that this makes one better than the other though; X11's stood the passage of time remarkably well compared with other things of the same vintage (let alone the products you mention, which came much later and could hence incorporate a lot of experience).

      Those who don't understand exactly what X11 does are doomed to rubbish it and, by doing so, look foolish.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    7. Re:X11 - The X Windowing System by cryptoluddite · · Score: 2, Interesting

      Ah, insult the people. A sure sign of a strong technical argument.

      Correlation is not causation. How's that go?

      xlsatoms | wc -c gives 14746. That's a whole 14KILO bytes permenantly taken up by atoms.

      It's an information leak.

      Er, it's a graphics system.

      Used to create a user interface. User interfaces should have audio, and support video capture, etc.

      It has the overhead of packing/unpacking data into structs. Huh? Doesn't any API have this problem?

      No, not the ones that aren't network protocols. Most APIs pass their data as parameters, in registers, or as pointers.

      ICCCM is complex and not that great. On the other hand, with the years of hindsight, large sections (some quite interesting) have dropped completely

      ICCCM only exists because X11 has no thought to actual applications interacting with each other.

      Lots of unused (even at the time) primitives like jaggy lines and circles designed for 1-bit displays.

      I don't consider myself old, but I've used X11 running on 1 bit displays. They were cheap and so some universities ahd them in significant quantities. I'm pretty sure it's not possible to draw a smooth line or circle on a 1 bit display, but if you know how, feel free to revolutionise display technology.

      The problem is they are still jaggy on N-bit displays. That's why nobody uses them.

      Your list is, so far rather uninformed. Have you ever programmed with XLib or examined the X protocol? Are you just regurgitating one of the more peculiar slashdot memes?

      Says you. I've programmed in Xlib directly, including talking the protocol in binary for one project (where Xlib was too large to use). I've used Xt, Motif, and then also the newer toolkits of course. I've also hacked on the server source a little bit (not open source).

  23. Maybe too late. by Stalyn · · Score: 2, Informative

    Jon Smirl and David Reveman lobbied for a new xorg server built on OpenGL. It got little support from the community especially from Red Hat and Novell. Personally I think this was one of the greatest missed opportunities in the history of OSS. We could have had a modern xorg server replacement which rivaled Apple and Microsoft. Now we have the main xorg branch floundering from lack of interest and developers. Not to say there hasn't been progress made but no one can argue that xorg has the resources available to compete.

    Ironically someone who argued against X on OpenGL now is working on his own xorg server replacement. Good luck to him and I hope he has better support.

     

    --
    The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
  24. Syncing to vblank? by Trogre · · Score: 4, Insightful

    At the same time, I'm trying to fix some of the problems with composite that we still have in the X server; input redirection, window resizing, syncing to vblank, throttling of animations and atomic, consistent redrawing.

    That feature alone would make this rewrite worthwhile. This has been missing from our desktops for far too long.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  25. Catch up to OS X circa 2001. by toby · · Score: 2, Interesting

    ...or NEXTSTEP from 1989 onwards. :)

    --
    you had me at #!
  26. Re:Network Transparency? by jedidiah · · Score: 4, Informative

    1) NO ONE programs with xlib.

    2) X doesn't "suffer" from being network transparent from the point of view of the user.

    I don't even want to think about setting up some kludge like VNC to deal with a future Unix GUI subsystem that isn't network aware.

    With X, I can just treat a network of machines like one big hive mind. Just make sure to set $DISPLAY.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  27. Re:Finally? by uglyduckling · · Score: 3, Informative

    I used it last week, I needed to change some settings on my MythTV server and couldn't be bothered to walk to the shed (!) so ran SSH -X from my laptop. Yes, I could do that with VNC or similar but it's nowhere near as neat having to run a desktop in a window on a desktop. Remote tunneled X allows me to run programmes on a remote machine seamlessly on my own desktop and is a feature that is used by thousands of people - maybe a lot more - every day. And it really doesn't slow things down at all.

  28. this has stumped me for years by enos · · Score: 5, Interesting

    We went through the same thing when switching to X.org from XFree86. When will nVidia support it? When will ATi support it? When will my driver be ported?

    Why is X dealing directly with the drivers anyway? Why isn't there a thin graphics layer in Linux, like a framebuffer that supports acceleration? Write X to that. Then you can switch your X or use whatever GUI you want and you hardware still works. Freedom to choose, right? The mantra of Open Source?

    I remember a bunch of very promising GUIs coming up in the early 2000s that really struggled without enough drivers. "The source is open, just port the thousands of drivers!" yeah sure.

    --
    boldly going forward, 'cause we can't find reverse
    1. Re:this has stumped me for years by Goaway · · Score: 3, Insightful

      Why isn't there a thin graphics layer in Linux, like a framebuffer that supports acceleration?

      This is not the reason why it's not done in Linux, but modern graphics cards accelerate some pretty high-level functionality, so your "thin graphics layer" would not stay very thin for long.

    2. Re:this has stumped me for years by RAMMS+EIN · · Score: 4, Informative

      ``Why is X dealing directly with the drivers anyway? Why isn't there a thin graphics layer in Linux''

      Don't forget that Linux is not the only game in town. X.org suppors Linux, but it also supports FreeBSD, NetBSD, OpenBSD, Solaris, UnixWare, LynxOS and HURD. I think there are actually more, but those are the ones listed in the manpage.

      If we do as you propose and make the operating system kernel supply the drivers, drivers would have to be written for all those 7 kernels, instead of just once for X.org. What we have now is exactly how I like things to be: a common driver API across operating systems, so that drivers need be written only once.

      --
      Please correct me if I got my facts wrong.
  29. Context by subreality · · Score: 3, Informative
  30. Let's face it by ClosedSource · · Score: 2, Insightful

    Networks really aren't fundamental to windowing environments. X was designed around the limitations of most Unix configurations of the time (a single server with clients running on fairly dumb terminals). When real workstations became available, network transparency became a nice feature that wasn't really needed in most cases. The question is whether the added complexity is justified by the importance of the feature.

  31. X11 is a really bad Single Point Of Failure by Anonymous Coward · · Score: 2, Insightful

    Sorry to burst your bubble, but your whole post is basically clueless.

    Yes, we know that X11 is networked, and that this functionality is "cool". But that doesn't mean that the design of X11 is good.

    In engineering terms, the X server is currently a massive single-point-of-failure. Despite all the "coolness" you want to give it, when the X server dies, it kills the many hundreds of client processes that are connected to it on a busy machine. That's a ton of work gone down the tubes just because someone way back coded the X server as a noddy star point without disconnectable links, and now we are still living with that legacy.

    The X server is a large program, and large programs always have latent bugs, and latent bugs cause programs to crash in corner cases. That is why X hangs or crashes occasionally when you do something out of the ordinary, or when you stress it too much. One process failing isn't generally too much of a disaster in other cases, but in the case of X it is always a disaster because of all the X clients it takes down, and the disaster is unrecoverable.

    So no, sorry, but X11 is not designed well no matter how "cool" its networking may be. It badly needs a rethink for key system reliability reasons. SPoFs like this are no way to design a professional graphics subsystem.

  32. Great point! by warrax_666 · · Score: 2, Interesting

    That's actually a great point.

    It's particularly annoying if you have some intermittent problems with, say, the mouse disappearing and the only way to recover is to restart X. Being able to restart X without killing all the clients would change such a problem from "completely ruins my entire user experience" to "mildly annoying".

    --
    HAND.
  33. Re:How ghetto are you anyway? by Anonymous Coward · · Score: 2, Insightful

    I don't buy things I don't need. What's your excuse for overcompensating?

  34. NeWS was good and bad by billstewart · · Score: 4, Interesting

    When it was good, it was very very good, but when it was bad, well, it was a windowing system written in Postscript that let you pass pieces of Postscript code back and forth between client and server to get things done, which could be appallingly insecure and buggy. (The fix for this was that Gosling later wrote Java with things he'd learned from NeWS.) (Postscript is essentially FORTH souped up with font knowledge, but it's good enough to handle objects in.)

    Postscript means that WYSIWYG, really, rendered however you'd like. The terminal emulator, for instance, used Postscript, rendered at screen resolutions, and if you needed to print it, it rendered them at printer resolutions, or if you iconized a terminal window, that just set to font size to 1 point / 1 pixel, and you could still see any interactions happening in the icon. My boss was around 60, and constantly switching pairs of glasses if he needed to talk to somebody and also read his computer screen. We set his psterm default to 24-point font, and everything was Just Bigger, and he could just read it without messing around. Mouse tracking worked well, because you could make the tracking happen down in the server without the extra round-trip to the client, so if you had a slow network connection it was ok - you were passing data across the link, not pictures of the mouse, etc.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  35. get bent by LordMyren · · Score: 4, Interesting

    a single distro gaining popularity will be instrumental for standardizing what is expected of Linux for introduction into a larger market

    the flaws in your biased & self interested statement are manifest. manifest and hilarious.

    first off, i dont see what advantage linux has by gaining a larger market. will these corporate interest invest time and code into linux? will they provide free support to end users? will the people joining your standardized Linux gain anything from the homogenized OS they've switched to?

    second, how will standardization improve linux's marketability? to what extend to we enforce homogenization? do we enforce a single wm on all users? do we enforce a single office suite? a single programming language?

    third, how do you plan to tell everyone they must work on the same thing? do you think everyone will willingly conform to the standard patterns you wish to impose and stop working on the things they think are cool?

    Linux's only strength is that it grants developers an open environment to develop novel new things. all I see in your desire is a self interested bid to crush out the free spirited developer spirit and to replace it with something tooled to replace commercial operating systems with something free, for your own good. honestly I dont think you or your desires contribute anything useful to the linux community, in fact I think the desire to make Linux conform to the expectations of the "typical" desktop has been the worst mistake the Linux movement.

  36. Re:Network Transparency? by quintesse · · Score: 2, Interesting

    Boy are you wrong, NoMachine _is_ X! They just use very clever compression schemes to make it usable over slow connections. http://en.wikipedia.org/wiki/NX_technology

    VNC, Remote Desktop, Citrix etc are just kludgey ways to get X-like remoteness for systems that were never meant for it and it's noticeable because they come with severe limitations.

    And for Gnome and KDE being "monstrosities" I don't know where you got that idea from, their respective developers seem to be pretty pleased with them. And Qt, which is one of KDE's pillars, is widely seen as one of the most powerful and easiest to use GUI toolkits. Ah, yes, it's cross-platform as well, which seem to defeat your "broken foundation" statement.

  37. that's not how X works by jcupitt65 · · Score: 2, Informative

    Sorry, you are totally wrong, that's not how X11 works at all.

    The client queues up a set of drawing commands (not bitmaps), at some point the queue gets flushed, and for a local display there's a context switch and the server updates the screen. This is exactly how Windows and OS X work as well. The only difference is that the X11 protocol was carefully designed to be asynchronous, so that when you run over a network connection rather than locally, you don't get killed by latency on round trips.

    Browser apps are nice in many ways, but that's a separate issue from the display architecture.

    Bad things about X11: primitive drawing model, too much hardware management (this is an X.org problem rather than an X11 one, really), a lot of legacy. Most of the things that are actually bad are being or have been fixed.

  38. Re:Network Transparency? by TheRaven64 · · Score: 3, Insightful

    NX does two things that really should be added in to the server. First, it caches pixmaps. X11 was designed for cheap servers which might be memory constrained. These days, you are likely to have a huge amount of RAM close to the display. Being able to store a pixmap on the server would eliminate a lot of round trips. You can actually do this with the XRender extension, but it needs better toolkit support.

    The second is that it is stateless. This is the biggest thing limiting the usefulness of network-transparent X. There is no way of disconnecting a X window hierarchy from one server and reconnecting it to another (or the same one, at a different time).

    --
    I am TheRaven on Soylent News
  39. Latency by bjourne · · Score: 2, Interesting

    Open an explorer window in Windows. Resize it. Notice the flicker and rendering artifacts. Open a Nautilus window in GNOME. Resize it. Notice the horrible flicker and rendering artifacts. This is without compositing. With it, you get other artifacts.

    It doesn't matter what program or what machine you are using. You can compare the same thing using Firefox in Windows and Linux. A much slower Windows machine produces redraws with far fewer artifacts than a high-end Linux box. Since Windows does it better, the must be something wrong with X.

  40. Re:Finally? by jschrod · · Score: 4, Informative
    Actually, on almost all current systems, local X doesn't use sockets, but shared memory. This is available via the MIT-SHM extension since 1991, i.e., since 17 years. No pixmap copying, no serialization/deserialization as one other respondent claims.

    All folks who claim that X's problems lay in it's *ability* to use clients over a network are 17 years late. I.e., they have no clue at all. There are problems with X, but they are elsewhere.

    --

    Joachim

    People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]

  41. XSitOnIt and XRotateBuffers by SimHacker · · Score: 2, Funny

    The X approach to device independence is to treat everything like a MicroVAX framebuffer on acid.

    -Don

    PS: I do like the stuff that's been done pulling the good code out of X and developing decent libraries like Cairo!

    --
    Take a look and feel free: http://www.PieMenu.com
  42. Bad name by uigrad_2000 · · Score: 2, Interesting

    198?-1983: V
    1983-1984: W Window System
    1984-1986: X1 - x10
    1987-2008: X11
    2008: Wayland?

    Sorry, but I won't use it unless it is called X12 or Y.

    --
    Free unix account: freeshell.org
  43. Re:Finally? by TerranFury · · Score: 2, Insightful

    Plus, "ssh -X" (or -Y) just sends drawing commands over the link -- whereas VNC JPEG-compresses everything. Me, I like vector graphics, personally.