Slashdot Mirror


X.org Making Fast Progress

prisonernumber7 writes "X.org is showing a lot of progress! The combination of the XFixes extension, Damage extension, Composite extension and XEvIE (X Event Interception Extension) present in X11R6.8 present user interface designers with a wide range of here-to-fore difficult to achieve possibilities. What does this mean for the enduser? That's window shadows and window shadows within windows as well as true translucency for the OSS community. Good samples of Gnome and KDE desktops with drop shadows, and so on can be found here, here, here, here, here, translucency here, here and here, and its use on handhelds running Linux."

7 of 778 comments (clear)

  1. Re:great advances in window managers by DashEvil · · Score: 5, Informative

    afaik they use `layers' to draw the screen now. So a foreground window doesn't actually draw over a window in the background. This means you can drag windows over other windows without the background app having to redraw itself.

    Ever notice how if you have a transparent menu open with a xterm/etc under it and, say, you're compiling something, that the text in the transparent menu doesn't update? `Fake' transparency refers to what we've been using now, which is basically taking a screenshot of the app and then pretending that your window is transparent by using the screenshot in the background of the window/menu. This real transparency means that it's not handled by the application, it's handled by X, and since the contents under your window weren't overdrawn, it can just.. you know... render it properly.

    That's what I got from it, anyway.

    --
    -If God wanted people to be better than me, he would have made them that way.
  2. Re:Yay! by 808140 · · Score: 5, Informative

    Giving window managers direct access to video memory is rather stupid, considering that one of X's primary features is network transparency.

    I know you're trolling, but it's rather important to recognize that X is a protocol, nothing more, and nothing less. How fast or slow it is depends on the implementation; some are clearly better than others.

    Comparing X to direct video access is rather like comparing ssh to the linux console. The latter will always be faster because there is no network bottleneck, but you can't use it to connect to your machine remotely.

    Furthermore, there are extensions which practically do give an application direct access to the hardware, or at least, as direct as one can safely manage. But what's the point, if all you're doing is drawing widgets? I could understand it for games or playing DVDs, where speed is important and you'd be stupid to play it over the network anyway, but for a window manager?

    If you want to use a single user, non-network aware system, then by all means, use Windows*. In the meantime, we should keep working on improving our X implementation in areas like optimizing for local connections. There are lots of shortcuts that haven't been implemented and I'm sure there are lots that haven't even been thought of yet.

    Anyone that has had to administer machines remotely appreciates the network transparency of X. It's the only window system that has this feature. Let's not throw it out because some trolls don't understand its value.

    *Yes, I know Windows is now multi-user. But it wasn't designed that way, and it shows.

  3. Re:Good, but... by GreyWolf3000 · · Score: 5, Informative
    By default, fonts in Linux tend to get anti-aliased no matter what the font size is.

    This is a mere configuration setting that most of the distributions choose to set. Fontconfig is perfectly capable of turning off AA for a given range of sizes.

    --
    Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
  4. Re:Good, but... by Eloquence · · Score: 5, Informative
    The situation has gotten orders of magnitude better than it was years ago. We're now at least on par with Windows (and our default themes are cooler), and thanks to the work of the X.org team as well as the KDE and GNOME developers, I'm sure we will have OS X quality fonts before OS X has reached the next quality level. We're catching up.

    Where the Linux desktop really shines, however, is when it comes to customization. I prefer to operate in a very Windows-like manner, with maximized windows and taskbar. KDE allows me to do that (and gives me a nice launcher command bar with autocompletion - I haven't used the "start" menu in ages). Some want a nice file manger - KDE gives you Konqueror, GNOME gives you Nautilus. Others prefer doing everything in the shell, where you can use Midnight Commander and feel like you're back in the old DOS days.

    Some want virtual desktops or virtual screens (larger than the physical screen size). Any decent window manager provides that. Some want a very efficient, slim system - they use something like Windowmaker or XFCE. Others want all the bells and whistles and install KDE or GNOME with lots of applets. Some like to experiment with innovative new UIs and try out window managers like ion. Others are happy just using a cloned Windows or Mac interface.

    If you're willing to experiment, no system offers you as many possibilities as Linux. If you just want a clean, working desktop, all the major distro makers provide that by now.

    There's room to improvement, and the devil is in the details: clipboard interoperability is still buggy and incomplete, performance in some areas can be improved (try resizing your window very fast with content visible), the driver situation is unsatisfactory etc. But none of the problems before us is unsolvable. It's just a matter of time.

  5. Re:great advances in window managers by kerrle · · Score: 5, Informative
    It's not layers, per se; each window is rendered to a separate area of memory, and the composition manager builds the final screen from the various windows. In addition, XDamage allows the composition manager to know which parts of the window need to be redrawn, so rather than having the entire window redrawn (as is the case traditionally), only the part that was "damaged" needs to be redrawn.

    True transparency means that it's truly based on alpha values and computed as the window is drawn; current ways of "faking" transparency - in Konsole or XChat, for example - essentially take a capture of the background wallpaper and use that as the background of the window. If you move the window, you can see that it takes a moment for the background to adjust; with apps that are aware of and use the new X server features, this would be done as the window moved, and would also show windows and icons behind the currently focused window.

    As long as the composition manager has good hardware acceleration (something which is already the case with NVidia, but not so much with ATI), this combined with a double or triple buffered desktop could well provide a Linux/Unix desktop on par with OSX, at least technically.

    Of course, it's up to the window manager to really take advantage of these added features; metacity can already support window borders with alpha values, for true transparency.

  6. Re:Why GPUs Matter by nathanh · · Score: 5, Informative
    Chances are you were running your X server with unaccelerated drivers - which offloads all the hard work to the CPU. In Panther, Quartz Extreme allows the transform and lighting engine of your GPU do all the hard work, leaving the CPU for things that a CPU should be doing it.

    It's partly that. But Quartz is also fast on a plain unaccelerated 2D framebuffer. To prove this, simply run Panther inside Mac-On-Linux on the Linux PowerBook. Transparent windows and drop shadows are noticeably faster inside MOL than on the Linux desktop.

    The issue is apparently the interaction between XAA (XFree86 Acceleration Architecture) and the XFree86 driver model. It isn't designed to handle Composite and Render properly. There is a hack in the 6.8 release so drivers will work, but suboptimally. There is considerable work going into a new driver architecture called Keith's Driver (kdrive) and XAA which will give near-Panther performance. But the powers that be have decided to leave those improvements until X.org 6.9. They want the extensions out there now, even if they're slow, so GNOME/KDE/others can start designing applications that use them.

  7. Re:I hate to say it... by Curtman · · Score: 5, Informative

    Here is the announcement BTW.