Linked by Thom Holwerda on Tue 26th Sep 2006 15:44 UTC, submitted by elsewhere
X11, Window Managers A non-technical overview of the Xgl implementation, and how it relates to Compiz and the nVidia driver, has been published by Emanuele Tamponi. Interestingly, the article mentions that Compiz requires Mesa to implement the infamous GLX_EXT_texture_from_pixmap function; but since the new beta driver from nVidia implements said function, you can now have Compiz in 3D glory without Xgl or AIGLX (howto).
Order by: Score:
Isn't this is using AIGLX?
by slight on Tue 26th Sep 2006 16:22 UTC
slight
Member since:
2006-09-10

Hmm... Correct me if I'm wrong but surely this how-to is explaining how to use the new nVidia driver with AIGLX (hence the Xorg 7.1 requirement)?

Reply Score: 2

RE: Isn't this is using AIGLX?
by SlackerJack on Tue 26th Sep 2006 17:29 UTC in reply to "Isn't this is using AIGLX?"
SlackerJack Member since:
2005-11-12

Yes it is, 7.1 comes with AIGLX.

"you can now have Compiz in 3D glory without Xgl or AIGLX"

This is wrong, you need Xgl or AIGLX to run compiz and AIGLX needs the EXT_Texture_from_Pixmap extension to work. Xgl can use mesa for this extension but it's very slow scrolling and smooth scrolling is even worse.

Edited 2006-09-26 17:30

Reply Score: 5

RE[2]: Isn't this is using AIGLX?
by czubin on Tue 26th Sep 2006 17:34 UTC in reply to "RE: Isn't this is using AIGLX?"
czubin Member since:
2005-12-31

I believe(memory fuzy) that: You need EXT_Texture_from_Pixmap to run compiz and not (aiglx or Xgl)

Aiglx provides as the name says , accelerated indirect rendering and Xgl could provide EXT_Texture_from_Pixmap without the need for it to be in the driver.

nvidia driver already provided accelerated indirect rendering but didn't yet provide EXT_Texture_from_Pixmap.

Reply Score: 1

RE[2]: Isn't this is using AIGLX?
by elsewhere on Tue 26th Sep 2006 20:16 UTC in reply to "RE: Isn't this is using AIGLX?"
elsewhere Member since:
2005-07-13

This is wrong, you need Xgl or AIGLX to run compiz and AIGLX needs the EXT_Texture_from_Pixmap extension to work. Xgl can use mesa for this extension but it's very slow scrolling and smooth scrolling is even worse.

Many of the compiz packages are compiled against Mesa, but I downloaded Beryl from svn and compiled it, it doesn't default to compile against Mesa anymore. I can't exactly explain the technical details, but a couple of the devs discussed it on the nv News thread announcing the beta driver and why it does not require Xgl/AIGLX.

So I've got Beryl running with the new nVidia driver, without running Xgl or enabling AIGLX. Prior to compiling Beryl, I used a patched compiz-quinn that also worked. The standard compiz-quinn did not.

The nVidia howto mentions how to determine whether the compiz package is compatible; many of the existing compiz-quinn packages will not work, but you can compile from svn or use one of the patched ones.

I'm using an ancient adapter (nVidia GeoForce2 Go/32MB) on my old laptop, and my 3d desktop is noticeably more responsive and smoother than my former Xgl/Compiz-quinn combo, though I've still got some issues with openGL performance.

Reply Score: 2

RE: Isn't this is using AIGLX?
by JMcCarthy on Tue 26th Sep 2006 17:57 UTC in reply to "Isn't this is using AIGLX?"
JMcCarthy Member since:
2005-08-12

http://www.nvnews.net/vbulletin/showpost.php?p=996264&postcount=28

Note title. Confusing at first, I had things completely backwards.

Reply Score: 1

GLX_EXT_texture_from_pixmap
by gothicknight on Tue 26th Sep 2006 16:37 UTC
gothicknight
Member since:
2005-07-06

GLX_EXT_texture_from_pixmap is a needed function from AIGLX to get support from device drivers.

Reply Score: 1

v Old news
by beranger on Tue 26th Sep 2006 16:57 UTC
RE: Old news
by czubin on Tue 26th Sep 2006 17:24 UTC in reply to "Old news"
czubin Member since:
2005-12-31

don't worry, the article is older ;)

Reply Score: 1

I'm more interested...
by tomcat on Tue 26th Sep 2006 17:20 UTC
tomcat
Member since:
2006-01-06

... in understanding how stable XGL is. Many folks that I talk to have concluded that XGL is still about 6 months away from being truly stable enough for daily use. That's been my experience, too. I've had a bunch of crashes so far, decided to turn it off for the time being.

Reply Score: 1

RE: I'm more interested...
by Emerson on Tue 26th Sep 2006 19:15 UTC in reply to "I'm more interested..."
Emerson Member since:
2005-09-19

"in understanding how stable XGL is."

Been rock solid for me after about a month of use. A lot of my system is self compiled, so it might be better integrated than others. But, in any case, I've never had a crash or glitch since setting it up.

Reply Score: 3

RE[2]: I'm more interested...
by tomcat on Tue 26th Sep 2006 20:45 UTC in reply to "RE: I'm more interested..."
tomcat Member since:
2006-01-06

You're fortunate. I had several crashes a day until recently, when I turned it off.

Reply Score: 1

RE[3]: I'm more interested...
by JMcCarthy on Wed 27th Sep 2006 11:22 UTC in reply to "RE[2]: I'm more interested..."
JMcCarthy Member since:
2005-08-12

Luckily there is no need for Xglx, or rather, there will be no need for Xgl in the future if you're unwilling to use beta drivers or do not possess an nVidia card.

Reply Score: 1

not using AIGLX
by AdamW on Tue 26th Sep 2006 19:29 UTC
AdamW
Member since:
2005-07-06

czubin is correct. What AIGLX basically *does* in the 3D accelerated desktop case is provide the GLX_EXT_TEXTURE_FROM_PIXMAP extension for drivers that use the X.org DRI subsystem - e.g. the free ATI and Intel drivers. The NVIDIA driver doesn't use the X.org DRI subsystem, it handles everything itself, and provides the extension directly itself. If you run compiz on top of the new NVIDIA drivers, you're not using AIGLX. (You can do a 'grep AIGLX /var/log/Xorg.0.log' to confirm this, if you like. On a system which uses AIGLX, like my desktop with the ATI free driver, it'll give you a bunch of output. On a system running compiz on top of the new NVIDIA driver, it'll give you nothing).

Reply Score: 5

QUESTION:
by reduz on Tue 26th Sep 2006 20:50 UTC
reduz
Member since:
2006-02-25

I always ask the same, no one seems to be able to answer.

Does Xgl do lines/rects/pixmap registering/etc (all x server side stuff) using opengl?
Or just does everything using sotware to finally load the thing into an X texture and render it?

Reply Score: 1

RE: QUESTION:
by Milo_Hoffman on Tue 26th Sep 2006 20:54 UTC in reply to "QUESTION:"
Milo_Hoffman Member since:
2005-07-06

The answer in how it works I think is sort of like this:

Xcalls -> OpenGL -> display
OpenGL -> OpenGL -> display

Reply Score: 1

RE[2]: QUESTION:
by renox on Wed 27th Sep 2006 11:53 UTC in reply to "RE: QUESTION:"
renox Member since:
2005-07-06

What I'm wondering about this setup is how good will be the font rendering with OpenGL?

Font rendering usually depends on knowing where the pixels are for a better rendering..

Reply Score: 1

RE[3]: QUESTION:
by siki_miki on Thu 28th Sep 2006 14:04 UTC in reply to "RE[2]: QUESTION:"
siki_miki Member since:
2006-01-17

It's same, as long as your windows aren't transformed in which case it looks blurry as bitmaps are scaled and interpolated (but it's only visible during effects, normally bitmaps-to-screen pixels are 1:1).

Possible paths are:
Xrender - it should givbe almost identical results whether it is hw accelerated or not (uses shaders where implemented - Xgl, exa ?)
Cairo - should look same across backends, glitz should use shaders.
Old X way(client renders fonts to pixmaps) - should look same as it isn't hardware

Shaders are key to good hardware antialiasing in 3D engines (as existing AA used in games doesn't have good precision yet). Software will of course look same in all cases.

With Avalon they should have ability to send vector data to compositor so it rasterizes fonts etc. directlty to screen, AFAIK, so you can e.g magnify or transform window without any interpolation effects. Of course I'm not certain if they already implement this somewhere, but something similar would be a nice addition to X API and would maybe also reduce memory consumption as bitmaps in video memory can be large.

Reply Score: 1

RE[4]: QUESTION:
by renox on Fri 6th Oct 2006 11:38 UTC in reply to "RE[3]: QUESTION:"
renox Member since:
2005-07-06

OK, nice to know that this was well thought in the normal case, a bit disapointing that in case of zooming the result won't look good in Xgl.

Reply Score: 1

RE: QUESTION:
by Milo_Hoffman on Tue 26th Sep 2006 20:58 UTC in reply to "QUESTION:"
Milo_Hoffman Member since:
2005-07-06

ALSO... I guess one of the best way's I have heard it explained is that the Xorg xserver was ported to OpenGL.

So it does all its rendering now through OpenGL, and one benifit is that you NO LONGER NEED XDRIVERS for your video card....so no more of that X/DRI stuff for video cards to support.

...you just have to have openGL drivers for your video card which apparently is simpler for vendors to implement in the long run since they do it now anyway.

Reply Score: 1

RE[2]: QUESTION:
by rayiner on Wed 27th Sep 2006 01:53 UTC in reply to "RE: QUESTION:"
rayiner Member since:
2005-07-06


So it does all its rendering now through OpenGL, and one benifit is that you NO LONGER NEED XDRIVERS for your video card....so no more of that X/DRI stuff for video cards to support.


The video cards still need DRI support, because the OpenGL stack depends on it. You no longer need X drivers, however.

Of course, that's all theoretical. You still need X drivers for Xglx, because you still need an X server underneath Xglx for the OpenGL stack. This requirement will remain until the distance future in which Xegl comes out, when the GL stack will be able to do modesetting, memory management, etc, without the help of the Xorg server and its X 2D driver.

Reply Score: 1

NVIDIA 9625 and Compiz
by diegoviola on Wed 27th Sep 2006 04:23 UTC
diegoviola
Member since:
2006-08-15

I'm using right now the 9625 beta drivers which has GLX_EXT_texture_from_pixmap needed by Compiz, this don't use AIGLX code at all, neither XGL, It's running really well, I am so happy!!! ;)

Reply Score: 1

Nvidia working on eye candy...
by siki_miki on Wed 27th Sep 2006 10:49 UTC
siki_miki
Member since:
2006-01-17

It look like Nvidia improved their drivers significantly. They now obviously implement their own GL compositing redirection support inside of XAA driver/OpenGL stack, so no need for aiglx/xgl.

IIRC, they were talking at XdevConf that this work is in progress. Reason is that they want to support current X functionallity that big vendors use (overlays) but also DIRECT RENDERING in composited desktop, while having seamlessly integrated 3D accelerated compiz-like effects. Well done, Nvidia.

This approach of course doesn't make sense for DRI, as it might mean duplicating work on the same abstraction level in different X.Org drivers. That is why AIGLX/Xgl will, through Mesa GL, use DRI. I suppose that even direct rendering support with compositing effects will be possible after some of currently ongoing development for DRI gets done (and goes in mainline DRI/Mesa). Now if AMD only forces ATI to improve proprietary linux drivers (or open source it!)...

Reply Score: 1