代码: 全选
Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c59 (prog-if 00 [VGA])
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1024x768) to maximum 3D texture size (512): Failed.
aborting and using fallback: /usr/bin/metacity
在7.10以前都是好好的,怎么现在就不行了呢?让我们来看看check textture size哪出问题了。
代码: 全选
sudo gedit /usr/bin/compiz
代码: 全选
check_texture_size()
{
TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g') /**获得最大的textture大小**/
RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//') /**获得当前的分辨率**/
VRES=$(echo $RESOLUTION | sed 's/.*x//') /**横屏分辨率(正常)**/
HRES=$(echo $RESOLUTION | sed 's/x.*//') /**竖屏分辨率(正常旋转90度)**/
verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): ";
if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then /**纵横比较textture**/
verbose "Failed.\n" /**如果分辨率比textture大,就失败**/
return 1;
fi
verbose "Passed.\n" /**如果分辨率比textture小,恭喜!**/
return 0
}
好了,问题找到了,解决问题的办法就有两个:1、把GL_MAX_TEXTURE_SIZE变大;2、修改check_texture_size函数。
第一个办法怎么变,我就不知道了;第二个办法,只要将判断的结果黑白颠倒就行了,也就是将返回值”reture 1“改成”reture 0“,或者在“TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g')”中,将“sed 's/.*=[^0-9]//g'”改成“sed 's/.*=[^0-9]/1/g'”,至于后果,应该就是计算机好累哦!