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.
Comments:
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:
http://lists.freedesktop.org/archives/xorg/attachments/20060206/335f0330/glxproto.h-texture-from-pixmap-1-0001.bin
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.
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
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.
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 ;-)
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!
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...
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
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)
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
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).
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.
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
At least, one good thing, glxgears in gentoo is 20~40% faster than others distros here :P 700fps
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.
HO! Aren't you joking? Are you?
It's not fun joke with the others fellings
lol :P
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 ?
and no sorry, I was just joking :P
you would say, these brazilians cience computer students have strange sense of humour :P
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.
Fatal server error:
No GLX modules loaded
dlopen: /usr/local/lib/modules/xgl/libglcore.so: undefined symbol: _tnl_arb_vertex_shader_stage