Slashdot Mirror


Translucent Windows for X using OpenGL

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!"

19 of 389 comments (clear)

  1. This doesn't automatically mean higher performance by FooBarWidget · · Score: 5, Informative

    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 (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?)

  2. Isn't that what Windows does ? by BESTouff · · Score: 3, Informative

    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.

  3. This is being discussed in win.org by Nicopa · · Score: 4, Informative
  4. Re:Oh great, more network traffic by Anonymous Coward · · Score: 1, Informative

    xpde and Windowmaker might work better for you in that case. I don't think KDE is really designed with running over the network in mind. Personally I think Windowmaker is your best bet - smooth, stable, easy to use, and fairly light on a network. xpde will probably be your solution of choice for Windows users eventually, but I don't think it's quite there yet. For a file manager to go with xpde you might check out xfe. If your users are a little more advanced you might look at the gentoo file manager.

    http://www.windowmaker.org/
    http://www.obsessio n.se/gentoo/
    http://www.xpde.com/
    http://sourcef orge.net/projects/xfe/

  5. Re:This doesn't automatically mean higher performa by Anonymous Coward · · Score: 2, Informative

    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 non-overlapping windows, but with laptops that often isn't an option.

    In general, I do think that the X11 rendering features need updating, things like alpha blending can be used for a lot of things besides translucent windows. Using GL features isn't a bad idea, considering that most current and recent hardware works hard to accelerate those features, although going as far as Quartz Extreme is perhaps a bad idea since it consumes a lot of graphics memory, which XFree86 isn't currently very good at managing dynamically (everything used by the X server is permanently allocated to it).

    In fact, if you look at the recent RENDER extension, it's very similar to OpenGL. It looks like it's probably the direction rendering APIs are headed for. The biggest problem with OpenGL isn't that it isn't suitable for 2D - it works very well for 2D - but that it isn't specified to a pixel level and that it doesn't have decent font rendering support.

  6. screenshot mirror by gokulpod · · Score: 2, Informative
    --
    My mom never taught me to sign.
  7. Re:Another thing that X should have had a long tim by Anonymous Coward · · Score: 1, Informative

    XDirectFB has had translucency, KDE 2.2 introduced it too.

    And as someone else pointed out, were Win9x/NT not ready for the desktop?

    Pish

  8. Using HW accel for eyecandy is the way to go. by Qbertino · · Score: 3, Informative

    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.

    --
    We suffer more in our imagination than in reality. - Seneca
  9. The Framebuffer is a DOG! by MarcQuadra · · Score: 4, Informative

    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.

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  10. Re:Oh great, more network traffic by Anonymous Coward · · Score: 2, Informative

    Try the "low bandwidth X" extension:

    http://www.x-docs.org/Xext/lbx.pdf
    http://www.g elatinous.com/aaron/tips/lbxproxy

  11. Re:This doesn't automatically mean higher performa by Anonymous Coward · · Score: 1, Informative

    No, PDF is not going to be accelerated by GPU anytime soon.

    It has nothing to do with GPU performance or GPU ISA. It has everything to do with video memory vs. system memory. With OpenGL/Quartz Extreme, you can't use _existing_ 2D acceleration because window textures can be located in system memory (think of it as: VRAM/RAM and System RAM/swap) and GPU can't access system memory at all - unless you use some kind of Unified Memory Architecture, thus creating yet another bottleneck.

    If you want to use 2D acceleration for drawing into textures, you need:

    1. Create texture
    2. Upload your texture into VRAM
    3. Draw into it using GPU
    4. Download it from VRAM back into system memory, so your backing store doesn't get lost when VRAM space becomes full
    5. Upload it again as needed

    If you want to use 3D acceleration with software 2D drawing, you:

    1. Create texture
    2. Draw into it using CPU
    3. Upload it as needed

    Guess which approach is faster? Hint: the slowest parts are bus transfers.

    P.S.: PDF is _not_ used for every drawing operation in OSX. In fact, most applications use old-fashioned bitmaps for drawing. PDF in OSX has exactly the same status like SVG (librsvg) in GNOME - it is optional and you can use it, if you need it.

  12. Re:This doesn't automatically mean higher performa by Trashman · · Score: 2, Informative

    Translucency in win2k? You want this. The author of this software posts on /. sometimes.



    --
    Do not read this .sig
  13. Re:This doesn't automatically mean higher performa by Daniel+Phillips · · Score: 2, Informative

    In fact if this guy keeps his hardware low-end and makes it useable.. he will out-code all the other schmucks out there that call themselves programmers.

    and the remark by the article's editor about the TNT2 is proof that many people have no clue about computers even so called geeks.


    No, it's proof that you didn't bother to read the article, in which the author clearly states:

    "* Implement more graphics primitives using OpenGL instead of cfb. This currently is kind of stalled since I only have a poor TNT2 which lacks pbuffer support and has a buggy implementation of Copy[Sub]TexImage2d. So rendering to textures is kind of hard with this hardware."

    --
    Have you got your LWN subscription yet?
  14. Re:Why? by ksplatter · · Score: 4, Informative

    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

  15. Re:Can you say Quartz Extreme? (don't feed troll) by llamalicious · · Score: 2, Informative

    Know your facts before you troll, buster.

    Go to Apple's QE site and follow the link to the technology brief.

    IIRC, one primary reason is the card has to support non-square textures, something the TNT2 does not, otherwise QE cannot function.

  16. Re:This doesn't automatically mean higher performa by red_dragon · · Score: 2, Informative

    ... but the other one was called a PixelWorks card...as I understand it, they were specifically optimized for displaying and rendering postscript (cause that's what the program made!).

    Yay, a NeXTDimension board for PCs!

    For those who don't remember, NeXT made a colour graphics card for the NeXTCube called the NeXTDimension, which consisted of an Intel i860 processor running at 33 MHz, up to 32 MB of RAM, and a bunch of video/audio I/O interfaces. The card was designed to offload all Display PostScript operations from the CPU (besides the added video editing capabilities). Since the NeXTStep GUI used Display PostScript for everything, the GUI got a hefty boost from the dedicated hardware.

    I wish there was something similar for Display PDF.

    --
    In Soviet Russia, Jesus asks: "What Would You Do?"
  17. Re:What it takes to make translucency work by Anonymous Coward · · Score: 1, Informative

    Please go and learn about 3D rendering. :-)

    You could use depth cues for this no problem. Eg, fogging and line strengths and things. Depth of feild can already similate this stuff - You don't need to hack motion blur.

    There is already a "3d desktop" project, which is essentially an applet that takes a screen buffer grab and maps it to a GL model. You can then "Alt-Tab" and zoom out of your current screen, then rotate through the available screens. Something like that might work...

    Eg, "Alt-Tab" and all windows fly into a carosel formation, rotating until you select the one you want. Or Something.

  18. Re:This doesn't automatically mean higher performa by p3d0 · · Score: 2, Informative
    Translucent means that the object behind the material is distorted in some way.. such as darked or discolored.
    That's not my understanding, and at least one dictionary disagrees with you:
    translucent adj.
    Transmitting light but causing sufficient diffusion to prevent perception of distinct images.
    "Translucent" implies diffusion, not merely darkening or discolouration. Coloured glass can be transparent or translucent depending on whether diffusion occurs.
    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....