Ikke's Blog

Post details: Hija, and first XGL steps

Feb 10
Hija, and first XGL steps

First of all: hey Planet GNOME! It's an honour to be listed between all those hackers whose work I use every day again.

Like lots of other people (I think) I tried to get XGL + compiz working on my desktop today. XGL was a breeze (worked yesterday too), I did have some issues with compiz (mesa-issues, to be more precise). It doesn't work yet, but I hope I'll be able to sort out all remaining issues tomorrow or this week-end (although I'm no low-level X/OpenGL guru)... The whole problem could be related to some function/constant/enum renaming sutff.

The issue I got is this: I can start XGL/compiz and X apps, but the XWindows are empty black or white rectangles on the screen... The issue is (I think) related to some OpenGL extension call not working inside compiz:

Couldn't bind redirected window 0xdeadbeef to texture
pixmap 0x12345 can't be bound to texture

Oh well, even with empty windows, the result is fairly amazing. I tried to make a little amateur video of what I got now ("scrot" refuses to work?). I'm sorry for the bad angle, I only got 2 hands ;) Get it here (18MB).
There's a little problem with the wobbly effect too, which leaves "traces" on the desktop (image).

Anyway, after working on Metacity's compositing some weeks ago, and now seeing this beauty, I think we should prepare for some more great progress regarding our beloved (hmm) graphics subsystems.


Comment from: Philip Langdale [Visitor] · http://intr.overt.org/blog
I fought with this for most of yesterday and it came down to this:

You must compile the xgl-0-0-1 branch of xorg against mesa-6.4.2 with this patch applied: http://people.freedesktop.org/~airlied/xgl/xgl-mesa-stable-180106.diff

Then you need to apply a separate patch to proto/GL:

With these, you should be able to build the right Xgl.

Now, if you want to use compiz, you need to run it against a libGL built from Mesa CVS HEAD - the libGL from Mesa-6.4.2 will not work and will give you the black window problem.

Crazy? You bet, but it works.
PermalinkPermalink 02/10/06 @ 03:24
Comment from: Ikke [Member] · http://www.eikke.com
Actually, it still doesn't :-s Digged inside the compiz core some more, mailing the results to David, as quite a lot of other (nvidia) users got the same issues...
PermalinkPermalink 02/10/06 @ 17:19
Comment from: Paulo Cesar [Visitor]
I'm having the same problem, and I wasn't abble to find other peaple with this problem, now I know it's isn't only with me and my old nvidia card :P

If anyone find out how to solve this mail me, I'm crazy to know how this Xgl works at my desktop :P

These are the errors I'm getting:

root@zote:~# LD_LIBRARY_PATH=/opt/mesalibs /opt/fdo/bin/glxcompmgr shadow wobbly/opt/fdo/bin/glxcompmgr: pixmap 0x2200039 can't be bound to texture
/opt/fdo/bin/glxcompmgr: Couldn't bind redirected window 0x120001d to texture

root@zote:~# LD_LIBRARY_PATH=/opt/mesa/lib DISPLAY=:1 /opt/fdo/bin/compiz gconf
/opt/fdo/bin/compiz: GLX_EXT_texture_from_pixmap is missing

PermalinkPermalink 02/12/06 @ 01:34
Comment from: Amit Gurdasani [Visitor]

Yeah, I've run into the same issue with a GeForce 2 GTS using the last "legacy" NVIDIA driver (1.0.7174), and while I got Xgl from the old (Xserver/KDrive) tree working with glxcompmgr a few days ago, I had the same issue (black textures, glxcompmgr complaining it couldn't redirect windows into the textures). And now with Riccardo Govoni's binaries for Dapper Drake (Ubuntu) I get the same issue with compiz and the Xorg Xgl.

Oh well. It was worth a shot.

PermalinkPermalink 02/12/06 @ 10:51
Comment from: Ikke [Member] · http://www.eikke.com
@ last 2 commenters:
The problem is related to our GPU. I got a Geforce2 based card here, which has no Pixel Shader, and Mesa/Xgl needs a GPU xith pixel shaders (I assume thats for the software GLX_EXT_texture_from_pixmap implementation?). So, we'll need a new GPU (or wait for new nvidia binary drivers that implement the extension even on our old cards?)

I think I'll go buy a Radeon 92xx somehow. Less beer next weeks ;-)
PermalinkPermalink 02/12/06 @ 11:46
Comment from: MisterHH [Visitor]
Well, where did you get this information from? As far as I understand a Pixel Shader is just used for the implementation of Xv in Xgl. But without Pixel Shader this should work as well, just a little (acutally a lot) slower. As far as I remember, I also read about success stories from GeForce 2s and of a working Xgl with GeForce4 Go (NV18M) hardware, which is the same I have. Still I do have the black window problem.
PermalinkPermalink 02/12/06 @ 14:53
Comment from: Ikke [Member] · http://www.eikke.com
http://www.ubuntuforums.org/showthread.php?t=127090&page=21 comment #202 and later.
And Philip Langdale said +- the same thing on IRC.

Anyway, if you know about any success stories on a GF2, please give me any references!
PermalinkPermalink 02/12/06 @ 16:43
Comment from: MisterHH [Visitor]
Comment Number 7, though I'm not sure, the author is using compiz or glxcompmgr... Other success-stories of GeForce 3 can be found in Gentoo-Forum somewhere. Working GeForce2s are also mentioned (though not refered to) in the link you posted just a few comments later...
PermalinkPermalink 02/12/06 @ 17:27
Comment from: Amit Gurdasani [Visitor]
Well, I have Xgl + compiz functioning on an r100 Radeon LE just fine, and that's older-generation hardware than the GeForce 2, so that can't be it.
PermalinkPermalink 02/13/06 @ 12:03
Comment from: Amit Gurdasani [Visitor]
Besides, the quote says, XVideo acceleration requires pixel shaders. That's pretty specific to Xv overlays. compiz itself ought to function.
PermalinkPermalink 02/13/06 @ 12:08
Comment from: Ikke [Member] · http://www.eikke.com
You're right about the pixel shader thing.
I tried some binaries from PhilipL last night, and those gave the same issues as my compiles, so I'm fairly sure it *must* be hardware related, as lots of other nvidia users got the same issues, but ATI owners don't...

Anyway, I might start a thread about this on the xorg list as now all information about the issue isn't centralised at all :s
PermalinkPermalink 02/13/06 @ 18:27
Comment from: Paulo Cesar [Visitor]
"Seems to work fine here, on x86 and old Nvidia GeForce 2 mx.
I've noticed minor glitches, like temporary color/pattern artfiafcts when switching windows, but nothing too annoying. Xgl seems to run stable, even with gnome components. I can watch videos using totem (although totem main logo is broken), run a picture slideshow in eog, even run a opengl screensaver from rss-glx collection."

i catch this in a gentoo blog... I'm downloading Gentoo to test now! (yes, I'm some type of lunatic)
PermalinkPermalink 02/13/06 @ 19:37
Comment from: Paulo Cesar [Visitor]
I'm thinking now it's better forget Xgl..

glxinfo | grep GLX_EXT_texture_from_pixmap doesnt return nothing with the last official drivers from Nvidia in my Geforce4 mx ... and Xgl uses this extension to render the things...

bye bye xgl
PermalinkPermalink 02/13/06 @ 19:59
Comment from: Ikke [Member] · http://www.eikke.com
We know the nvidia-glx drivers don't have the GLX_EXT_texture_from_pixmap extension, as do none of the closed drivers as of today.
You don't need it to run Xgl though! The X server itself works fine here (well, sort of)
The problem is only related to compiz, which does needs the GLX extension, which is why one needs to use the libGL.so from MESA to run compiz (which got that extension, either patched release or from CVS).
PermalinkPermalink 02/13/06 @ 20:25
Comment from: Amit Gurdasani [Visitor]
Both GLX_EXT_texture_from_pixmap and GLX_MESA_render_texture seem to be facilities for Xgl and compiz/glxcompmgr to talk to one another. Xgl itself uses glitz to draw, and glitz uses the system libGL, which doesn't need support for these extensions.

I also get the feeling that the GeForce 2 GTS, GeForce 2 MX and nForce integrated graphics are different enough for some to work and others not to, so if it worked with someone's GeForce 2 MX, it's not necessarily true that it'd work if they used a GTS or Pro or nForce instead.
PermalinkPermalink 02/13/06 @ 22:23
Comment from: Amit Gurdasani [Visitor]
Here's a clue. GeForce 2 MXes are supported by the very latest NVIDIA drivers. Other GeForce 2s and GeForces are not. Could it be a driver revision difference? If so, can someone with a GeForce 3 or higher attempt to downgrade to the 1.0.7174 driver and see if the problem surfaces?
PermalinkPermalink 02/14/06 @ 23:03
Comment from: Ikke [Member] · http://www.eikke.com
I got 1.0.8178 here, others dont work with modular xorg under Gentoo...
In a "normal" X session they do work fine:
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3

Just ran compiz under gdb using a debug build of both mesa-cvs and compiz, but tracing the stuff down is somewhat t
PermalinkPermalink 02/15/06 @ 00:09
Comment from: Paulo Cesar [Visitor]
hey Ikke, you installed gentoo to test this? :P I'm installing the ebuild that guy posted in his blog now.. Let's see what happens.

At least, one good thing, glxgears in gentoo is 20~40% faster than others distros here :P 700fps
PermalinkPermalink 02/15/06 @ 00:25
Comment from: Amit Gurdasani [Visitor]
What hardware are you using, Ikke?

I did load compiz up in gdb using

LD_LIBRARY_PATH=/opt/mesa/lib gdb `which compiz`

and it came down to what appeared to be Xgl coming back with a GLX_NO_TEXTURE_EXT response instead of the expected GLX_TEXTURE_2D_EXT/GLX_TEXTURE_RECTANGLE_EXT on a glXQueryDrawable() call (or something; OpenGL/GLX is something I have very little clue about). Presumably this is a verification mechanism, and as far as compiz is concerned, it did what needed to be done; any failure might be happening silently within Xgl.
PermalinkPermalink 02/15/06 @ 16:54
Comment from: Paulo Cesar [Visitor]
now I'm waiting for the next version of the things (Xgl, compiz, nvidia driver) :P
PermalinkPermalink 02/15/06 @ 19:10
Comment from: MisterHH [Visitor]
Actually, the back window bug is fixed in current CVS ;-)
PermalinkPermalink 02/16/06 @ 14:54
Comment from: Paulo Cesar [Visitor]
back window bug is fixed

HO! Aren't you joking? Are you?

It's not fun joke with the others fellings

lol :P
PermalinkPermalink 02/16/06 @ 17:10
Comment from: MisterHH [Visitor]
No Joke, sorry. Just recompile glitz from current CVS and it will work just fine (at least it did for me and several others).
PermalinkPermalink 02/16/06 @ 17:29
Comment from: liZe [Visitor] · http://www.invox.org
Yeah, it works now with my (quite old) GeForce4MX and Gentoo ebuilds!!! I have two displays, one with Xorg/composite and one with Xgl, and everything seems to be fluid. That's just crazy, you weren't joking...

Just have huge texture problems, like if they were not clipping. Maybe because of "compiz: No stencil buffer. Clipping of transformed windows is not going to be correct when screen is transformed." :). Have any clue to repair this ?
PermalinkPermalink 02/16/06 @ 21:11
Comment from: Paulo Cesar [Visitor]
thanks MisterHH! I'll try this!

and no sorry, I was just joking :P

you would say, these brazilians cience computer students have strange sense of humour :P
PermalinkPermalink 02/16/06 @ 21:51
Comment from: Paulo Cesar [Visitor]
and a bad english... :(
PermalinkPermalink 02/16/06 @ 21:52
Comment from: Amit Gurdasani [Visitor]

As advertised, it works with the CVS HEAD of glitz.

CVS log:

GL_ARB_texture_rectangle and GL_ARB_texture_border_clamp are no longer required for texture objects

That, I think, was the crux, since unlike my Radeon LE, glitzinfo seems to indicate the GeForce2 doesn't support this.
PermalinkPermalink 02/17/06 @ 19:53
Comment from: Paulo [Visitor]
I'm having problems compiling Xgl from CVS.. now I have some errors like this when I start Xgl:

Fatal server error:
No GLX modules loaded
dlopen: /usr/local/lib/modules/xgl/libglcore.so: undefined symbol: _tnl_arb_vertex_shader_stage
PermalinkPermalink 02/17/06 @ 23:03
Comment from: Paulo [Visitor]
Wow! Xgl is incredible! I'm running in my old computer and everything working so fine :)
PermalinkPermalink 02/18/06 @ 17:26

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))


Who's Online?

  • Guest Users: 468


XML Feeds

What is RSS?