Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
X GUI Science

Translucent Windows for X using OpenGL 539

Anonymous Coward writes "Take a look at this! This guy is working on an OpenGL backend for X. But he needs pizza and some new hardware. He's on a TNT2 for heaven sake!"
This discussion has been archived. No new comments can be posted.

Translucent Windows for X using OpenGL

Comments Filter:
  • by FooBarWidget ( 556006 ) on Thursday April 17, 2003 @05:17AM (#5749842)
    Everybody seems to be obsessed with all this "3D-accelerated desktop" stuff but IMHO it's all overrated.

    Using OpenGL will not automatically make everything faster. Heck, I wouldn't be surprised if some things become slower. OpenGL is good for 3D stuff, but sucks for 2D stuff. Ever tried blitting in OpenGL? Slooooooooow. And guess what? Most applications use 2D drawing primitives.

    The biggest performance bottlenecks are, and have always been: 1) the driver 2) the kernel.
    2 has already been addressed [optusnet.com.au] (my system flies with these patches; it's even faster than Windows!). The upcoming 2.6 kernel will be amazing.
    1 remains a problem. X's architecture doesn't cause the slowness, it's all in the driver! If the driver doesn't implement all OpenGL features then you'll still be stuck with slow drawing speed (or maybe even slower, since emulating OpenGL is slow beyond imagination. ever tried running TuxRacer in plain non-accelerated Mesa?)
    • Yeah, but it *does* mean kick-ass translucent windows that actually show the window behind it. Yeah, yeah, it already exists on Mac OS X...whatever ....we're talking true transparent windows for X! :)

      • by FooBarWidget ( 556006 ) on Thursday April 17, 2003 @05:35AM (#5749913)
        I don't know about you but when I'm reading a webpage, I want to concentrate on the webpage, not everything below it.
        When I'm writing a report, I want to concentrate on my word processor, not all the windows below it.

        Translucent windows is eyecandy and good for demonstrations, but that's pretty much it. Other than that, they're usability nightmares and harm productivity.
        • by Anonymous Coward
          My experience is that when operating at lower resolutions, (slightly) translucent terminal windows can be useful for viewing information in another window I want to see but not copy-paste (for various reason - personally, I even retype short bits rather than copy-paste because I'm a very fast typist and don't like to move my hands away from the keyboard).

          And it isn't distracting in other situations (at least not with my settings and working habits).

          Still, I prefer a higher resolution so that I can have no
        • by msimm ( 580077 ) on Thursday April 17, 2003 @11:52AM (#5752337) Homepage
          Its kind of funny, I'm reading a lot of comments like yours. Which is fine, of course. But there is a sort of big push right now for just this sort of thing on Linux desktops. Eye candy, it seems is underrated here?

          As a user who has been using the Linux desktop for about 4 years now I'd have to say this is a very exciting project. You should take a look at kde-look [kde-look.org] to get an idea what types of eye candies are being kicked around. I've been using translucent aterms [sourceforge.net], Convectivea crystal icons [everaldo.com] and the Mosfet's KDE liquid module [mosfet.org] for quite a while now, I love it.

          Btw, check out Karamba [efd.lth.se], its a new KDE extention that suports (fake) transparency, lots of fancy do-dads and themes. Beefs up the candy factor (and some functionality!). Might as well look good if your going to have to use it.

          Last one! Check out Slicker [sourceforge.net]. Its a collection of utilities which provide an alternative to KDE's kicker, and looks good. I don't know about you, but I got tired of looking at screen shots of OSX.
        • "Translucent windows is eyecandy and good for demonstrations, but that's pretty much it. Other than that, they're usability nightmares and harm productivity."

          Not for me. I have a desktop switching app (called Altdesk, it's for Windows though) that has this tiny bar with all my desktops and apps on it. It's an 'always on top' window that I have at the bottom right above my Start Menu.

          Unfortunately, it blocks information occasionally because some apps throw stuff there. It blocks Opera's message about ho
      • I don't understand this whole translucent windows thing. Other than looking "kick-ass", what is the real benefit? Seems like all it does is make the windowing system more complicated and potentially slower. The only reason this would be helpful is if you could save screen real estate by overlaying windows and using both of them at once. But guess what: you can't. The human brain can't focus on two distinct tasks at once, and it definitely can't separate two sets of overlayed text. Besides, you can already l
        • Well actually I use it in OS X all the time. You need to toy with the levels enough to get it just right, but its actually somewhat useful to cascade a couple of windows, one with a man page or a browser showing help text behind a shell that you are trying out the command in. Not essential, by any means, but useful enough to miss when you can't do it.
        • by DrSkwid ( 118965 ) on Thursday April 17, 2003 @06:23AM (#5750077) Journal
          If you read the page then you'll notice that the excitement isn;t really about a quick hack to get the abysmal transparent windows working, it's about an OpenGL X-Server.

          This would mean some of the drawing done by the GPU instead of the CPU.

          What's the point?

          The basic need is that, well, it needs trying out!
          It's easy to say "oh, it will never work" but that's nto really true until someone can show you a well crafted OpenGL desktop and it doesn't work.

          I hope it works because for the most part my expensive graphics card pumps out a 2d desktop.

        • by dorward ( 129628 ) on Thursday April 17, 2003 @07:52AM (#5750457) Homepage Journal
          The human brain can't focus on two distinct tasks at once

          Don't you mean the male human brain? :)

    • a hardware accelerated desktop would be more power to us. that's what they did with aqua quartz right ?
      • by FooBarWidget ( 556006 ) on Thursday April 17, 2003 @05:37AM (#5749924)
        More power to us? How? In what way? I would hardly call translucent windows and shadows "more power", it's just eyecandy and doesn't improve my productivity.

        Quartz Extreme uses OpenGL acceleration for window compositing, but the actual drawing inside the window is still rendered in software.
        Heck, when it comes to raw drawing speed, Quartz is actually slow.
        • of course you totally miss the point of Quartz Extreme.

          When (not if) graphics chipsets are powerful enough to render display PDF into a texture then all the graphics drawing and compositing will be taken care of on the hardware, completely alleviating the CPU of all the donkey work.

          I can see apple taking this route as soon as its viable with the hardware, infact I wouldn't be surprised if thats sooner than anyone expects.
          • And the only thing we have to do is to wait until that hardware becomes available for x86?
        • by Zane Edwards ( 562074 ) on Thursday April 17, 2003 @08:49AM (#5750788) Homepage
          You seem to only see one side of the picture. Try doing a tutorial on some webpage while using a terminal to follow the instructions. Its not just cool to look at, it is functional to see what you are doing below the terminal window. On a small monitor, you don't have to move the windows every time you want to read a line, while working.
        • Agreed, this is eye candy.

          However, the potential for creating useful 3D widgets is something that warrants investigation...

          As a crappy example, take a widget that uses floor plans at design time, and presents 3D fire escape routes, or directions around a building, or whatever, at runtime.

          If I had a better, more general example that would be better suited to being a widget, than I'd go make it. The point is, their is potential there beyond eye-candy, that *could* increase productivity.
    • by platypus ( 18156 ) on Thursday April 17, 2003 @05:38AM (#5749925) Homepage
      Everybody seems to be obsessed with all this "3D-accelerated desktop" stuff but IMHO it's all overrated.

      Well, I for one am damn interested to finally find out on of the dirtiest secrets in the history of the GUI:

      What is on the backside of all these "windows"

    • Everybody seems to be obsessed with all this "3D-accelerated desktop" stuff but IMHO it's all overrated.

      That is because you don't have much clue what you're talking about.

      Using OpenGL will not automatically make everything faster. Heck, I wouldn't be surprised if some things become slower. OpenGL is good for 3D stuff, but sucks for 2D stuff. Ever tried blitting in OpenGL? Slooooooooow. And guess what? Most applications use 2D drawing primitives.

      Reality check. What makes you think that 2D blitting is
    • Another issue: Using 3d hardware uses more power. "So freaking what?!" I hear a thousand gaming geeks say.

      Well, for one thing, the noise level will tend to be higher; as case temperature increases, fans that will normally be quiet will start up, or already running fans will rev faster. The typical desktop is noisy enough already, and this will do nothing to help. People that have built silent machines, especially using mini-atx for use in their living rooms and so on risk getting a very large difference in
      • It will depend on the implementation and the card but it could lower power usage. If you can achieve a screen refresh in significantly fewer clock cycles using the GPU vs the 2D core then it is conceivable that you would actually be using less power as the GPU would be idling while not working on a refresh and the 2D core could essentially be turned off.
    • by kinnell ( 607819 ) on Thursday April 17, 2003 @06:30AM (#5750103)
      The biggest performance bottlenecks are, and have always been: 1) the driver 2) the kernel. 2 has already been addressed [optusnet.com.au] (my system flies with these patches; it's even faster than Windows!). The upcoming 2.6 kernel will be amazing. 1 remains a problem.

      Well, that's kind of the point isn't it? The real problem with X is that unless you're lucky enough to have the right card, there isn't a decent enough driver for it. For new cards, it often hasn't been written yet, and for old cards, it hasn't been updated along with the main tree, and has become buggy. Most card vendors don't bother writing drivers for linux, because writing an X driver is a whole different kettle of fish to writing a windows driver, and specs are hard to get a hold of for third party coders. Now imagine instead of having to write an X driver, the manufacturer just wrote an OpenGL driver - now they're on familiar territoy, because they're writing an interface to hardware which is designed to support that interface. Games developers, and such, will not even need to go through X, because a direct, accelerated OpenGL interface will be available, so porting to linux will be a lot easier. Manufacturers will see a blossoming market. Maybe this is wishful thinking, but this could be just what linux needs to sort out its graphics woes.

      • The real problem with X is that unless you're lucky enough to have the right card, there isn't a decent enough driver for it.

        "X" is a protocol. There can't be "drivers for it", there can only be implementations of it. And there are plenty of those, many of which have excellent drivers for the hardware they are designed for. You can get "X" implementations for Sun, SGI, and HP. You can get also commercially supported "X" implementations for Linux with excellent drivers from third parties (e.g., from xi

  • by Anonymous Coward on Thursday April 17, 2003 @05:18AM (#5749845)
    How is it done?

    The idea is that we see OpenGL as our hardware. So we just took the vanilla XFree sources and implemented TransluXent as a new hardware. Graphics are rendered to textures using the existing cfb code. Each top level window then consists out of a number of textures which are composed together on the screen. In this phase we can easily apply alpha blending.

    Although this initially was thought as a mere hack to provide translucent windows it is clear that this should evolve into an X server which uses OpenGL to implement the graphics operations. For more information about future plans please refer to the Future page.
    How can you help?

    I need food for further development of this Xserver. So if you are in the position to fund a free software project, consider funding a next generation X server.

    Also I need hardware as my poor TNT2 lacks pbuffer support and CopySubTexImage is buggy, making it virtually impossible to develop actual OpenGL rendering of X graphics primitives.
    Gilbert Baumann
    Ettlingen, Germany
  • by robbyjo ( 315601 ) on Thursday April 17, 2003 @05:20AM (#5749854) Homepage

    he needs pizza and some new hardware

    His webpage says he need a new hardware, but no pizza. Don't tell me you're his room mate and you're expecting pizza for free from us... ;-)

    • Yeah, he said he needed food. This may lead to conversations like this:

      boss: We are going to need an OpenGL window manager by tuesday.
      bob: Well, its gonna take a pecan pie and some cheetos.
      boss: No pecan pie. Peach pie.
      bob: OK, then Doritos plus fresh onion dip.
      boss: Done, we will expect it by tuesday.
      bob: Standard bonus for early projects?
      boss: Yup, 20 hotwings from Hootas...

      • Food for thought?? (Score:5, Interesting)

        by jkrise ( 535370 ) on Thursday April 17, 2003 @05:54AM (#5749985) Journal
        Actually he said, "I need food for further development of this Xserver". Now, I can u'stand /. wants to dramatise this and say food==pizza (do /.ers and developers always eat junk food?).

        I'd think food here could mean 'ideas' (food, as in fuel, intellectual fodder). Plus, when you consider he's a German, you could be sure how these words get mixed.

        Food for thought?
  • Hmmmm (Score:5, Interesting)

    by Pflipp ( 130638 ) on Thursday April 17, 2003 @05:20AM (#5749855)
    A few interesting thoughts crossing here...

    First off, we were all waiting for someone to implement Quartz/ Aqua/ Whatever on GNU/ Linux in a practically viable way. So is this it? Can this be our backwards compatible, practical step towards Quartz?

    Secondly, how will this cross with the current state of "forking XFree86"? Will people be jumping all over to adopt this code to spur the forking of XFree (or, conversely, will XFree accept this code more swiftly because of its current under-fire state)? Or is this totally the wrong time to introduce this, because of the XFree wars going on?

    Any comments?
    • Re:Hmmmm (Score:3, Interesting)

      "Can this be our backwards compatible, practical step towards Quartz?"

      Quartz is overrated. It *feels* fast, but when it comes to pure drawing speed, Quartz is slow. They say Quartz Extreme use OpenGL acceleration but that's only true for window compositing: everything else is still rendered in software.

      People here always brag about how "things must be optimized for speed in order to succeed on the desktop" and how "raw performance" is the most important thing in a windowing system but forget that Quartz
      • You may have a point, I have been working on a 2d sprite librabry using Quartz, for my own amusement, and its not working out as fast as I'd like it to be. I wouldn't like to swear that this wasn't just my sucky naive code. Still, I have actually been thinking of redoing it in OpenGL textures, funnily enough.
      • Re:Hmmmm (Score:2, Interesting)

        by lowmagnet ( 646428 )

        You are correct to say that it uses OGL for compositing and software for everything else. However, so does about every other HAL out there. Last I checked, they don't have hardware accelleration for fonts, aside from blitting. Everything is still done in CPU. Certain things cannot be done in hardware yet. 90% of our GUI work out there is compositing, so I don't see the big deal.

        Oh, and shouldn't it be "all your package are belong to us"?

      • Re:Hmmmm (Score:2, Interesting)

        by Anonymous Coward
        Quartz is actually pretty fast, if used correctly. Look at Apple's X11 server - it implements the X11 drawing primitives very efficiently.

        Of course considering the graphics hardware Apple has to back it, it would be inexcusable not to have decennt performance. However, the fairly slow CPUs used don't seem to be a problem.

        On my TiBook with a fairly slow CPU and fairly fast graphics hardware most X11 drawing (using Apple's X11 server) is considerably faster than XFree86 on my old desktop PC with a CPU of
  • I think it'd be suitalbe for the Apple Mac and pr0n :-).
  • In an update to our earlier article - X hogs network resources, we now present - "TransluXent hogs local *and* network resources."
  • Many people have begun saying that the Linux Operating System is Ready for the desktop market. For normal people to use instead of Windows as their exclusive operating system, and yet this is news worthy because someone finally brought this feature of truly transparent Windows to Linux.

    Now do not get me wrong here, this is cool as hell, I'm glad someone is working on it but for someone to finally start bringing OpenGL as a backend after all these years is sad. It should have happened a long time ago. The X
    • Just as a matter of interest, how long has MS Windows had translucent windows? (I mean included with the OS, not as an extra application). I've never used them so I don't know.

    • Why do we need a "3D-accelerated desktop" or "translucent windows" in order to "succeed on the desktop"?
      Win95/98/ME didn't have either. Were they ready for the desktop? People said they are.
      Translucent windows are only eyecandy and can actually decrease productivity. When I'm typing a report I want to concentrate on my report, not all the windows below my word processor!

      Translucency is nice but it's not a requirement.
      • by starseeker ( 141897 ) on Thursday April 17, 2003 @06:07AM (#5750031) Homepage
        IMHO "ready for the desktop" is a moving target. For goodness sake, Windows 3.1 was once a viable commercial product! Today it would be laughed off the market. If the current KDE desktop had gone up against Windows 3.1 the world would be running Linux right now. Yet many people used Windows 3.1, because it was such an improvement over what had come before.

        I think Linux is entering the desktop race at an unfortunate stage. So many people are now so used to Windows that I'm not sure what can be done about it in the short term. IMHO KDE as a desktop environment can mostly stand toe to toe with Windows. But it doesn't matter, because it isn't exactly what people expect.

        The number of computer users has exploded over the last ten years, until now much of the technological world is dependent on them. But that also means a lot of people and companies have standardized on one thing - Windows. There's not a whole lot you can do about that - one the decision is made and people are trained, the inertia in the system outweighs EVERY other factor.

        We as geeks tend to forget this, but many people want the computer to just do its job and stay out of the way. Which really means "do what I expect". What they expect is what they are used to. Checkmate.

        I consider the computer desktop to be a natural monopoly, even more so than things like phones. Phones were only a natural monopoly while there was one way to get a signal to the home, and it involved laying lots of cable. But technology changed that situation, and the people were ready to use it, because it didn't involve any significant change on their part. The monopoly with computer software, however, is driven not by technology but by the USER HIM/HERSELF. There is no solution for this problem based on technology. I know the thought is usually used in other circumstances, but it applies here - you can't apply a technical solution to a problem rooted in people. The monopoly comes from people.

        Yes, Linux still has some weaknesses. But compare it to Windows 95, for example, which kicked off the PC boom. Being "desktop ready" is all relative. And in the end, I think worrying about being "desktop ready" won't make any difference, even if we are somehow defined to have "made it". I'd worry about inertia. That's the real enemy.
        • Yet many people used Windows 3.1, because it was such an improvement over what had come before

          Windows 3.1 was such an improvement over DOS for PCs and compatibles only. I had an Amiga: preemptive multitasking, scalable fonts, multiscreen gui (I could even drag a screen with different video mode), a nice Unix-like command line environment, up to 24 MBs of RAM (for 68000) and up to 4 GBs for later Motorola CPUs, 4-channel 44 KHz sound, blitter and a video chip that could do hardware scrolling, hardware sp

  • by Anonymous Coward on Thursday April 17, 2003 @05:23AM (#5749869)
    Two more uses besides alpha blending that instantly spring to mind:

    - scaling (with interpolation)
    - color depth independance

    without the underlying application having to know about this at all!
  • The Amiga's [amiga.com] are gonna have something similar, only with menus. Of course, their dockies make it even better.
    AmigaForever!!!
  • by BESTouff ( 531293 ) on Thursday April 17, 2003 @05:26AM (#5749879)
    If I'm not mistaken, recent Windows use the 3D acceleration to draw all 2D operations, which means they can accelerate everything. I'd love to see XFree do the same thing. Really, this is more than a nice hack.
  • Thanks (Score:5, Funny)

    by Anonymous Coward on Thursday April 17, 2003 @05:27AM (#5749882)
    The guy is working hungry and with poor resources, and you throw rocks in his webserver! Thanks slashdot!
    • The guy is working hungry and with poor resources, and you throw rocks in his webserver. Thanks slashdot
      Coming March 2003 : Operation Slashdot Iraq
  • by melonman ( 608440 ) on Thursday April 17, 2003 @05:27AM (#5749885) Journal

    Yep, the site is dead, that must be a record.

    Personally, I'd be a lot more excited if someone was working on a useable desktop that used less bandwidth, especially in terms of network traffic with remote sessions. The amount of bloat on KDE, for example, gets worse with each new release, and it is killing my local network.

    Alternatively, I suppose I could go for an older window manager that makes DOS look futuristic.

    Please, can't someone come up with a Linux Window manager that doesn't give Windows users hysterics, but which can run over, say, a dial-up connection at a reasonable speed? In other words, something that performs a bit like MS Terminal Server (the 2000 version, let alone the XP 16-bit one)? I shouldn't need a gigabit backbone to run 10 diskless terminals...

  • by Nicopa ( 87617 ) <nico@lichtmaier.gmail@com> on Thursday April 17, 2003 @05:29AM (#5749891)
    This is being discussed here [xwin.org].
  • Could somebody mirror the image.

    It timeout on me.
  • Mirror (Score:5, Informative)

    by brejc8 ( 223089 ) on Thursday April 17, 2003 @05:36AM (#5749916) Homepage Journal
    Mirror List [man.ac.uk]

  • Why? (Score:5, Insightful)

    by jm91509 ( 161085 ) on Thursday April 17, 2003 @05:39AM (#5749930) Homepage
    I've been puzzled by transparent/translucent window fluff.

    What is the point? Other than chewing up graphics card cycles.

    If you have one window and a black background then super. Kinda just like what I have now. But if you are trying to code in vi, and that window is over slashdot, and that window is over irc you can't see anything!

    Please tell me what I'm missing.

    • ditto (Score:4, Interesting)

      by ragnar ( 3268 ) on Thursday April 17, 2003 @06:09AM (#5750034) Homepage
      I have experiemented with translucent terminals in Mac OS X and found that things are less readable on the whole. Maybe the trick is in the user interface. Since I often find myself minimizing, hiding or otherwize moving a terminal window out of the way, maybe the solution is to have a key combination that makes an app window translucent while they key is held down? This might be more useful to me.
    • Re:Why? (Score:3, Interesting)

      by starseeker ( 141897 )
      Because when used properly it enhances the coolness factor of the desktop. Basically the way to approach things is to have different levels of transparency depending on whether or not a window is active - if it is active, transparency should drop to a minimum so real work can go on. Most likely this should be part of desktop themes - how to handle transparency as a function of window focus. Maybe even add a scrollbar functionality to the window border at the top to temporarily override the defaults if yo
    • by @madeus ( 24818 ) <slashdot_24818@mac.com> on Thursday April 17, 2003 @07:20AM (#5750285)
      I use them on OS X and having a terminal/vi and a IDE (e.g. Project Builder) visible at the same time (terminal over source editor) is _really_ useful.

      It's also useful when Googling to fix system problems (web browser underneath, term on top) or to diganose system problems on multiple hosts (with a large number of overlapping x terms).

      I have no problem seeing though 3 levels of terms, or reading translucent terminals. The exact level of translucency, the color scheme and not having a very distracting desktop background are quite important factors though.
    • Re:Why? (Score:5, Informative)

      by ksplatter ( 573000 ) on Thursday April 17, 2003 @07:47AM (#5750420)
      I know of one very good application for this.

      It seems like everyone on slashdot is only looking for reasons it is useful to them. Put away your icr and web browsing thoughts for a minute.

      Let's think broader. Lets think about the commercial use for a feature such as true transparency. I currently develop Air Traffic Control software for the US. I work on the display software that had to be written with the MOX (multiple overlay extenstion) extension to X. But we needed to have a vendor deveop a very expensive card to actualy be able to do the transparency. We have requirments to display the tracks (aircrafts) over anything else on the display. All of our windows therefor have to be truly transparent because they all have a different visual priority. I belive there are many other commercial uses for this too in real time monitoring. If there was linux support for this there would be a much bigger push to develop some of these big money project on linux boxes. This would be a major cost saver for software companies and a big boost for linux.

      IMO
  • For those... (Score:5, Insightful)

    by JanusFury ( 452699 ) <.moc.liamg. .ta. .ddag.nivek.> on Thursday April 17, 2003 @05:41AM (#5749940) Homepage Journal
    For those who keep talking about how windows has been 3d accelerated for ages or whatever, that's untrue. Windows did not care about 3d acceleration before Win2k, and I *believe* it still uses all 2d rendering for the new layered window stuff in 2k/XP (but I could be wrong - I know that there is a hardware accelerated alpha blit function available on every windows platform from 98 on). However, the new layered window stuff *does* buffer windows in offscreen 'textures' instead of rendering them directly to the display. But as anyone who's tried resizing a large transparent window knows, it's nothing to write home about.

    Aqua, if memory serves, stores all windows and bitmaps in offscreen texture buffers, does almost all primitive rendering with hardware primitives, and then composites it all onscreen using quads (or triangles, whatever) and applies various rendering effects to it.

    This system seems to simply buffer individual windows in VRam, render to them in software, and composite them in realtime using the hardware, instead of just rendering everything directly to the front-buffer. Unless they get most primitives rendered in hardware (especially bitmaps/icons), it's going to be ass-slow.

    Just my 0.02c.
  • by Hapless ( 38242 ) on Thursday April 17, 2003 @05:42AM (#5749942)
    Another project (with admittedly a different aim) that is trying to bring exciting and modern desktop features to the masses:

    http://www.directfb.org/xdirectfb.xml

    Wouldn't it be nice if there was a consensus project for UNIX/Linux graphics that could integrate and manage the work of all these many people? Concentration of effort, rather than dilution?
    • by MarcQuadra ( 129430 ) on Thursday April 17, 2003 @06:41AM (#5750133)
      Anyone looking at the framebuffer device as salvation is barking up the wrong tree. Yes, its direct to hardware, but it's slow as molasses when there's anything happening on the screen. Try running a console-intensive app on a fbconsole and watch the latency of all your apps go through the roof. I can't even play an MP3 when the framebuffer is busy, and I have a top-end system with optimized software.

      XFree86 has direct-to-hardware rendering, it has DRI and MITSHM. Granted it uses a few more megs of memory than I'd like it too, it's our best bet for 2D performance out there. It really is quite good, I think a lot of the desktop environments need optimization (KDE is a bad performer all-around, IMO).

      The framebuffer exists for three reasons:

      1. Simple to program for.
      2. Needed for 68k and most PPC machines (no native console mode)
      3. Platform Independent.

      it doesnt:

      1. Perform well enough for casual use.
      2. Play well with others.
      3. Run X programs without the overhead of X anyway.
  • by Idimmu Xul ( 204345 ) on Thursday April 17, 2003 @05:44AM (#5749946) Homepage Journal
    if this means adding an opacity slider to Metacity ;)

    Would the Window Manager take care of the opacity of a window, so it was either all transparent or none, or would this be something the application involved did, to make parts of the app transparent and other parts solid?

    Transparency is nice, I'd like to have all my popup menus transparent but not necessarily their parent windows, I think things are going to get complicated fast perhaps though!
  • Check out this [uni-karlsruhe.de] screenshot for windows casting shadows. Apparently the server doesn't currently do this, but it's a nice effect.
  • There isn't any "raw" opengl interface under Linux, so you will always need to run two x servers. A quite ugly solution in my opionion.
    This work should be done at QT and GTK+ level. Overhead would be much smaller that way. I can only see some advantages of the double X server solution if you want to run remote x clients.
  • Hardware (Score:5, Insightful)

    by fr0dicus ( 641320 ) on Thursday April 17, 2003 @05:47AM (#5749959) Journal
    I say make him keep the old graphics card. That's a good minimum level in terms of consumer graphics hardware and it'll ensure the end product isn't bloated if it's useable.
  • Since TransluXent is based on XFree, I wonder if X is at all multithreaded and SMP aware? I'd love to run this on an SMP box!
  • by Bruha ( 412869 ) on Thursday April 17, 2003 @05:49AM (#5749974) Homepage Journal
    Start pr0n

    Enjoy Pr0n

    Girlfriend comes into house.

    Franticly load word processor to cover pr0n

    Scream as you notice you have windows transparent

    Girlfriend kicks you out of seat and takes over pr0n viewage!

    Wake up

    ===Sig===
  • At least his OpenGL /works/.
    I hate all your people who can get their video cards to work properly!
    Just because you read success stories from people with the exact setup~ just because you don't get any error messages~ just because it works on windows~ just because god loves you~ well it's still not going to work, k?

    Yet another cool-looking thing which I can get easily in windows and love, I can't get in Linux >_
  • hmm (Score:3, Funny)

    by X_Bones ( 93097 ) <danorz13@@@yahoo...com> on Thursday April 17, 2003 @05:55AM (#5749992) Homepage Journal
    Quick, this guy's poor, can't even feed himself or afford a graphics card made after the Stone Age; let's slashdot his website! muahaha
  • Yep, it's eye candy, nothing surer.
    But some will argue that anything more sophisticated than 80x24 console mode is eye candy. In some scenarios (servers..) it is. But we're talking desktops here :o)
    Personally, I think X rocks. I'd like to see this incorporated into the XFree code base, but optional, so that older hardware is still supported.

    In response to earlier posts along the lines of "but I want to concentrate on the browser/app/whatever, not whats behind them..." -- fine - you will not be forced to
  • screenshot mirror (Score:2, Informative)

    by gokulpod ( 558749 )
    here [nus.edu.sg]
  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Thursday April 17, 2003 @06:10AM (#5750037)
    This is the way to go for eyecandy, using the Hardware, which lies unused when in a 2D session. I've been waiting for something like this quite some time now. Good thing it's here now.
    But there's still work to do. Note that the windows are translucent all across, borders and all.
  • by 42forty-two42 ( 532340 ) <bdonlan@g m a i l . c om> on Thursday April 17, 2003 @06:26AM (#5750087) Homepage Journal
    We know you submitted the article. If you want hardware, why didn't you just say so?
  • Not Just a Novelty (Score:5, Insightful)

    by nathanh ( 1214 ) on Thursday April 17, 2003 @06:38AM (#5750124) Homepage
    The idea implemented here has more value than the novelty of translucent windows. Because each "window" is actually a texture stored in offscreen memory a window is never actually obscured. No more expose events! No more clip lists. Perfectly smooth window dragging in your window manager. Minimising a window won't cause obscured windows to redraw. It's like save unders but with hardware acceleration.

    A little bit of history is required here. X was written back when video memory was very tight: the framebuffer (what you saw) was ALL of the video memory. There wasn't any unused video memory for textures or pixmaps or caching. So obscured windows caused a big problem: what do you do when you unobscured the window? One technique was to store a bitmap of the window as a "backing store". If the backing store is on the X server then it is called a "save under" but it's the same concept. When a region is exposed you'd just draw in the previous contents from the backing store.

    Unfortunately backing stores use up heaps of memory. So the preferred technique was to send an Expose event to the application, tell it which region just got unobscured, and the application would redraw the necessary pixels. CPU was and still is cheap compared to memory! This is the technique still in use today and explains why you get messy redraws when you drag a window around your desktop.

    For people who are serious about removing all the cruft in XFree86, you could make serious headway by forcing all windows to be allocated with this TransluXent technique. The amount of legacy code you could rip out of XFree86 is staggering. All the clip mask code. All the loops around drawing code. Lots of tests become useless. No more need for Expose events. Also imagine a proper Xshape extension using alpha masks instead of clip lists.

    This TransluXent technique is unfortunately only hackery. They've implemented a "framebuffer" type based on cfb (colour frame buffer). This is the intermediate model that XFree86 uses before your video driver gets involved. So even though they get the translucency they won't get any of the potential to simplify the X server. If somebody could implement this idea higher up the chain - say as an extension to save unders!? - then you would make XFree86 a serious contender for Aqua style graphics.

    Of course, the downside is that you'll chew up serious amounts of offscreen video memory (aka texture memory). You might need to implement some code that "swaps" unmapped windows into system memory.
  • Offtopic (Score:3, Insightful)

    by e8johan ( 605347 ) on Thursday April 17, 2003 @06:42AM (#5750135) Homepage Journal
    Why is this in science and not in developer?
  • by wowbagger ( 69688 ) on Thursday April 17, 2003 @07:09AM (#5750245) Homepage Journal
    There is a fundamental limitiation to modern graphics displays that limits the usefulness of translucent windows - the lack of different accommodation depths.

    Consider driving along the road as it starts to rain. Normally, you are looking downrange - your eyes are focused on infinity (as far as your visual system is concerned). The rain drops on your windshield are forming an image on your retina, but it is out of focus, and so is easier for your visual system to ignore.

    Should you want to look at the raindrops (to evaluate whether the rain is sufficient to require you to change your driving pattern), you shift the focus of your eyes. Now the raindrops are forming a clear image on your retina, but the road is not - now it is the road that the visual system can ignore.

    So, to extend this to a computer display - at a minimum, you would want to employ some form of blurring on the windows in the background as well as reducing the contrast. For this, a 3D card with motion blur might work without too much added work.

    But the second thing you need is a good, quick way to shift focus from window to window. If the back windows are fully obscured by the forward windows you cannot just click on them. You cannot just shift focus - the system has no feedback where your eye is focused. As a result, you have to minimize the forground window, or have a "send to back" button, or something like that, and you still get into the "nope. Nope. Not you. Nope. Nu-uh. Nyet. Aw, c'mon!" mode.
  • MIRROR (Score:4, Funny)

    by chrome ( 3506 ) <chrome&stupendous,net> on Thursday April 17, 2003 @07:10AM (#5750248) Homepage Journal
    here: http://www.stupendous.net/mirrors/transluxent/ [stupendous.net]

    In case of slashdot effect ;)
  • by Jerk City Troll ( 661616 ) on Thursday April 17, 2003 @07:52AM (#5750453) Homepage
    I've read a number of posts that were highly moderated that make statements like "this doesn't increase productivity" or "this is just eye-candy". In general a lot of people think this functionality is useless. One guy said that 2D stuff in OpenGL is a lot slower, which is -1, Wrong. As someone who recently bought a PowerBook (first for superior hardware, but it turns out I really like Darwin too):

    - Technologies like these are beneficial to the user experience insofar as eliminating unexpected events. I am sick of seeing visual artifacts, seconds-old window trails, and other irritating bugs in windowing systems. This is the 21st century, you think that we could at least render simple graphics correctly. Quartz is the only windowing system that so far does this right.

    - Transluscent windows are not useless and they are not just eye-candy. I often as I work with Terminal, I use its transparency to imporve my workflow. It's nice being able to set my terminal directly on top of some instructions (like a HOW-TO) and not have to waste screen space. I also have other various widgets that display useful information to me (using Konfabulator) but do not really take up space because they are clear -- they are always on top but do not hide the data I am working with. Same goes for Stickies. The list goes on.

    - "2D" OpenGL is not slow. Maybe if many of you had a clue, you would be aware of this project [enlightenment.org]. Here, OpenGL is an option for achieving accelleration. You see, it's not a matter of whether it's 2D or 3D with this hardware. It's a matter of who better fill rates and handles various graphics operations (like alpha blending). Putting a texture on a polygon then making that polygon the shape of a window and giving it no angle is not "2D". Furthermore, it is extremely fast because 3D accelleration hardware is designed to do intensive graphics very fast. 2D accelleration is pretty much geared towards drawing primatives and only the most very basic instructions. It also remains CPU intensive. If you have super powerful hardware on your video card, use it for something in the other 80-90% of your time that's not used playing video games.

    My hat goes off to the author of this project. It's about time we see a development like this on X11. Maybe we'll finally see X11 come out of the stone-age and get to where Apple has been for the past 3 years.

Do you suffer painful hallucination? -- Don Juan, cited by Carlos Casteneda

Working...