Slashdot Mirror


The Power of X

An anonymous reader writes "The license changes in the last version of Xfree86 have caused many distributions to reject the project in favor of the forked X.Org X server. As X.Org prepares to release the second version of the X.Org "monolithic" X Server (dubbed version 6.8), Ars Technica investigates the future of the X platform, as cooperation between X.Org and projects like GNOME and KDE begin to take take hold at freedesktop.org. Already host to an impressive array of projects, it appears that freedesktop.org will become the hub in which other Free Desktop projects can collaborate. Daniel Stone, release manager for freedesktop.org, gets into the details on how it's all going to work, in conjunction with freedesktop.org's upcoming platform release."

37 of 410 comments (clear)

  1. Progress by Zorilla · · Score: 5, Informative

    Looks like the original XFree86 project was going nowhere fast. The distros making the first move to X.org want to make some progress to making Linux (and other Unix-types) ready for the desktop. Hopefully, X.org is the first sign of progress to a backend which will eventually be able to do things a modern desktop will need to do.

    --

    It would be cool if it didn't suck.
    1. Re:Progress by Performer+Guy · · Score: 4, Informative

      If you're talking about the DRI then I have to comment that direct rendering is nothing like DirectX 3. The DRI is an underlying mechanism to get 3D drivers to interface with hardware efficiently and in a modular way, it doesn't affect the higher level ABI in any way what soever. Something like the DRI is essential for efficient hardware acceleration on modern hardware with complexities like high speed DMA from the card. It is completely invisible to applications that don't care. It is not a hack and it's nothing like the crimes Microsoft committed with D3D.

    2. Re:Progress by RAMMS+EIN · · Score: 2, Informative
      I am afraid I have to disagree with your post on about every point.

      ``You hear a lot of bullshit from a lot of people bitching about all the things "wrong with X", but rarely from a well-founded technical basis. More often it's from either a "why is X such a bitch to configure" or "gee those XFree guys are a bunch of assholes."''

      Actually, I think the most persistant complaint is that X is slow. Whichever way you turn it, and whether or not this is actually XFree86's fault, this is true. X apps feel slower than GUI apps on different platforms, even when both use unaccelerated VESA. XFree86 wastes quite a bit of time on expose events, rather than remembering the contents of windows. Finally, even when client and server are on the same machine, display data typically needs to be copied, making performance about half as good as it could be.

      ``Then of course this license thing was the last straw, and that's what forced the distros' hands...they couldn't build their systems at all anymore when core components were GPL'd and either linked to XFree stuff or used its code.''

      No applictions (X clients) have been affected by the license change. See this discussion between RMS and David Dawes, specifically thi message (which gives a good overview) and this one, in which David Dawes writes:

      In the meantime, I
      will defer applying the licence change to any client-side library code.


      In short, RMS was expressing concern that the new license would disallow GPLed applications to be linked against XFree86 libraries. David Dawes offered to install a policy that would ensure GPL compatibility for those libraries that applications link to. He also pointed out that XFree86 holds the copyright on only a fraction of the code, and the rest is under various licenses, including the original BSD license.

      It's also worth repeating that the reason that GPLed code cannot be linked with code under the new XFree86 license is not in the XFree86 license, but in the fact that the GPL specifically disallows this.

      Regardless, I'm still happy that many distros switched. fd.o was doing some truly great things with their X Server, but without massive adoption it would probably have taken a long time for these features to stabilize and become available to a large public - in part because the code was incompatible with the XFree86 base.
      --
      Please correct me if I got my facts wrong.
    3. Re:Progress by be-fan · · Score: 3, Informative

      A) If people say X is slow, and it turns out not to be XFree86's fault, then the people are wrong. They can say that OpenOffice is slow (it is) or Mozilla is slow (it is) or GTK+ is slow (it is), but saying X is slow is wrong (it's not, as proven by apps that *do* run fast on X).
      B) Only OS X remembers the contents of windows. Most other OSs do not. So it's not a problem limited to X, and in general it's not a problem that would be a big deal if dumb applications didn't handle EXPOSE events so badly.
      C) The buffer copy would only make things twice as slow if the *only* thing the server needed to do with each command buffer is copy it to the graphics card. Of course, the actual processing is much more complex than that. In practice, unless you're doing something stupid like drawing single pixels at a time, the overhead imposed by the X protocol is dwarfed by the actual cost of drawing.

      --
      A deep unwavering belief is a sure sign you're missing something...
    4. Re:Progress by be-fan · · Score: 4, Informative

      If you actually benchmark the damn thing, you'd see that it is pretty damn efficient. With a good set of drivers (NVIDIA), 3D is as fast as on Windows, and 2D is within 10% (go to www.rocklyte.com and look at their benchmarks comparing Athene, X, and Windows). My own benchmarks show that with reasonably-sized primitives, you can drive the graphics card at about half it's memory bandwidth, which is very efficient for a general-purpose 2D protocol.
      Also, you're obviously not a programmer if you think people use single pixels to draw movies or text. Movies use the XVideo extension or OpenGL, which stream pixel data in batches to the graphics card. Text drawing uses server-side pixmaps of each glyph, and the normal case involves simply sending some commands to string together the glyphs that are already in video memory.

      --
      A deep unwavering belief is a sure sign you're missing something...
    5. Re:Progress by imroy · · Score: 3, Informative

      My understanding (I've never actually looked too hard at this) was that with videos/movies, you use the Xv extension. That allows the app to decode into a shared memory segment (like the old Xshm extension), and leave the graphics card to do the scaling and YUV=>RGB colour space conversion. You certainly do not send every pixel over the X socket. Otherwise my 1600x1200 display would grind to a halt when playing a movie fullscreen. In reality the player only uses a few percent of my AthlonXP/2400 to decode a DVD or XViD video.

    6. Re:Progress by FooBarWidget · · Score: 2, Informative

      It doesn't take up more bandwidth. It's been tested. With the old core fonts protocol, the client downloads x bytes of glyphs from the server. With Xft, the client uploads almost just as many bytes of glyphs to the server.

  2. Nice Screeny's by daxomatic · · Score: 5, Informative

    Yummie soon available near you http://freedesktop.org/XOrg/X11R68ScreenShots

  3. x.org rules! by DMJC-L · · Score: 4, Informative

    the new xserver kicks ass.. I've got it running on my desktop, compositing is a great effect, and with proper integtration with programs, promises to change the way i use my pc for the better... btw windows don't stutter when I move them! drop shadows are sexy too.. hopefully we'll get PLG features in a compositor in the next few months.

  4. Re:X in Windows? by Anonymous Coward · · Score: 1, Informative

    Cygwin have started using x.org and their X windows functionality on windows is really pretty good - you can run X apps (either from a remote machine, or the local ones provided by cygwin) in the windows desktop, and they appear in the right place in the task bar as well. I'd recommend anyone to check it out.

  5. Re:X in Windows? by ch3 · · Score: 5, Informative

    Like X.org in Cygwin?
    If you use the latest release of cygwin, it comes with an X.org server that has a rootless WM (like the one in Apple Xfree server). With it, you can run X11 applications next to your Win32 windows as if they were native (same for remote windows).
    I use it all the time for remote admin and this is great.

  6. Re:X in Windows? by dave420 · · Score: 1, Informative
    Seriously not trolling here, but most of that Windows stuff has been out for ages. Filesystem permissions? NTFS introduced those. Home directories? 95. Command prompt? You're serious? ;)

    Of course there are going to be similarities - they're general-purpose pieces of software written to use the same hardware. That's why they're converging the way they are (linuxes having start buttons, graphical installs, GUI-everything, etc.)

    It's not a "which one's better" argument, just an example of convergent evolution compter-style.

  7. Re:KDE and Knome infect X ? by gr8_phk · · Score: 2, Informative
    Agreed. Under the list of supported apps and stuff they list a library of clipart. WTF does that have to do with X?

    X needs to remain low level to stay relevant.

  8. Re:NVidia driver issue? by Anonymous Coward · · Score: 1, Informative

    Uhh, compatibility with nvidia and ati binaries is one of their release requirements, f00

  9. Re:Does it run linux? by kidgenius · · Score: 2, Informative

    The other nice thing about using a web browser as a terminal is that HTML is very, very easy to write. I'd put it on par with creating a Windows form in VB. The other plus side to an HTML interface is that you now have a "program" that is mutli-platform. Mac, Windows, Linux can all view the page and get the program to do whatever it is supposed to. It's almost like Java, but I would think it is a lot lighter.

  10. Compositing is just the tip of the iceberg. by Anonymous Coward · · Score: 5, Informative

    And pretty slow it seems.

    Right now I am running fedora core 2 and am using the latest release from X.org's CVS.

    It seems stable and all that, but it's slow.

    GLXGears I am scoring 285 fps with xcompmgr off
    and 60-70 with it on. (that turns on the composite features).

    Although it does have my dri drivers turned off in both cases (using intel i830-type video driver). I am recompiling as I type right now to enable the new i915 driver for it to see if that makes a difference.

    But other people have reported it to be slow. Probably would be nice on my other computer using the Nvidia FX 5900 XT, but I don't want to mess up my desktop with a CVS-based X server.

    All in all it's pretty stable and shows the progress that XFree86 was holding back on, unfortunately. Yea for X.org

    Oh and also for that guy that says he was nervious about X.org and Freedesktop.org and KDE/Gnome "working to close together". He is a idiot. This isnt' X Windows, this is just the X SERVER. It's one part.

    What I'd worry about more is X.org and Linux getting to cozy and unintentially making it more difficult to run on other Unix-like OSes.

    X.org has a open invitation for all Unix developers and it would be great if they would get more of their input. (Especially the BSD's)

    The future looks good. X.org would like to strip away the dual nature of X's drivers (Mesa/Dri OpenGL drivers + XFree86-type 2D drivers) and get the X server running on pure OpenGL!

    That means instead of having to write 2 versions of drivers for video cards, now they only have to worry about the OpenGL version. This means it's easier to get good drivers for Linux and other Unix-like OSes that use X.org servers, and quicker too.

    Also the Cairo project is going to be integrated bringing in Vector-based Windows and graphics libraries into X windows and allowing them to also be OpenGL accelerated.

    The MS Longhorn waiters, eat your heart out. This is going to be some cool stuff we will have in the next couple years.

    Of course OS X is openGL, too, but the cool thing about X windows is the flexibility. All these changes will keep complete backwards compatability with older programs (X clients actually in X terminology), while removing bloat for features that nobody uses/completely obsolete and streamlining developement thru modularlization and extensions.

    Stuff like Damage is reducing the X networking load considurably too, making wide spread use of X terminals in businesses and schools more and more fesable.

    And all sorts of other improvements are coming.

    Changing over to X.org seems to have been a fortuninate move.

  11. Re:KDE and Knome infect X ? by mark_lybarger · · Score: 3, Informative

    x talks to your video hardware, hopefully through kernel drivers.

    kde and knome are layers on top of x. i'm sure you realize that.

    x tells the video card to draw stuff on the screen.

    kde and knome tell x what that stuff should look like. kde and knome wrap windows with decorations. (title bars, etc).

    if a user wants to be able to resize their desktop on the fly (go from 1024x768 to 800x600 resolution perhaps), the functionality has to be available in X, then also able to be controled by the window manager.

    likewise, if you want window drop shadows, X has to be able to support that and you can just enable it in your window manager of choice.

    this is not at all about slicing an elephant up to stuff into an automobile (where did that come from?) it's about providing kool features that everyone can enjoy and not have to duplicate all over the place. it's about letting the xerver talk to the harware capabilities that are in most semi-modern hardware these days.

    finally, stop fearing the advancements of the X server. they're long over due and there's a lot of folks out here that welcome the advancements with open arms!

  12. Re:Unfortunate... by cortana · · Score: 2, Informative

    Not to mention the fact that there is more to the process than translating an app's user interface.

    * the 127 symbols of ASCII are, surprisingly enough, not sufficient to display non-english languages (and even with ASCII I can't type my country's courrency symbol (£))
    * text is not always written left-to-right; many languages also have extremley complicated rules for compositing glyphs; for example, I believe Arabic characters have all sorts of weird rules about whether (and where) a horizontal line is drawn.

    Run kcontrol --reverse some time for a trippy but pointed example of what this is like, BTW :D

  13. Re:NVidia driver issue? by Anonymous Coward · · Score: 5, Informative

    I don't know if you missed something in the interview but the nvida drivers definitely work with the new xorg and the extension. (I'm using them right now).

    Also if you take a look at the xorg mailinglist you'll find that the guys at nvidia are working happily with the xorg devs.

  14. Re:NVidia driver issue? by McLoud · · Score: 2, Informative

    To what I've read in their mailling list, they can use the binary nvidia driver right now. There's some issues, but not directly related to the nvidia driver.

    --
    sign(c14n(envelop(this)), x509)
  15. Re:X in Windows? by drinkypoo · · Score: 4, Informative

    Slightly more information: Install cygwin, I usually install the default install, minus emacs, plus the whole X11 directory (then turning off some emacs stuff in there), and explicitly turning on a few things if they aren't already like ssh, ncftp, and whatever else. That part is up to you.

    Once it's installed, I make a shortcut for the X server that runs "C:\cygwin\usr\X11R6\bin\run.exe XWin -multiwindow -clipboard -unixkill -nowinkill" and bingo, I have X. There's also another flag you'll need if you want your X desktop to span multiple monitors, but I only have one hooked up right now so it's a non-issue.

    You can also turn off -multiwindow and run -rootless (I think) and then use a window mangler to manage your assorted X clients. If for some reason you want X clients and Windows apps to look even less alike, this is how you accomplish that.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  16. Re:Compositing by GoRK · · Score: 4, Informative

    Compositing is not all about transparency you know. Being able to do things like offload drawing onto the powerful graphics cpu's present in most new computers these days is the most obvious beneft. There is also a nice benefit to the multi-desktop pagers and desktop preview widgets out there, since it's a lot less work to capture and resize image windows. For users without a lot of screen real-estate, switching techniques such as Apple's Expose can in many cases give a user a real benefit. Most of these things would be slow or impossible to do without good compositing. Every time I drag my kterm across a thunderbird window, I feel the pain of X (Nvidia's drivers do not help much either)

  17. Transparency by Anonymous Coward · · Score: 1, Informative

    The transparency (aka the composition extension) while will make it in, it will be unstable and will be turned off by default

  18. Re:Time for X11R7 or even X12 by Anonymous Coward · · Score: 3, Informative

    Please try to at least get a little bit of information before starting a rant.

    The folks at freedesktop.org are in the middle of a whole redesign of X. For example, this is probably going to be the last monolithic release of X, they are working on a replacement for xlib (xcb), there is a lot of discussion about putting certain function that are now provided by X into the kernel (RTFI for more information).

    Does that count as a major redesign?

  19. Re:who forked from who.. by AKAImBatman · · Score: 5, Informative

    As I understand it, you're right on the first part. XFree86 did fork X.org's work. The part that you're wrong on is that X.org didn't use XFree86's code. XFree86 was a fork specifically designed for the x86 platform. X.org didn't have that, and thus had to patch their codebase from XFree86's codebase.

    Clear as mud?

  20. Re:PRECISELY MOD UP+ by lokedhs · · Score: 3, Informative

    "Internationalisation" is spelled exactly like so... In all english-speaking countries except the US.

  21. Re:Compositing by BenjyD · · Score: 4, Informative

    Things like translucent error dialogs (see Jef Raskin's book), Expose, any oddly shaped app that you want to see the background through the gaps in (like the Dock).

    It isn't just the ability to draw translucent windows. By rendering to an offscreen buffer and then compositing on the screen, you can do all sorts of transformations and effects that make the desktop easier to use. Apple's Expose effect is probably the best example.

  22. Re:Wtf has the printer got to do with X? by grrussel · · Score: 4, Informative

    Printing to the screen versus printing to paper?

    Why distinguish? An application should be able to use the same commands to draw on screen as to a printer, which is just a different display device.

  23. Re:unified desktop by cortana · · Score: 2, Informative

    No, you are correct.

    Most users new to Linux will be using Gnome and KDE. Most of the programs that they will run into (those which don't do everything themselves, poorly, such as games) are written for GTK+ and Qt. A user's first impression of either desktop environment would be improved tremendously if the default themes for each environemnt didn't look like complete ass.

    Fortunatly, the default theme for Gnome 2.8 will be Indubstrial, which is based off the very smooth Industrial theme.

    Likewise, the next version of KDE (perhaps 3.3 already?) uses Plastik instead of the godawful Keramic theme.

    Now all we need is for freedesktop.org to finish their cunning gtk engine that uses qt to draw everything--thereby unifying the look (if not the functionalty, behaviour, feel) of both desktops.

    Although personally I want the opposite effect: to make the few qt/KDE apps I run look like they use Industrial, not switch my entire desktop over to Plastik. :)

  24. Re:Prepare to be blown away by Anonymous Coward · · Score: 1, Informative

    Yes and no. ;-D
    You need a composition manager to see the eye candy. Currently there is only xcompmgr, the example composition manager from freedesktop.org. And they also provide transset a program to make windows transparent once xcompmgr is running.

    Now all these things are of course not integrated into the WMs and DEs, so currently if for example you run xcompmgr -c (this option gives you the nice shadows) with gnome or kde everything will have a shadow and there is no way to exclude certain things from it.

    So in this respect, yes the window managers and apps will have to be rebuilt to fully take advantage of the technology. But afaik they are allready working on a composition manager for metacity (the gnome wm) and there has also been some work done for kde.

    So the technology for the eye candy is finally here, you can already have a very nice impression of what this technology is capable of but there is of course still work to be done.

  25. Re:I'm using the new X.org by Eunuchswear · · Score: 3, Informative
    I wasn't until I was reading later on that I realized there was a different X on my machine.
    The reason you didn't notice a difference is that there isn't one.

    The X.Org monolithic X is just the XFree86 one from a microsecond before the license change.

    More or less nothing has changed in XFree86 since the license change.

    --
    Watch this Heartland Institute video
  26. Hope that compatability is retained by Baki · · Score: 4, Informative

    It would be very sad if changes in the X protocol or Xlib would make "new" clients unavailable on other X-window platforms and/or would no longer be network transparent.

    In this cases it would no longer be possible to remotely work on a UNIX/linux server with windows X-emulators (such as exceed), nor would the typical linux open source app be able to run on other UNIX variants. Which would be very bad for UNIX as a whole and thus also for Linux which is a part of that world.

  27. Re:I would love to see CCM for X by chtephan · · Score: 3, Informative

    That's not an X issue.

    I think Owen Taylor is planning to implement this in Pango. It's all but trivial.

  28. Re:hah by Anonymous Coward · · Score: 2, Informative

    No you're wrong, it's allready there.

    Just use TWM, it is about as visually appealing as Win2000 and just as Win2000 it doesn't have virtual desktops.

  29. Re:Whose task is copy&paste by FooBarWidget · · Score: 4, Informative

    Ehm... clipboardhandling already is part of X. It's called the "selection mechanism".

    In fact, there is a standard. People used to misunderstand it but now it's documented clearly. http://www.freedesktop.org/Standards/clipboards-sp ec

    The X selection mechanism supports contents negotiation, which means that you can copy rich text and images from Mozilla and paste it in OpenOffice with the same markup. In fact, it already can. I tried it - it works. Even images are preserved. Try copying some tables in Gnumeric and paste them in Mozilla Composer. It works - the tables are preserved!
    The X selection mechanism is actually technically almost the same as MS Windows's.
    Unfortunately not all apps use content negotiation, I don't know why. Gimp is the worst example - it doesn't use the X selection mechanism *at all*, not even on Windows! It uses it's own internal clipboard. So you can copy & paste inside Gimp but not between multiple Gimp processes.

    Geez why do I have to post this this over and over? Isn't it about time everybody on Slashdot knows about this?

  30. Re:Resolution limit by spitzak · · Score: 2, Informative

    Are you talking about the 16-bit numbers used in some of the interface?

    For window dimensions this is not likely to ever be a problem.

    However it is a big problem for graphics. In effect the only way to reliably draw an arbitrary graphic is to do intersection testing and clipping in memory against +/-32767 planes before sending the lines. This is very difficult and expensive (and silly since X has to then do further clipping aganst the actual window area anyway). So most programs don't do this, resulting in graphics screwups when you zoom in or scroll your graphic sufficiently. Win32 also has the exact same problem, incidentally.

    The solution appears to be that the entire X drawing code is being replaced with Cairo or OpenGL, or something like it, which accepts floating-point coordinates. The old code will remain only for back-compatability and will probably never be fixed, but it does not really matter.

  31. Re:The Misinformation Campaign Rolls Along... by Brandybuck · · Score: 2, Informative

    Cairo. DBUS. HAL. the .desktop standards.

    Excepting the .desktop format, none of them are fd.o standards, and even the .desktop format is still a "draft". Havoc's unilateral pronouncements that something is a "standard" means nothing more than he wishes it was. Most of the real de facto standards (like .desktop) were created by the "little guys" of KDE and GNOME working together without the benefit of Havoc's blessings.

    In all Open Source projects, the people who get things done and the people who strut about crowing are two separate groups with very little intersection. Freedesktop.org is no different.

    --
    Don't blame me, I didn't vote for either of them!