Slashdot Mirror


freedesktop.org xlibs 1.0 Released

Daniel Stone writes "A short time ago, freedesktop.org xlibs 1.0 was released. Simply put, this is the collection of libX11, libXext, and other little-used libraries that kind of power your whole desktop. The xlibs team at fd.o are now maintaining all these libraries, and more, and we're going to be making releases as part of the fd.o platform, which is far more wide-ranging, but it still forms an important part of the platform. Share and enjoy!"

31 of 243 comments (clear)

  1. Re:Who uses Xlib by IversenX · · Score: 5, Informative

    What is your definition of "Doesn't depend on"?

    They both use xlib exclusively for drawing!

    QT (and possibly GTK) exists in a version for embedding/framebuffer devices, but that's not the version you see in everyday KDE/Gnome.

    --
    With great numbers come great responsibility!
  2. Little used ? by noselasd · · Score: 3, Informative

    Virtually every toolkit out there uses xlib. It really isn't
    "little used", but rather key part of the whole *nix desktop.

    1. Re:Little used ? by rsidd · · Score: 2, Informative
      It really isn't "little used", but rather key part of the whole *nix desktop.

      As indeed the rest of that sentence indicates: "... libraries that kind of power your whole desktop." Try twiddling the knobs on your humour meter.

  3. XFree86 Has Not Merged With X.Org ?? by cyber_rigger · · Score: 4, Informative


    XFree86 Has Not Merged With X.Org (see News)

    [23 January 2004] http://www.xfree86.org/

    So have they merged or not merged?

  4. Re:Nethack X is slow ... by Deraj+DeZine · · Score: 1, Informative

    It's a message queue for programs to take advantage of. Just a simple way to communicate between desktop applications. I think they're planning on using it in the Dashboard project.

    --
    True story.
  5. Re:Not that X is slow ... by Carewolf · · Score: 5, Informative

    D-BUS is the replacement for DCOP. "Agnostically" written in C this time to help GNOME developers swallow (not so agnostically though since Glib kept sneaking in, but fortunately got replaced in the end).

    It does have a few neat features that DCOP doesnt. Like being system-wide, and thus support signals from the kernel (implemented by HAL) and signals from other non-desktop application like Apache.

  6. Re:vs XFree86 ? by CoolVibe · · Score: 2, Informative

    They got rewritten from scratch. :)

  7. Re:Who uses Xlib by iabervon · · Score: 4, Informative

    Every single X program uses xlib directly or indirectly. So GTK always uses it, and QT uses it except when using a framebuffer directly or using some other underlying mechanism (like non-X11 Mac, IIRC).

    Chances are that X isn't what's crashing for you, but rather some program running under X (unless you have hardware problems, a bad driver, a corrupted X server, or something like that). X is also generally quite fast, but most programs (such as any that use GTK or QT, except for really recent ones) use it extremely badly.

    Actually, what is generally slow about X is that is doesn't have the drawing primitives that modern interfaces want to use, so they have to implement them inefficiently with the available primitives. Present development is helping to rectify this situation, however.

  8. Re:Too many damn x's! by Narchie+Troll · · Score: 5, Informative

    x.org == X Consortium
    X11 == X Window System 11
    X Window System == A windowing system, consisting of a client and a server that communicate via an open protocol. Many different vendors distribute X clients and servers, commercial and free.

    The X Consortium manages the X protocol and distributes a reference implementation of clients and servers. XFree86 is a fork of the X Consortium implementation that was originally intended to run on x86-class machines -- thus the name. Freedesktop.org is a loose coalition attempting to corral all the competing *nix desktop software into a cohesive whole by setting up standards. They also provide support for a project that is working on an improved client and server for X11.

  9. Re:Too many damn x's! by allanc · · Score: 3, Informative

    X11 and The X Window System (not, they stress "X Windows" because that sounds too much like MS Windows) are the same thing. Just different names for it. It's the base window system.

    The group that releases the standard X code distribution, specifications for new versions of X, etc is the X Consortium, X11 is, more fully, X11R6--X Window System version 11 release 6. If X11R7 happens, it'll come from the X Consortium. Their web site is x.org.

    XFree86 is the group that does the free version of the X Window System, originally for Intel x86 systems (hence the name) but nowadays for pretty much every system that'll run a free OS.

    Freedesktop.org works on higher level standards, like drag and drop and such. Stuff that lets the various apps running under X11 to interact but not low enough to be under the jurisdiction of the X Consortium.

    --AC

  10. Re:Nethack X is slow ... by Anonymous Coward · · Score: 3, Informative

    From The DCOP site:

    DCOP is built on top of the Inter Client Exchange (ICE) protocol, which comes standard as a part of X11R6 and later. It also depends on Qt, but beyond that it does not require any other libraries.

    So DCOP does depend on Qt. Also, it is written in C++, whereas the GNOME libraries are almost always written in C (I'm not saying this is better, this is just how it's been done). Until DCOP doesn't depend on Qt and gets a binding to C, I see no reason why the GNOME project shouldn't pursue DBUS. (Had to post as AC because I have bad karma...)

  11. Re:Who uses Xlib by sfraggle · · Score: 2, Informative
    I'm not sure GTK/QT depends on Xlib. Correct me if I'm wrong.
    You are wrong.

    fraggle@yaffle:~$ ldd /usr/lib/libgtk-x11-2.0.so
    ...
    libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x402e8000)
    ...

    fraggle@yaffle:~$ ldd /usr/lib/libqt.so.3
    ...
    libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4081f000)
    ...
    --
    were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
  12. Re:3d interfaces are a joke. by temojen · · Score: 3, Informative

    Now, I know I'm responding to an Offtopic troll, but...

    OpenGL is an API for talking to a Vector and/or Raster drawing subsystem. It works for 3d and 2d drawing. Where hardware acceleration for vector drawing exists (ie most modern desktops) OpenGL can send the drawing commands direct to the Video Card, without rasterizing the result first. This means that vector applications (such as SVG rendering) can operate a whole lot faster, and are simpler to code.

    Where the application is not running on the same machine as the display, sending GLX vector commands rather than rasterized images can be much faster. Also, it does not load the machine significantly more than having application-side rasterization where acceleration hardware doesn't exist.

    So by working on OpenGL (which is mostly a server issue, not an XLib issue), developers are working on SVG, Animated Everything, and faster 2d.

  13. Re:Who uses Xlib by Curtman · · Score: 2, Informative

    GTK on the framebuffer is quite nice. Aside from the nice transparency effects in the screenshots, it's really quick. Hopefully we'll see a LiveCD come along soon with GTK on DirectFB so people can evaluate it without jumping through a great many hurdles. I bet a great many GNU/Linux/BSD users don't need or even know about the many features of X11 like network transparency, let alone use them.

    I like to think DirectFB is to X11 as Hurd is to Linux. ( in design - not availability :) I could be wrong about that, but it seems to be more modular, and lightweight.

    With that said, congrats to freedesktop.org. They are becoming more and more valuable to our little community every day it seems.

  14. Re:Xlib is trash. by Curtman · · Score: 2, Informative
    The GTK FAQ has this to say about it:

    • What is GDK?

      GDK is basically a wrapper around the standard Xlib function calls. If you are at all familiar with Xlib, a lot of the functions in GDK will require little or no getting used to. All functions are written to provide an way to access Xlib functions in an easier and slightly more intuitive manner. In addition, since GDK uses GLib (see below), it will be more portable and safer to use on multiple platforms.
  15. Re:Not that X is slow ... by be-fan · · Score: 3, Informative

    D-BUS wasn't something the GNOME people thought up. The freedesktop.org people modeled it after DCOP, but made it independent of KDE's framework so the GNOME people could use it. The plans for D-BUS in KDE seem uncertain. Some developers want to just ditch D-COP entirely and use D-BUS, since D-BUS is similar. Others want to bridge D-COP and D-BUS, and retain D-COP for intra-KDE communication, and use D-BUS for inter-desktop communication.

    --
    A deep unwavering belief is a sure sign you're missing something...
  16. Re:Who uses Xlib by be-fan · · Score: 2, Informative

    Everyone. Right now, there are two ways to communicate with X-server.

    XCB - A new, low-level binding designed for big toolkits like Qt/GTK+ that can handle their own caching, buffering, etc.

    XLib - An older, higher-level binding originally released with X.

    Currently, almost all apps still use Xlib, as do all toolkits.

    --
    A deep unwavering belief is a sure sign you're missing something...
  17. Re:Any idea on the total size of the libaries? by caseih · · Score: 4, Informative

    The fd.o xserver is about 1 mb, and the X11 libraries to drive your apps weigh in at around 1 mb or so stripped, I think. At least on my fd.o installation they do. Also kdrive + libs + gtk2 + apps runs comfortably on a device like the Zaurus. Of course that's with no openGL stuff, or xinerama or xprint. But it does include freetype, xft, xrender, xdamage, composite, etc. The basic libraries are quite compact. If you really look at it, 1mb for kdrive, 1mb for libraries, plus maybe 5 mb for gtk2, an X11-based enbedded environment (supporting just one kind of display hardware) is very light and competitive with the Qtopia framebuffer system. Given that, I can't see any reason do use qt-embedded or gtk-fb for most things.

    Some of those things in your list are not really libraries providing an api, but rather utilities, many of which on an embedded environment aren't needed.

  18. Re:vs XFree86 ? by be-fan · · Score: 3, Informative

    The XServer got rewritten from scratch*. The xlibs are an evolution of the XFree86.org code.

    *> Well, not really. The FD.O X server is based on Keith Packard's KDrive (AKA TinyX) server, which is a vastly restructured and rewritten XFree86.

    --
    A deep unwavering belief is a sure sign you're missing something...
  19. Re:vs XFree86 ? by dossen · · Score: 2, Informative

    If I read it correctly, they are replacing the Imake buildsystem with GNU autoconf/automake - a good thing I think. Other than that I don't know what the differences are (going to be), but they will probably try to integrate some of the other parts of the freedesktop platform.

  20. Re:Too many damn x's! by be-fan · · Score: 4, Informative

    X11 - The protocol spoken by modern X servers.

    x.org - Formerly the X Consortium, an organization of X-using businesses, like the OpenGL ARB. They are responsible for changes to the spec.

    X Windows - Shorthand for X Window System --- refers to the whole thing, servers, libs etc.

    freedesktop.org - A new organization dedicated to making standards for the *NIX desktop. For example, they have specified a common MIME framework, common menu format, common window manager specification, etc. Many of these, (ex. the window manager specification) have already been adopted. They are also an umbrella project for other projects for improving the X desktop. For example, D-BUS which is the new messaging system developed for KDE and GNOME, is a freedesktop.org project. Keith Packard and others are also developing a new X server under the freedesktop.org umbrella. This new X server already supports complete-back buffering of windows (each window gets its own buffer, like OS X, to make moving windows smooth and free of redraw) and window compositing (for transparency, shadows, other effects). They are also restructuring the driver API to support OpenGL independent of X, so the X server can sit on top of OpenGL and use it to accelerate drawing. At the same time, they are also introducing new extensions (Xfixes, XDamage, etc) to allow applications to access the extended features for the new server, as well as working on existing extensions (XRender) to improve their implementation (add acceleration via OpenGL, for example).

    --
    A deep unwavering belief is a sure sign you're missing something...
  21. Re:Nethack X is slow ... by Carewolf · · Score: 4, Informative

    AFAIK DCOP doesn't depend on Qt directly and has C-bindings. The problem is with depending on C++, and depending on Qt for communicating with KDE-programs. Many KDE-programs uses the Qt-internal structures to stream over DCOP, that makes it very difficult to communicate with them without Qt.

  22. Re:XFree86 Has Not Merged With X.Org ?? by asobala · · Score: 2, Informative

    The way I understand it, Havoc Pennington said that several X.org and XFree86 developers were working together. This was misinterpreted by journalists as the projects working together.

    Hmmm.

  23. Re:vs XFree86 ? by Anonymous Coward · · Score: 1, Informative

    The plan is to eventually rewrite Xilb as well.

  24. Re:vs XFree86 ? by be-fan · · Score: 4, Informative

    Its not so much its superiority to imake, as its superiority to the imake setup of XFree86. The XFree86 build scripts are horribly complex to understand, and while autoconf/automake suck too, they suck less. Plus, more people are familier with them, so there is less of a learning curve for developers.

    --
    A deep unwavering belief is a sure sign you're missing something...
  25. Re:vs XFree86 ? by Fnord · · Score: 4, Informative

    Mostly they've just changed the build system. Someone mentioned that they're using automake/autoconf. But that's only a minor part of it. The big thing is that they're making it so that you can compile these libraries without having the entire X11 tree. X until now was this giant monolithic source tree with tons of interdependancies so you'd have to build it all at once. Their first goal is to modularize X and that means making the Xserver, Xlibs and the basic X programs all build separately.

  26. Re:vs XFree86 ? by Anonymous Coward · · Score: 1, Informative

    Yup, the freedesktop plan is to turn xlib into a compatibility shim on top of XCB for legacy stuff.

    This is pretty cool, because it means that the core of X11 is going to get overhauled, but most users won't know that it's happening (although they might notice the better performing eyecandy).

  27. Re:Accelerated Desktop by sirReal.83. · · Score: 2, Informative

    i don't know about windows, but osx uses GL for most/all graphics. fdo's xserver aims to do the same thing. it's a completely new X server based on keithp's kdrive. afaik xfree doesn't use GL for anything 2D.

  28. Re:vs XFree86 ? by dossen · · Score: 2, Informative

    Pretty much where I was coming from. I have also messed around, hacking around broken stuff, with both Imake and autoconf/automak based stuff, and Imake just looks worse (maybe it would be different if I had some experience with either, but just fixing a broken link parameter and that sort of thing seems much simpler with auto*). And if it gets the options of X into a configure script instead the host.def file, then I wont complain (force of habit I guess).

  29. Re:vs XFree86 ? by puetzk · · Score: 2, Informative

    There are lots of pieces to the recent work that's been happening on X under the freedesktop banner. Here's my understanding of what the pices are...

    Xouvert was/is also working on build changes (and quite possibly this release is based on their work - I don't really know). In any case. the freedesktop.org xlibs announced here (http://xlibs.freedesktop.org/) release has actually got them all made (quite possibly based on contributions from xouvert) and is a full set of 'split' xlibs which build with autoconf/pkg-config.

    Additionally, freedesktop has at least two other major X-related projects going (some of the same people, some different). One of these is the xcb/xcl to replace xlibs, the other is a kdrive-based xserver. Neither of these projects has yet made a full release, though both have code that works and is making excellent progress

    xcb (http://xcb.freedesktop.org/) is a new API targeted toward letting toolkit authors handle asyncronous events more effectively, without some of the compromises xlib made to ease writing apps directly to it. The rise of high-level toolkits (Qt, GTK, wxWindows, Tk, etc) has definitely changed the way the xlib API is typically used. For compatibility with existing apps and for easier programming of apps which (for whatever reason) do not want to use a high-level toolkit, xcl is a an xlib-compatible API sitting on top of xcb. Think of it as a minimal 'toolkit' which provides the 'wait-for-reply' API to error handling and return-values that xlib uses today.

    The new kdrive xserver's primary features are the DAMAGE and COMPOSITE extensions (allowing multiple apps to coordinate and share in painting what actually appears on the screen. It also features a much smaller&simpler codebase from the XFree86 server, allowing easier experimentation with still other new ideas.

    --
    The Matrix is going down for reboot now! Stopping reality: OK. The system is halted.
  30. Re:Not that X is slow ... by IamTheRealMike · · Score: 2, Informative
    Over half the size of glib is unicode translation tables (ie pure data), which apps require for correct internationalization.

    In fact this is one big reason to use glib: it makes it very easy to support UTF-8 and other things in a portable (to windows) way.