Fix xserver build
Edgar Toernig
froese at gmx.de
Mon Oct 9 15:38:53 PDT 2006
Hi!
I recently built xorg HEAD and got some problems.
First, mesa HEAD has two new files (mipmap.c and
programopt.c) which are not build by the xserver's
makefiles resulting in missing symbols during linking.
Adding these files to GL/mesa/main/Makefile.am
and GL/mesa/shader/Makefile.am fixes that.
Next problem: immediate crash when starting Xorg.
After a lot of debugging I found that not all
files have the same idea of sizeof(Pixmap) - the
conditional fields were missing sometimes.
The culprit was fb/Makefile.am which does not
pass HAVE_DIX_CONFIG_H to some files when it
thinks the gcc has no MMX support. I simply
removed the "if MMX_CAPABLE/endif" as my gcc
(3.3.5) does support MMX and the crash was gone.
(Btw, what's the point of making the #include
"dix-config.h" conditional?)
I had occasional hangs with indirect rendering.
Not really found the bug - disabling the timed
scheduler seems to help. Using it for two days
now without a crash. Accelerated direct and
indirect rendering works fine as does xcompmgr.
But there's still one problem and it seems a
very popular one - a google search finds
hundreds of similar reports but not a single
sensible reply. All GL apps issue "libGL warning:
3D driver claims to not support visual 0x4b"
and compiz can't find the texture_from_pixmap
extension. Some infos:
server glx version string: 1.2
server glx extensions:
..., GLX_EXT_texture_from_pixmap, ...
client glx version string: 1.4
client glx extensions:
..., GLX_EXT_texture_from_pixmap, ...
GLX extensions:
[No GLX_EXT_texture_from_pixmap - why???]
OpenGL renderer string: Mesa DRI R200 20060602 AGP 8x x86/MMX/SSE2 NO-TCL
OpenGL version string: 1.3 Mesa 6.5.2
...
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
...
0x4b 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon
Forcing compiz to indirect rendering (LIBGL_ALWAYS_INDIRECT=1)
(or removing the extension check) gets a little bit
further (some graphics garbage) but it only produces
a lot of error messages that it can't bind windows and
pixmaps to textures. It can be ctrl-C'ed though and
everything turns back to normal. [1]
So, why is the GLX_EXT_texture_from_pixmap not working?
What do I have to do so that it shows up in the GLX
extensions section of glxinfo?
Ciao, ET.
[1] Another fruitless try was to change the "caveat" of
visual 0x4b from Ncon to None but that just produces an
error in libGL about depth 0 something (maybe the 0-bit
wide depth-buffer).
More information about the xorg
mailing list