“In the last few months, there has been a lot of talk about Xgl, compiz, AIGLX et cetera. It seems that ‘Xgl’ has become a synonym for fancy desktop on Linux – but no one seems to talk about the alternatives or how it all works. I have had a little look into this and am going to summarize it for y’all. I will explain where the following come from and how they work: Xglx, Xegl, Luminocity, and AIGLX.”
It’s part of xorg 7.1
Now only if we knew whose leg to hump to get TFP.
I know the article is dealing with slightly different stuff. Still, based on the title, E17 fits the definition being a modern fancy unix desktop system. For those not being familiar with Enlightenment DR17, check it out at http://www.enlightenment.org/ and http://www.get-e.org/
… As much as I like playing with E17 from time to time I wonder, what will be released first: Duke Nuke’m 4E or E17
– Gilboa
Duke Nukem Forever, duh!
However, even not ‘released’, E17 makes a great desktop/WM.
I was sold on enlightenment when I tried it on an old laptop (200mhz) and it still gave me decent eye candy.
No discussion on eye candy is complete without it.
This article, aimed at elucidating the less informed, could do with explaining some of the terms used.
Metacity is a windowmanager often used in combination with GNOME.
Metacity is a windowmanager often used in combination with GNOME.
I thought GNOME was the window-manager?
GNOME is the desktop enviroment and a desktop enviroment includes a window-manager, in GNOMEs case, Metacity (Usually).
Indeed. But there a lot of other windowmanagers used by some peple in combination with GNOME. e.g. bluefish and a lot of others. But these days the most common is metacity.
“””But there a lot of other windowmanagers used by some peple in combination with GNOME. e.g. bluefish and a lot of others.”””
Bluefish can act as a window manager now?
I think he/she might have meant sawfish.
requires that 2 full x servers run? That I didn’t know.
I wonder if Novell plans to depricate x.org in favor of XGL………
Anybody here know if AIGLX can be put into a cube configuration? XGL actually makes multiple desktops useful/productive because you also have multiple taskbars.
What do you mean by multiple taskbars?
Nevermind that comment. It was made from an uninformed position.
I was under the impression that each side of the cube is handled as if it is an actual second, third, and so on desktop. I hadn’t paid much attention to XGL visuals since the early previews, and dont run it yet because it’s still somewhat buggy.
After I had made that comment I realized that I wasn’t 100% sure if that was the case so I went looking around.
Well, the reason I asked was to make sure that you knew that you could already have task bars that only display the windows on the current desktop without the cube. You probably *do* know that already. But I figured I’d mention it.
No, actually I didn’t know that. Otherwise I wouldn’t have made the comment.
You learn something new every day.
I don’t know what desktop you use, but in Gnome you can go to “preferences” for the window list applet and set “Show Windows From Current Workspace”. I’m sure KDE would have equivalent functionality. Probably XFce, as well.
I’m using KDE. But I’ve never seen anything like that.
Right-click on the handle of the taskbar. Select “Configure Taskbar”. “Show Windows From All Desktops” is the first option. Uncheck it.
You can change that setting under the panel config, choose taskbar, and you can change that, button style, task grouping, all sorts of good stuff
Things are moving so fast. This article tries to explain stuff, but doesn’t even mention glucose
” in Gnome you can go to “preferences” for the window list applet and set “Show Windows From Current Workspace”. I’m sure KDE would have equivalent functionality.”
KDE does have such an option of course (or it’s just the default, nto entirely sure), but it doesn’t do much good when using compiz. Unfortunately compiz is not as well integrated into KDE as it is in Gnome. In KDE, the four sides of the cube are not recognized as separate desktops as they are in Gnome. KDE’s pager shows just the one, and the kicker shows all windows, no matter which side of the cube. This is something I would hope will be fixed at some point. At the latest it will be when kwin4 gets compiz like features Just another sign Suse is gravitating towards gnome I’m afraid.
Edited 2006-08-20 02:48
AS far as I know, Xglx runs on an existing X server, so actually only 1 full X server.
Xglx is a direct rendering client .
Anyways an old article but much more in detail:
http://principe.homelinux.net/
And it’s compiz that takes care of all the graphical effects like the cube and wobbly windows, and compiz runs both on Xgl and Aiglx
Can’t wait for KDE4, when kwin has compiz like features.
And what about GGI/KGI. How does that fit inot the picture?
http://kgi.sourceforge.net/
last I heard, it doesn’t fit in at all, as Linus gave them a solid answer of “never” regarding inclusion in the mainline kernel. That was a long time ago. I’m surprised to hear they are still working on it.
That’s sad. It looked so promising. I wonder why he rejected it.
Debian tends to be slow on catching up with these fancy eye-candy novelties, but it seems that Xgl is slowly making its way to Debian, too.
http://gravityboy.livejournal.com/
And again sorry, but they are talking about aiglx in your link. I personaly hope Xgl will never really make its way into Debian. As refered by your link, Debian has aiglx:
# echo “deb http://http.us.debian.org/ experimental main contrib non-free” >> /etc/apt/sources.list
# apt-get update; apt-get install -t experimental xserver-xorg-core
provides Xorg7.1. Soon, if you’re in unstable, update will be auto, and the switch wont be necessary anymore. If you want the fancy effects, get compiz from cvs, debian does not have it:
$ cvs -d :pserver:[email protected]:/cvs/xorg -P co /app/compiz
recompile (you’ll need package autoconf and automake).
Like the author, I am among the one that belive that Xgl is __the wrong solution__. It should be dropped soon (especially when nvidia will release its new drivers supporting aiglx), so Debian community should not need to spend time on integrating this stuff into base.
Free Open source Desktop (Linux, BSD) will be a F1 car on bicycle wheels until xorg lets xorg.conf live and delays hotplugging.
X hardware device hotplugging for:
– Displays, projectors, etc
– Mice, keyboards, Joystick, etc
– Graphics cards
Not to mention installation/removal of fonts without restarting the server.
This is one of the three areas that makes puts free Desktop OS’s next to the Closed Source, proprietary competition.
The year of free OS’s will come when:
– X plug and play behavior is implemented
– X has proper 3D drivers
– App installation and dependency problems disappear
What hardware has support for graphics card hotplugging?
I agree it needs display, mice, and keyboard hotplugging (work is being done to get it done), but the rest of the issues aren’t really there anymore. You don’t have to restart X for new fonts anymore, app installation and dependency problems have been gone for a very long time, and proper 3D drivers (although not included) are available for most cards at this point. The only thing left on your list is proper hotplug support.
As far as I know, mice and keyboard hotplugging works right now too. At least, when I plug in an USB keyboard or mouse in my laptop, it works just fine without me touching anything or needing to restart the X server. The only thing which is not yet working is hotplugging of a second screen/projector/tv, but as you mention, I believe they are working on this.
Are you sure?
Mice and keyboard?
Install your Free OS of choice and then plug in a mice with say… 7 buttons. Does it detect the number of buttons and configure the mice accordingly?
plug a keyboard with different setting Imagine the default is QWERTY and the new one is DVORAK. Does it get configured on the fly?
Shut down a PC and remove the graphics card. now replace it with a graphics card from another vendor. Does it start at all?
No, it’s command line time.
Remove your monitor and replace it for another (Hopefuly it doesn’t blow the monitor)
Add a monitor and… nothing happens.
It should start working on the fly.One would actually get the warning message saying a newmonitor had been found on both working displays.
Monitors have been plug & play for years now…
How can we steal market share from Microsoft like this? From Apple? No way!
We’ll be there when plugging any X supported hardware works like plugging the cord for the toaster.
These are the little details that make people pay for a Mac or Keep windows.
This detail only has the capability to frighten half of the people which experiment a free OS using xorg.
People working on Xorg are aware of the problems and they’re working to fix them.
The x.org wiki seems to be down now, but there you can check the list of features planned for 7.2 (Oct 2006) and you’ll see Daniel Stone is working on hotplug for input devices, Eric Anholt and Keith Packard for output devices.
Amen to that.
Then maybe next year is the year
Install your Free OS of choice and then plug in a mice with say… 7 buttons. Does it detect the number of buttons and configure the mice accordingly?
Not all 7 buttons, but it works with the 3 important buttons and scrolling horizontally and vertically. This happens on Windows too until you install the mouse’s driver.
plug a keyboard with different setting Imagine the default is QWERTY and the new one is DVORAK. Does it get configured on the fly?
I’m not sure how possible this is, since keyboards (being relatively simple devices) just provide keycodes and there’s not much data that can be used to figure out what keyboard layout it is. As far as I know, the main work being done on this (and media keys) is in the GUIs like GNOME and KDE. They are trying to build up databases of specific keyboards and how they work, so it can autoconfigure.
Shut down a PC and remove the graphics card. now replace it with a graphics card from another vendor. Does it start at all?
Yes, I did this 2 weeks ago when my ATI card died and I replaced it with an nVidia. Acceleration worked straight off also.
Remove your monitor and replace it for another (Hopefuly it doesn’t blow the monitor)
Works fine after restarting X and at native resolution for the given monitor (only tried LCDs). This is a problem, given you need to restart X, but it’s being worked on. Currently, for a desktop system, hotplugging monitors isn’t something that people do very frequently, and for laptops, among many people I know it’s still pretty rare.
It should start working on the fly.One would actually get the warning message saying a newmonitor had been found on both working displays.
Hopefully this isn’t a long way off now
About mice:
Not to sound desrespectful but one donesn’t need to install the mice driver to enable all the seven buttons under windows. The generic driver works perfectly And by the way, xorg doesn’t need any special driver eitehr. All it needs is to correctly configure the remaining buttons. Depending on the xorg.conf details, one can even get all of the buttons working but they don’t behave correctly as they are incorrectly mapped.
This is one of those tiny(huge) details that needs to “Just work”. It makes FOSS look ridiculous.
What argument can i use to defend FOSS desktop if a simple hardware device as a mouse with only seven buttons doesn’t “Just work”?
I am on PC-BSD right now. From grep i can get:
ums0: Logitech USB/PS2 Optical Mouse, rev 2.00/18.00, addr 2. iclass 3/1
ums0: 6 buttons and Z dir.
if the systems knows the hardware howcome i doesn’t the user get the mouse working as expected?
Speaking of keyboards:
I know it’s harder to get this one working. But that shouldn’t mean it’s impossible. As USB keyboards become more and more popular, one can use their plug and play features to detect their specs. Skip PS2 on this but please make it work on USB keyboads.
I know some USB hardware makers save money but this is where this feature’s implementation can help. The manufacturers that correctly work on the plug and play capability of their hardware will be rewarded while bad hardware will stay behind.
Swiching gfx card.
So you have a xorg.conf file made in a way that the graphics card is probed during every boot and a proper driver is installed if a new graphics chip is detected?
Show me your xorg.conf please! Usually one gets stuck without X.
Hotplugging displays:
As i had said, it doesn’t work without restarting x. It should work and i hope it does soon. Monitors need to use EDID data on monitors for that.
Disconnecting the main screen and replacing it with another with the PC working isn’t something that common, you have a point. But connecting a second monitor, projector or TV is and restarting X because of that is shameful.
Imagine a business man who is going to make a presentation… “Excuse me for the delay, i have to restart x and configure xorg.conf so we can start”
Please don’t forget to explain the gfx card exchange without having to reconfigure xorg.conf. i am not kidding. i want that here.
Thanks.
When I plug in a new mouse in X.org, I can’t remember it working correctly unless I pointed the device to /dev/input/mice in Xorg.conf, though which works quite well. But I can sincerely say it really sucks that X doesn’t automatically enable all the buttons available. I can’t imagine why it is so difficult? And while I admit eye-candy is fun and I like it, but I think basic things like this should come first..
So you have a xorg.conf file made in a way that the graphics card is probed during every boot and a proper driver is installed if a new graphics chip is detected?
Show me your xorg.conf please! Usually one gets stuck without X.
It’s not X.org which does the autodetection. I think the poster’s distro just detects the change and then configures X accordingly. But in this case I think it should rather be X which configures such, depending on available drivers, but still letting the user/distro to override the settings if desired, and maybe f.ex. prioritize proprietary nVidia driver over an open-source one to get working 3D. Wouldn’t it be easier for X to inquire all the installed drivers if they support the hardware currently present, rather than the distro providing an external application which looks in some (possibly outdated?) database? Well, I’m just speculating here, I have no idea how difficult it would be in reality…
And just as a side note, I hate it that it’s still not possible to plug a TV in and just have the nVidia drivers enable it, or even have the nVidia configuration utility enable it. And even though I know how to enable it, I still need to restart X to get it working. Hmmm…I think it would be better if all the drivers provided an interface for checking all the currently connected screens and configuring them on the fly. That way there could just be a generic app for configuring all the drivers.
Hmm, I found that in Windows or Linux, without the drivers, some of the buttons on a many buttoned mice didn’t do anything… maybe I just wasn’t using them for the right stuff. Either way, the ones I use (hscroll, vscroll, middle click and lclick, rclick) worked.
For keyboards, even with USB I’m not sure the amount of data they provide. USB input is one of the few USB classes I’ve never actually read about indepth.
For the graphics… I don’t have an xorg.conf, X autoconfigures when I start it (reads EDID data etc. and configures the resolution and does some getconfig stuff I think to get the graphics card driver).
The hotplugging projector/TV is a real pain, but if you know you’re going to be doing a presentation you *can* set it up beforehand… but I agree… really needs to be fixed. They’re working on it though.
Edited 2006-08-21 09:31
Err sorry… i sould have said plug and play for graphics (embarassed)
Corrected… (one has to read before issuing replies)
Edited 2006-08-20 10:10
Is absolutely an example of Modern Fancy UNIX Desktop Systems that works.
……
Re: Mac OS X
[It’s not free, propiretary, bla bla bla w/e]
Why was that post modded down? He is right.
The title of this story should have been “Overview of Modern Fancy X11 UNIX Desktop Systems”.
IMO AIGLX is the best concept
Where is is Glucose? This is real stuff, worth to mention, because its useful. Eyecandy in a productive environement? Yes something should be nice (wallpaper, nice windows …), but these things? Bothering at work or who of you dances every time, while bringing out the waste bin? Why not? It looks nice …
The truth is that MacOS X is a modern fancy UNIX desktop systems that works. It’s fully accelerated, and it’s there from several years.
Now with Vista, MS will cover that gap, overtaking Linux that has had 6 and more years to produce a decent accelerated desktop system…and it failed.
I think this is a clear example that opensource model is not always the best solution/model.
My 2 cents.
“””I think this is a clear example that opensource model is not always the best solution/model.”””
That’s fine. I’ll settle for sometimes best.
There are, indeed, areas where I don’t think OSS is necessarily a good fit.
However, this may not be the best example, as a failure in adherance to the normal open source way set X back in this area.
I am speaking, of course, of David Dawes and the XFree86 project. Hindsight is 20/20. And Dawes and his cronies should have been ejected long before they actually were.
We’re still recovering from the damage done by the XFree86 project.
If this is all, nonone really wonders why Microsoft is that triumphant. And noone really wonders why Apple can sell a parody of a Unix system, with a little bit of eyecandy and highpriced design. Most of the glorious MacOS X depends on opensource. So be quiet, if your are not able to part fiction from reality. A small hint, OpenStep – the foundation of the Apple display system, is based on ideas from Apple and Sun! Complete userland in MacOS is from GNU and FreeBSD, part of the kernel too. KHTML is the html render engine for Safari and so on.
Just my x cents, for people not able doing their homework.
So why Apple can close the work and produce something tens light years forward respect to the opensource counterpart?
If the base is the same…could it be due to the model itself?
These are the “big” questions.
Not to take your side on this, but it is worth noting that OSS’s current most viable solution, the one that arrived first, was created Cathedral style like Apple’s was.
So why Apple can close the work and produce something tens light years forward respect to the opensource counterpart?
Fist of all, Mac OS X is not “tens light years forward” compared to free operating systems. You’re limiting your view to the desktop, I’d like to see you compare GNU/Linux and Mac OS X server on a server.
I’m not saying Mac OS X is way ahead in the desktop either. It’s better in many areas, and worst in others. The sum depends on the user; that doesn’t equal light years ahead in my book. The editor of this very site decided not to buy a Mac to use SLED 10 instead.
But to address your concern that the open source model doesn’t work; please keep in mind that Apple had a huge head start. They bought Mac OS X in 1997, and it was already a complete operating system in 1989. The GNOME desktop used in SLED 10 that I mentioned above started from scratch in 1997.
First to mention, is vista out? not yet, so there’s still time, does it work on any 3D card? Not the 3D acceleration, you need a directX 9 compatible card. Mac OS X has had accelerated desktops but from a technical point of view not the best, though it delivers.
XGL and AIGLX are just two different roads, the developers teams however do work together instead of competing because the goal is still the same: Xegl. Glucose now can combine XGL and AIGLX so that XGL can take over when needed. This project isn’t dead nor finished and it already works wonderfull on old 3D cards, something that can’t be said from Vista. Btw, Xegl isn’t trying to bring eye-candy, it is trying to make better use of the resources available, the eye candy is left to the window managers kwin and compix/the future metacity (which probably will be able to use compiz wobbly bobbly plugins), or enlightenment or …..
It’s not a matter of eye-candy.
Acceleration must be used in accord with usability.
From e technology point of view MacOS X is tens light years forward. I’ve seen xgl to have delays an a GeForce 7800, when zoom is high some pixelation effects come out.
The fact is that you have to consider that MacOS X is there from several years. It just works, and sorry, you can’t compare it with the current state of Linux, at any levels, from a desktop point of view.
Edited 2006-08-20 15:29
I’ve seen xgl to have delays an a GeForce 7800, when zoom is high some pixelation effects come out.
That might be because the nVidia drivers to support Xgl are still unreleased.
Also keep in mind that Xgl is comparable to Quartz Extreme, which ships in OS X as unstable and unsupported. Xorg has had the Composite extension for years now.
That might be because the nVidia drivers to support Xgl are still unreleased
Xgl does not require any support on a driver level due to the fact that it is stacked on a conventional X-server. AIGLX does however, and is not currently supported by nVidia, but will be in the future.
There are some problems with the OpenGL only approach due to the lack of preemption and a GPU scheduler. Check the glucose announcement http://lists.freedesktop.org/archives/xorg/2006-August/017527.html
A quote:
“The fact that greedy gl clients can pretty successfully monopolise the gpu is quite a problem if everything is layered on gl”.
This can cause occasional stalls in Xgl, but I have not found this to be a major problem for most apps. Still, Xgl is a quick fix, with Xegl being the longer term solution.
Also keep in mind that Xgl is comparable to Quartz Extreme, which ships in OS X as unstable and unsupported. Xorg has had the Composite extension for years now.
It is difficult to compare Xgl to Quartz Extreme directly. Note however that Quartz Extreme is fully functional and working since OS X 10.2. It is Quartz2D Extreme which is not enabled by default on OSX 10.4. Quartz2D Extreme is to Quartz2D what Glitz is to Cairo, if I am not mistaken.
Xgl does not require any support on a driver level due to the fact that it is stacked on a conventional X-server.
Compiz uses texture-from-pixmap and will benefit when it’s supported natively in nVidia’s drivers, I believe.
Quartz2D Extreme is to Quartz2D what Glitz is to Cairo, if I am not mistaken.
Kind of, but only if you’re running glitz + cairo on AIGLX. If you’re running XGL everything is drawn with OpenGL, even if you build cairo with the normal X backend. With XGL it’s actually best if you use Xrender instead of glitz.
You forget to mention that mac os X 10 was 5 year under development and 10.0 graphical system was simply bad(untill 10.2 for me).
Untill 2004 Xfree stopped any development towards a fancy X windowing system.
So actually you’re comparing a 5+ year development to a 2 year development of Xorg(and related) ?:P
I can’t see where opensource failed.
I don’t know anything about AIGLX and the link in this post doesn’t really enlighten me much, so could someone for example briefly explain if AIGLX is better than GLX, and why?
EDIT: nevermind. And I lost my interest anyway when it said XVideo doesn’t work. Sucky.
Edited 2006-08-20 16:28
XV works with AIGLX. Also works with XGL, those problems where solved long time ago.
On this machine (pavillion ze4900, i810) mplayer works fine with XV. Granted the window turns all blue whenever I move it or change ist’s opacity, but hey, it’s an i810.
And when i stop moving it it just goes back to normal.
Other than that, and the fact that the water plugin does’t work (witch i realy don’t care about anyway), it works fine… the cube its just… essential
The techniques, the author named in his article, require OpenGL hardware acceleration, but there’s a lack of this for other unixoide sytems besides Linux (e. g. ATI on the *BSD’s).
So, he should have named his article “An overview of modern fancy Linux desktop systems”.
I thought freebsd x86 had NVidia drivers and that X86_64 support was on the way?
I have two FreeBSD installations, one with a radeon 9200 and one with a radeon 9550. Both have 3D acceleration.
Why the discrimination? Only because of my username and because i say i am using PC-BSD?
The problems i described are shared between both so i dont think the title is incorrect.
It’s about *nix.
Yes, but that’s *only* FreeBSD & NVidia.
My understanding is that indirect rendering is entirely an xorg feature, whereas direct rendering is an xorg feature which requires kernel support, which the BSD’s may not have.
Direct rendering is not required for Xgl. Not sure about aiglx.
Edited 2006-08-20 17:16
Google is our friend.
The article’s comments on Xegl are almost all wrong.
“Xegl uses EGL (embedded openGL), a kernel-level OpenGL API.”
EGL (aka OpenGL ES) is no more kernel-level than OpenGL. It is simply an API specification. From the Khronos Group: “OpenGL(R) ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems”
“Xegl shares much the same problems as Xglx: by relying fully on OpenGL, it neglects special features a graphics card might have (e.g.: Multihead support, special shader APIs).”
This is wrong again. OpenGL and EGL both allow for vender extensions to support special hardware features. At runtime you can test for extensions before using them. Quake3 does this, for example. There is also nothing preventing Multihead support in the EGL API.
EGL is designed to support implementing a windowing system on top of it. This means it has APIs for mode switching: eglChooseConfig, multihead: eglGetDisplay. It has the advantage of being built on top of OpenGL, so there are existing full software implementations (Mesa) from which hardware developers can slowly add hardware acceleration.
It is not some unknown, unsupported API:
http://www.khronos.org/opengles/adopters/adopterslist/