Slashdot Mirror


New X Proposal on Freedesktop.org

Bytal writes "Havoc Pennington (of Red Hat and GNOME fame) seems to have a very interesting entry in his blog on the development of a new extension to the venerable X server going on at freedesktop.org. More specifically it seems to provide for most things that people have clamoring for (alpha blending, flicker-free window compositing and switching, as well as even OpenGL integration) without altering the existing X protocol too much."

22 of 395 comments (clear)

  1. this sounds like a great idea by fizz · · Score: 4, Insightful

    its about time someone does some decent work on the actuyal framework of the xserver, because right now, most limitations are not due to the window manager, rather the server.

  2. FreeDesktop.org at SCALE 2x by irabinovitch · · Score: 5, Informative
    Seth Nickell will be speaking about the freedesktop.org project and his work with GNOME.org at the Southern California Linux Expo on November 22, 2003. SCALE 2003 will be held at the Los Angeles Convention Center. More information is available on their website at http://www.socallinuxexpo.org

    For a free exhibit hall pass use the promo code 'free'.
    For 50% off a full access pass use the code 'sctek'

  3. cool, now give me media pipes by ikoleverhate · · Score: 4, Insightful

    cool! decent opengl integration will make all those little flashy transitons and funny shaped windows that mac users have a snap to implement! x finally becomes less about boring rectangles, and becomes truly fun to hack ;) Lets hope this gets support from enough different groups to make it a standard. And then we can start hoping for something similar to the venerable pipe, but allowing easy use for graphical / media components! (ok i'll go back to dreaming)

    1. Re:cool, now give me media pipes by julesh · · Score: 4, Insightful

      X already supports funny shaped windows. Have you never run xeyes?

      The only problem with it is that almost all toolkits other than Xlib don't actually support it, so you have to hack around at a low level to use it, but its there, and if toolkit implementors bothered, it would probably become easy to use, too :-)

      And then we can start hoping for something similar to the venerable pipe, but allowing easy use for graphical / media components!

      You mean some kind of graphical pipeline, where one application transforms the graphical output of another one, and so on? There are graphic libraries available today that allow this kind of operation, but generally they don't operate well with GUIs (i.e. they run with one window that all of their output goes to). My only question is: what would you do with it? I can see that an ability to shrink or enlarge a window might be handy, but that's a much simpler task than the possibilities of what you're suggesting allow for...

  4. How about high-DPI monitor support? by swordboy · · Score: 4, Interesting

    We returned a new 19" monitor the other day because it was native 1600x1200. The text was unreadable at that resolution and lower resolutions simply looked like crap. We replaced it with a 1280x1024 bit but that is still on the small side.

    The last time that this was brought up on slashdot, most of the arrogant jerks tried to point out that you can "simply adjust the font size in the control panel". This doesn't work for anyone who has tried it.

    Longhorn will take a big step forward in this area. They will be rendering the window system and applying it as a texture so that the DPI of the monitor is irrelevant. X will be light years behind if it doesn't do this first.

    --

    Life is the leading cause of death in America.
    1. Re:How about high-DPI monitor support? by Anonymous Coward · · Score: 4, Informative

      Sorry mate, you're wrong. When I change resolution with my XFree86 the fonts stay the same size. The font sizes are calculated based on the dimensions of the monitor. If your fonts were unreadable you had configured something wrong (your distro had configured something wrong, whatever). In this case Windows has been light years behind X for a long time.

      However widgets etc. are not generally vector based and thus can look tiny (esp. @ 1600x1200), in this region Longhorn could jump ahead of most free software you use with X. However, all this needs is the toolkit people (GTK, Qt, etc.) to make their toolkits vector based and this will cease to be a problem.

      I don't think you deserved your mod points personally.

    2. Re:How about high-DPI monitor support? by spydir31 · · Score: 4, Informative
      Try this on,
      If using gdm, open /etc/X11/gdm/gdm.conf with your favorite editor, find the following,
      command=/usr/X11R6/bin/X
      append -dpi 100 or whichever you prefer.
      HTH
    3. Re:How about high-DPI monitor support? by julesh · · Score: 4, Informative

      Its a reference to the fact that the bitmapped fonts are only available in those resolutions and might have to be scaled for other ones. Chances are, you aren't actually using any bitmapped fonts any more (most modern apps don't bother, the only one I ever use that does is xterm), so it shouldn't actually affect you. Give it a go and see.

    4. Re:How about high-DPI monitor support? by cymen · · Score: 4, Funny

      The obvious solution to your problem is to buy 200-300 19" "monitors" (we're actually talking about LCDs, right?) and donate one or two to any X hacker you can find. Your problem should be documented with numerous workarounds and possibly fixes within a couple months.

  5. Good idea, but not new by Chris_Jefferson · · Score: 5, Insightful

    The main principle here seems simply to be for the X-server to store each window, wether it be visable or not. At the moment if you stack windows on top of each other the X-server forgets what is on the covered up bits, and when the window becomes visable again it is redrawn. This was a good idea back when memory was scarce, because storing X full screen applications could take X*screensize memory. However today with more memory, we can store all those windows without forcing a redraw.

    This is long overdue in X, and also as stated makes things like alpha blending, and Mac OS-X style openGL window-dragging acceleration much more trivial, and also for those who like network transparency, won't require resending windows each time they become visable (although adds the new problem that unless you are careful you could end up spending lots of time sending updates to non-visable windows). It is of course nessasary to allow some chucking of hidden windows (because full screen 32-bit images still take up quite a lot of room), but overall its a good plan!

    --
    Combination - fun iPhone puzzling
    1. Re:Good idea, but not new by Anonymous Coward · · Score: 5, Informative
      This is long overdue in X

      Uh, this idea is called "backing store" and it's been around since, I believe, X11R4. I'm not sure what this proposal does that's new, other than offer new uses for it.

      Given the current bloat of GTK and Gnome when trying to run remotely (even over 100Mbit), backing store is a good thing. When an application lets you turn it on. Which GTK doesn't. Heck, I've even seen a GTK developer claim "X doesn't have any backing store concept." Geez, people, learn your existing technology!

    2. Re:Good idea, but not new by otaylor · · Score: 5, Informative

      Likely the GTK+ developer was me. I certainly didn't say that X has no concept of backing store. I may well have indicated that the current X implementation of backing store quite typically does more harm than good. For instance, under some circumstances, X will store arbitrarily large amounts of pixel data *outside* of the windows bounds in the windows backing store. (Having traced through the X server code to figure out why this was happening some years ago, I can authoritatively say that X does have a concept of backing store.)

      Keith's new extension is quite different from traditional X backing store; the obvious difference is the ability to control how the windows are composited to the screen. But there are other differences; the server, for instance, uses only a single backing store buffer for the entire toplevel window, instead of one for each subwindow.

  6. Discussion summary by binux · · Score: 4, Insightful

    Let's summarize the discussion that this is going to trigger:
    Whine 1: X is slow and bloated we need a replacement.
    Response 1: The XFree86 implementation may be slow and bloated and not the protocol.
    Response 2: Come up with something better and we'll talk.
    Whine 2: Who uses the remote display capability of X anyway?
    Response 1: On local displays X uses shared memory and is fast enough.
    Response 2: If 5% of the users need the feature it should be retained.

  7. Extra Memory Usage by mickwd · · Score: 5, Informative

    "The server stores a tree of windows as it does now. However, unlike today, it keeps the full contents of each mapped window in memory at all times."

    What are the memory implications of this ?

    With many people using resolutions of 1280x1024 or 1600x1200 in 24-bit or 32-bit colour, dual-displays and multiple desktops becoming more common, this could chew up a lot of RAM.

    A single, maximised window at 1600x1200/32-bit is going to use 7.5MB, even if it's just a terminal window. I can quite easily have 10 windows open at one time, especially when web browsing (OK, not all maximised, but not all small, either). There goes 75MB of RAM, just for the screen display (let alone the extra memory X uses for pixmaps, etc). If it's constantly being accessed in order to update the display, it won't be easily paged out to disk, either.

    Things like tabbed browsers and terminal programs help quite a bit (assuming that the contents of each tab won't be stored in RAM - or will they ?). But not everyone likes using them.

    Would someone with more knowledge about the current workings of X care to comment ?

    1. Re:Extra Memory Usage by IamTheRealMike · · Score: 5, Informative
      I am not an expert but I'll answer as well as I can.

      What are the memory implications of this ?

      The reason keithp is going to be buffering each node in the window tree is for memory reasons - buffering entire toplevel windows is far too expensive. It involves two extensions, aXe and XDAMAGE to work correctly. I believe XDAMAGE is partly useful for reducing the work needed to implement eyecandy effects, but it's all new to me too so I'm prolly wrong.

      Secondly, MacOS X gets around the memory requirements partly through heavy use of video RAM and partly through compressing and decompressing toplevel windows on the fly (as far as I know). I wouldn't be surprised if the new X team take a similar route.

      Finally, I don't think OpenGL will feature in this. OpenGL is a neat 3D API but not so great at 2D work - we seem to be heading towards using XRender as our low-level 2D API with Cairo providing a Quartz style drawing system on top. That doesn't imply speed loss - both OpenGL and XRender are abstractions over the hardware acceleration engines of the card, so there's no reason why XRender based apps could not get the sort of speeds we associate with 3D HW accel (even if today it doesn't reach those speeds). The advantage of going the Xrender route is that it's much easier to mix and match the old style and new style rendering (note how OpenGL requires you to set it up for a particular rect but XRender can just be used as a standard drawing op).

      Like I said, no expert, keithp is the canonical source for this, but that's what I've gathered from reading and listening.

  8. Is there a new X logo out as well? by Zanthany · · Score: 5, Funny

    I seem to be seeing a new X logo as well from the slashdot page:

    slashdot.jpg

    It's so simple and plain. It just might work!

  9. Re:without altering existing X protocol "too much" by dmiller · · Score: 4, Informative

    Fortunately the X protocol can be extended without being replaced. OpenGL (GLX actually), Xrender, XVideo and the XSHM (the shared memory extension) are all examples of extensions that have been added without breaking old apps. Parts of X may be crusty, but overall it is pretty well designed.

    XFree86 has done even better than not breaking the protocol. IIRC they have been *binary* compatible for Xlib for over 4 years.

  10. Clarifying Vector-based display by MarcQuadra · · Score: 4, Informative

    You don't seem to understand the problem the way it was meant. I have a big monitor, I like to run at high resolution, but text is TINY, so I make the fonts bigger, but then everything is out-of-whack in terms of widget sizes and images.

    What we're talking about is a VECTOR-based display, so 'increasing the size' won't make it any less readable. In a vector-based system EVERYTHING gets scaled up, you could run the big monitor at 1600x1200 or 512x384 and the elements on the screen would be the same actual size (meaured by a ruler) but the higher-res monitor would just look a hell of a lot better.

    Now there ARE some issues that need to get worked out for this, a web browser, for example has to be prepared to have a bitmap GIF 'blown up', and it has to be done well enough to look decent but not take too much CPU power.

    NEXT had this, Aqua has the underpinning of it, I think GNUStep is coming along with it, Longhorn is going to have it. I don't see the XFree86 folks picking this up, I think the toolkit folks and KDE/GNOME will have to implement it themselves because the XFree folks are really conservative.

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  11. Backing store? by 10Ghz · · Score: 4, Informative

    How is this different from backing store?

    --
    Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
  12. All I ever wanted from Xwindows... by zerocool^ · · Score: 4, Insightful

    ...was to be able to cut and paste between applications. A unified API for a clipboard system that uses a unified set of keys to cut and paste.

    Alpha blending should be miles and miles behind the development of a window system that actually works.

    But, this looks to be more typical X development. No brake pedal, but you can shift gears via the steering wheel, the stereo, or a series of buttons on the sunroof; it has 539 airbags, each requiring a different pressure to go off, and there's a seatbelt interface for every previous seatbelt in existance. Plus it has the most efficient 46 horse power engine ever made, even though opening the glove compartment causes it to stall, or at least backfire.

    ~Wx

    --
    sig?
    1. Re:All I ever wanted from Xwindows... by _Sprocket_ · · Score: 4, Interesting

      ...it confuses select with cut-and-paste...


      I have two main workstations that I use daily - my Linux desktop (currently running KDE) and my Windows 2K desktop. I am often having to retrace my steps while on my Win2K box because I try to paste some text and discover that I've forgotten to hit ctrl-c before moving to the next window. I've become used to copying text while selecting it (its not "cut-and-paste" by the way).

      Its all dependant on what you're used to. And I have found myself going to some lengths to get my Windows machine to act more like my Linux environment.
    2. Re:All I ever wanted from Xwindows... by tuffy · · Score: 4, Informative
      I love X... but I have to admit that you've hit the nail on the head. It's astonishing how bad cut and paste works between applications. It really only works for text, and then only if the text is flat ASCII. Because it's so bad, many applications have their own, internal version of the clipboard, and you're never really sure whether you're manipulating X's clipboard or the internal clipboard, or what information makes it onto X's clipboard and in what form. It's a total disaster.

      The X11 clipboard is already quite powerful and supports a broad array of selection types, not just ASCII. A lot of apps only support ASCII, but that's not X11's problem. If any toolkit or app is reinventing the wheel by implementing a whole new clipboard, that really is quite brain-damaged.

      --

      Ita erat quando hic adveni.