LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1953|回复: 2

GLX_EXT_texture_from_pixmap is missing

[复制链接]
发表于 2006-10-15 23:58:01 | 显示全部楼层 |阅读模式
昨天晚上升级到了 Xorg-x11 7.1 ,
按照 Aiglx How to 上安装了 compiz,
然后:

  1. $ gtk-window-decorator --replace &
  2. $ compiz --replace --indirect-rendering --strict-binding gconf move resize minimize place decoration wobbly cube rotate scale switcher zoom fade screenshot water dbus
复制代码

提示错误:

  1. GLX_EXT_texture_from_pixmap is missing
复制代码

是不是还要装新的2.16版本的 metacity 和 Beryl ?
发表于 2006-10-16 01:36:11 | 显示全部楼层
这个和metacity和beryl无关
可能是mesa的问题
回复 支持 反对

使用道具 举报

发表于 2006-10-16 08:35:46 | 显示全部楼层
wiki 上面的:

http://gentoo-wiki.com/HOWTO_XGL ... m_pixmap_is_missing

GLX_EXT_texture_from_pixmap is missing
compiz outputs this:

  1. compiz: GLX_EXT_texture_from_pixmap is missing
  2. compiz: Failed to manage screen: 0
  3. compiz: No managable screens found on display localhost:2.0
复制代码

On ubuntuforums.org, it is stated that this error can occur from a wrong libGL.so (only the libGL.so from mesa can do the trick). Check into where mesa has installing its libGL.so files to and set the export LD_LIBRARY_PATH, in compizrc, to this instead of /usr/lib/opengl/xorg-x11/lib/ which may have a libGL.so that is a symbolic links to nothing or to the Nvidia libGL.so (the one we don't want). Try

  1. LD_LIBRARY_PATH=/usr/lib compiz --replace gconf &
复制代码

It is reported that using the right library, compiz should work on a GeForce FX 5200 -- doesn't work for me, though (not being too much of an expert as far as libraries are concerned, i assume that setting LD_LIBRARY_PATH does roughly the same as LD_PRELOAD, though on a more general level).

If the above doesn't work then try remerging mesa and xgl after switching back to the xorg-x11 libGl.

  1. eselect opengl set xorg-x11
  2. emerge -va mesa xgl
  3. eselect opengl set nvidia # (for nvidia users, or)
  4. eselect opengl set ati # (ati users)
复制代码

Comment: While this has solved for many, it hasn't for me. If I emerge -C nvidia-drivers, everything that depended on libGL.so.1 failed to load as a user, but not as root. Why? After zillions of emerges, the problem was: LD_ASSUME_KERNEL. Try and unset LD_ASSUME_KERNEL and run compiz again. :-)

Comment: To force loading the correct (xorg-x11) libGL this works for me:

  1. LD_PRELOAD=/usr/lib/opengl/xorg-x11/lib/libGL.so compiz --replace gconf
复制代码


Another possible cause is not emerging the correct version of Mesa. Be sure you have it unmasked properly and are pulling in a version greater than mesa-6.4.2. It should be mesa-6.5.1_alpha*.

The above broke my working Xgl (on amd64 and FX5200). Xgl needs to be compiled against nvidia (or ati, should it be your vendor), compiz against mesa; Hence the opengl implementation selected is responsible for explicitly defining the pltform against which the compilation will take place in any occasion. So be aware on switching implementations between 'x0rg-x11' and 'your_vendor' for useable compilations- if in doubt, re-emerge in the correct order, and against the correct implementation once more.

Be advised that in some occasions, while emerging, the system switches between implementations automatically- I haven't found a way to bypass this other than the traditionall ^c "hotkey" =) whilst emerging so any feedback is welcome on this issue- watch out for any debugging output while emerging.

The above (the ati implementation) was also tested on an amd turion 64 HP pavillion dv5063ea (I estimate any dv5000 series will work though) with a 200M ati pciXpress 128MB dedicated _PLUS_ another 128 from system memory (bug on HPs to get the acceleration on X), using an 64bit system, 2.6.15.1 kernel, proprietary ati-drivers 8.23.7 (to get the acceleration working) and, until now, goes on smoothly (I've been using XGL for about one month now, and have experienced no crashes at all -thankfully havent seen any error messages after the "GLX_EXT_texture_from_pixmap is missing")

In my experience and with my setup ( ati mobility 9600 M10 128 MB - ati driver 8.28.8 ) I found out that it's not necessary to switch between the opengl implementations to make mesa-xgl-compiz-quinnstorm-cgwd work. Assuming you're using the latest packages downloaded from the portage-xgl overlay all I had to do is to compile mesa without the nptl USE FLAG. After that compiz and everything else will correctly work even without the LD_LIBRARY_PATH variable.

If you're using beryl try to launch beryl-xgl (instead of beryl)!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表