Next-Gen X Window Rendering For Linux
Bytal writes "Seth Nickel, a GNOME hacker, has an extensive treatment of the next generation Linux graphics technologies being worked on by Red Hat and others. For all those complaining about the current X-Windows/X.org server capabilities, things like 'Indiana Jones buttons that puff out smoothly animated clouds of smoke when you click on them,' 'Workspace switching effects so lavish they make Keynote jealous' and even the mundane 'Hardware accelerated PDF viewers' may be interesting."
And only a few days ago we were asked, "Where have all the cycles gone?" Sheesh.
...negotiating with graphics card manufacturers to get some solid, open drivers for Linux.
That would make this endevour much easier in the long run, would it not?
There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
Actually reading through it now, it looks like they are going for a combination of OSX and XP. Still got to ask, are they beating a dead horse, when OSX does Xwindows too?
"Slashdot, where telling the truth is overrated but lying is insightful."
oh. sorry. parsing error.
I read that as "Next Gen-X Window Rendering for Linux"
"Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
I am sure the new Linux desktop will make OSX look like Windows. And then the entire creative department will rush out and buy Linux based laptops just to look trendy.
This is not the sig you are looking for...
Seems to be working toward the same goal as the E folks with their DR17 and associates libraries.
Windows that shrink scale and move all over the fucking place with cool animations
Yes, sounds... nice. And easy to work with.
Life is Reality
"Indiana Jones buttons that puff out smoothly animated clouds of smoke when you click on them"
This is kinda cool. I know it seems gimmicky and all, but I have to say there's something to be said for having a UI that subtley lets you know what you just clicked on.
I know a few people aren't keen on eye candy. They worry about slowing things down etc. But I have to say, in my own experience, the more visual feedback I get from my computer, the more attuned I get to using it. A lot of my actions become reflex instead of having to decipher what I should do next. For example, I use Opera. When a page is loading, a red X lights up. (Click on it and it stops the page from loading.) It's subtle, but I actually do react to that red icon there when it's on. Somewhere deep down, I have a sense of "This page is ready for you to browse". I find that sort of thing useful.
Of course, it can be done badly or absurdly, but eye candy like this can actually be really useful.
"Derp de derp."
I submitted this story to Slashdot last week, but for some reason it seems to be stuck in "Pending" status, so go here: http://nat.org/2005/february/#9-February-2005
It's an OpenGL-based X11 server, complete with some screenshots. Apparently, window dragging is very smooth (no repaint events are even given to the apps), and with Cairo and GTK, this really could be the future backend for Linux desktops.
overall the idea is good, however...
1) rendering to texture is slow on some GPUs, especially GPUs with limited memory.
2) alpha blending is expensive on almost all GPUs.
imo X needs an overhaul, needs to ditch the legacy crap (lose Xaw for example) and move on. stop interfacing with video hardware like it's 1980.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
Particularly true with Tiger (what with the new CoreImage technology), OS X really can push eye candy more than Windows (and Linux) for one main reason - the mac development team have a limited number of graphics cards to develop for, and the drivers are pretty much rock solid.
I just don't see that happening in Linux / Windows - developers must write for as wide a range of hardware as possible. One would therefore imagine that such eye candy being talked about in Linux would be optional, and you'd only get the full benefit with the highest powered and most compatible graphics card - whereas in OS X, most users can get the eye candy without any problems. Of course, there are certain graphics cards on macs that don't support Core Image, Quartz Extreme etc, particularly on the older macs people are upgrading, but I'm willing to bet the majority of macs will be able to run Core Image etc. Whereas here, the minority of PCs will be able to run the Linux eye candy.
Seriously. Otherwise all the effort being put into X.Org's newest extensions is basically tied to the good will of card manufacturers when it comes to modern videocards.
Anyway, there's a lot of terrific work being done on X.Org - Cairo, XComposite and Damage specially. When these extensions become supported by the GUI toolkits, we'll be in for a treat. It's a shame it took guys like Keith Packard so long detach themselves from XFree86.
"Don't make it snazzy, make it *functional*, snazzy can come later."
I was under the impression that most of the UIs for Linux already are functional.
With that said: Visual feedback is part of being functional. Imagine if ythe cursor you used in the field you typed this into didn't blink. You could adjust to it, but admittedly this 'snazzy' feature is helping you.
'Snazzy' is more benefical than most realize. Remember that we, as a species, are interactive creatures. Visual snazziness really isn't all that different from body language.
"Derp de derp."
Hey, this will get you "Windows that shrink scale and move all over the fucking place with cool animations". What more could you want?
My other account has a 3-digit UID.
A few things that sound useful, like:
- Hardware accelerated PDF viewers
- Synchronized smooth resizing so there's no disjunct between window borders moving and the contents redrawing (you should see the demos of this in luminocity... it really makes a difference in how real the interface feels, just as double-buffering did for stuff moving)
- A shared path between on-screen display and printing (using Cairo's PDF/PS backends)
- Alpha transparency in applications whenever and wherever the urge strikes us
A couple things that may lead to greater usability:- Toolkit themes that draw with layer blending effects, delightful bezier curves, and irritating alpha gradients
- Live window thumbnails
And lots of rather pointless fancy eye candy:- Indiana Jones buttons that puff out smoothly animated clouds of smoke when you click on them
- Hundreds of spinning soft snowflakes floating over your screen.... without messing up nautilus
- A photograph of a field of long dry savanna grass as your desktop background... where the grass is gently swooshed around by a breeze created by moving your mouse across the background
- Windows that shrink scale and move all over the fucking place with cool animations
- Vector icons with very occasional super subtle animations rendered in realtime...a tiny fly which buzzes around the trash every several minutes, etc... think mood animations as in Riven (which as a total random aside is still a shockingly beautiful and atmospheric game years after it came out, postage stamp sized multimedia videos notwithstanding)
- Workspace switching effects so lavish they make Keynote jealous
- Brush stroke / Sumi-e, tiger striped, and other dynamically rendered themes where every button, every line looks a little different (need to post shots / explanation of this stuff, but another day)
- Progress bars made with tendrils of curves that smoothly twist and squirm like a bucket of snakes as the bar grows
- Text transformed and twisted beyond recognition in a manner both unseemly and cruel
- A 10% opaque giant floating head of tigert overlayed above all the windows and the desktop.
Now, these fancy effects are certainly kind of cool, and may look nice. (Though I can guarantee that when they're all in, I'll probably still be using Blackbox.) However, is that really all that the future holds? More special effects, without any substantial improvements in usability?How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
i wrote a paper on this topic for my CG1 class, and it covers most of the modern display systems with a few right around the the horizon.
i'm hoping cairo/glitz will give quartz extreme a run for its money. now we just need to get started on implementing something similar to coreimage/corevideo!
- tristan
You know what? I'm really sick of seeing OSX trolls posting all over slashdot.
Everytime ANY topic comes up, some OSX troll pipes in "So its just like OSX!" well, OSX isn't fully (or even mostly) open source, Quartz Extreme isn't an open standard, etc. Ok? Do you understand that? Even if it was, we like our software to be GPL'd so that we don't just shift ourselves from being slaves to Bill Gates and Microsoft, to being slaves of Steve Jobs and Apple. Mabye you don't care if you really 'own' your PC or not but we linux users do. So STFU with your OSX this and OSX stuff that.
Its even getting absurd. Someone mentions making a Linux network for sharing sound -- some OSX Troll pops in "Just spend thousand of dollars on mac parts and there you go! You don't have to use an inexpensive solution!"
Pretty soon I'm gonna start seeing "If those idiots voted in OSX instead of Bush everything would be perfect now".
The Gentoo-Emerge trolls never came close to the kind of witless trolling that you OSX fuckers are reaching!
I don't like your cheesy OS! I think the widgets are ugly! I think that stupid bar on the bottom of the screen looks like CDE back from the grave! I like my Athlon64 instead of your goddam PPC! I like my beige case instead of your tiny little silver box! I want to be able to open my case and see what shits inside it, and I don't want to have to use a fucking laptop harddrive in a non-portable computer!
Every-fucking-topic some OSX troll shoes his stupid platform in, its worse then the Liberal-Conservative crap from the Americans.
Look you obnoxious pricks -- not everyone digs your fucking Macs.
--SD
"Computers will never truly be free until the last windows user is strangled with the entrails of the last mac user."
Such "negotiation" would be largely a waste of time. You need to give graphics card manufacturers a market to care about and demand for their cards. Currently usage of 3d on Linux is very limited, a few games, visualisers and niche apps.
If 3d is used more widely used on the desktop then more card makers will see linux as a market for their cards and more people will be using 3d and pressuring for better, more open drivers.
Boffoonery - downloadable Comedy Benefit for Bletchley Park
Granted, Enlightenment is a window manager that lives on top of the existing X protocol, but nearly every single piece of 'eye-candy' this guy mentions is already do-able in E17.
Sounds just like the themeing system in E17 to me... http://enlightenment.org/pages/systems.html
Don't get me wrong, the things Seth describes sound cool, but the way he describes it makes it sound like they're the only ones with these ideas, when in fact Enlightenment 17 is already enabling most of what he mentions in this article. Sure, it's not a "production" release yet, but DR17 is certainly usable today, and has most of the features he mentions.
Heck, some things Seth talks about (Live window thumbnails) have been available in Enlightenment for quite some time (I know DR16 has them, and maybe earlier versions as well)
True... but even System 6.0 was a paragon of usability compared to the state of Gnome and KDE today. Even the constant crashes gave you a dialog whose buttons were action verbs (not to mention a cute little bomb icon). Hard to hate something like that.
OS X is wonderful, to be sure. But it is proprietary and only runs on Mac hardware. Xorg is open source and runs on many operating systems and architectures. Big difference. You will continue to see Linux improve in the coming years and there will be more and more Linux desktop deployments. That is the advantage of open source. The battle is far from won. You didn't hear it here first, but you did hear it here.
Celebrate the finer things in life
I wouldn't call it a paragon of usability. It may just be me, but I always seeked out the sparcs where I could just log onto the unix system. Could do almost as well logging on at home over the console with modem on an 8088 with 640k ram and a CGA screen, console hasn't changed too much since then.
But don't get me wrong, I'm not bashing Macs. I honestly don't have enough experience with them to bash them. I just question the term "paragon of usability". OS X seems good, I played with it at CompUSA for like 2 or 3 minutes and thought, "cool" with no headache :)
Hard to hate something like that?
You have go to be kidding. It even got worse when System 8 would chastise you for "not shutting down properly" when you were forced to hard reset the locked up bastard. Gah! Nothing like that smiling little MacOS face telling me I've been a bad boy and to be more careful next time. YOu! YOU! Be more careful! You don't overwrite other programs memory space and trash my work!
Oh yeah and the crash dialog boxes may as well have been labeled "Fuck me" for all the good they did. Force quit? Yeah that worked well. Should have been labelled "Finish Crashing".
Sometimes my arms bend back.
Because its the technology being described in the article
Because your post is about different rendering systems and whether they use OpenGL. The thing I linked to is about X and OpenGL.
LINUX != x86!
2^5
What do you have to offer other than your word?
Well, an understanding of the topic we're discussing, for starters. I mean, I know what all the words mean, which is clearly something that you can't truthfully say. All you've done is pull quotes from marketing brochures! There's no evidence at all that you have even a passing familiarity with the basic concepts under discussion here.
you're going around claiming Quartz doesn't use PDF for imaging
Correct.
when every developer documentation from Apple directly states that Quartz uses the PDF imaging model
Also correct.
Gasp!
How can this be! How can Quartz 2D both be PDF and not PDF!? He's a witch!
Friend, in order to wrap your head around this topic, you're going to have to understand what the expression "imaging model" means. An imaging model is not a file format, and it's not an instruction set, and it's not an interpreter. It's not actually any type of computer software at all. Rather, it's a way of looking at things.
Back in the old days, we had QuickDraw. QuickDraw used a pixel-based imaging model. You drew to the screen by specifying coordinates in terms of pixels: integer coordinates, bottom-left origin, one pixel was exactly one seventy-second of an inch. Regions were translated literally by shifting bitmaps around in memory. That was the QuickDraw imaging model.
That worked great for drawing to the screen, but it didn't work at all for drawing to a laser printer. For drawing to a laser printer you needed a totally different imaging model. Which means you had to do one of three things in your program: Either you had to maintain an internal representation of whatever you were drawing in whatever form was appropriate for printing and then convert that to QuickDraw for on-screen display, or you had to maintain a QuickDraw representation and convert it at print time, or you had to do both.
But the advantage of QuickDraw was massive: You could draw right into video memory. Toggle a bit in memory and a pixel changed color on screen. Very efficient.
Quartz 2D is different. It uses an entirely different imaging model. Rather than representing on-screen graphics as bitmaps in memory, Quartz 2D creates a layer of mathematical abstraction. With Quartz 2D, you still have a bottom-left origin, but you're not longer on an integer plane. Coordinates are given as floating-point numbers. You don't deal in pixels, but rather in mathematically pure regions of the drawing plane.
You draw in Quartz 2D by defining regions. A region is a locus of floating-point coordinate pairs. For example, (2.1, 3.37), (6.29, 5.3), (7.889, 1.961) defines a triangle. You draw by telling Quartz 2D to fill that region with a certain color, defined by any of the supported color spaces. For instance, you might use RGBA, meaning you'd specify red, green and blue color components and a floating-point opacity value.
Sending these commands to Quartz 2D from within your program creates an in-memory data structure called a display list. This display list doesn't look like anything at all; it's just a sequence of bytes that are encoded to represent the scene you drew. The display list doesn't become anything until you send it to Quartz Compositor (or Quartz Extreme) to be rendered into pixels.
The fundamental assumptions behind Quartz 2D drawing -- the coordinate system, the color spaces, all the low-level details --are referred to collectively as the "imaging model."
PDF has an imaging model that is very similar to Quartz 2D's imaging model. Not identical, but very similar. That's because Apple's engineers were inspired by both PostScript and PDF when they created Quartz 2D.
Because Quartz 2D and PDF use the same imaging model -- the same set of fundamental assumptions --it's very easy to convert a PDF file describing a scene to a Quartz 2D display list that describes that scene. Or you can go vice versa, starting with a Quartz 2
Perhaps the drivers are solid, but only if you are running the right Linux (not *BSD, reactos, or any of the other open source operating systems that would like good support for these cards) on 80386 (not PPC, sparc, MIPS, or any of the other systems linux and the others run on - though admitidly not all of them have the right hardware to connect the card - but some do. I'm not sure about x86-64 either, though I suspect not)
In short, your stable drivers are useless to me because I'm an old BSD guy (complete with beard) and I'm convinced that the sysV style init that most of linux uses is evil and all that. I'm looking for drivers that are stable on my systems, not theoretically stable if I'm willing to run something I don't otherwise like.