前一阵子因为某种原因装上了kde-base,但是装完以后无法启动,具体表现在kdm无法启动,用startx直接进kde的话,进入桌面后过几分钟会黑屏,然后所有东西缩在左下角大约信用卡大的一个空间里,还有各种crash……在我的openbox里启动qt软件,经常会报这么一个错误:
X Error: BadMatch (invalid parameter attributes) 8
Extension: 128 (Uknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x2a00027
QGLContext::makeCurrent(): Failed.
在网上搜索无果,后来偶然解决了。
qt4.8以后,gentoo里的eselect多了个qtgraphicssystem模块,这个模块可以选择qt的图像引擎(graphics engine)而不必重新编译整个qt,我的机器上有三个选项:native、opengl(experimental)、raster(default),当时感觉opengl渲染应该会比raster快,就设定成opengl了,后来也就忘了,直到这次偶然发现。经测试,native和raster都能正常运行qt软件,正常启动kde环境,进入kde以后混成方式可以设定为opengl(其实也没啥感觉……),而opengl则各种报错各种悲剧。
另:发现这个问题后,上网搜索了一下,发现很多人都遇到这问题了,就我在网上看到的,ati、nvidia、nouveau驱动的都悲剧了,似乎只有intel的能用这个opengl
再另:qt的raster和opengl engine简介
- 概览:http://labs.qt.nokia.com/2009/12/16/qt-graphics-and-performance-an-overview/
- raster:http://labs.qt.nokia.com/2009/12/18/qt-graphics-and-performance-the-raster-engine/
- opengl:http://labs.qt.nokia.com/2010/01/06/qt-graphics-and-performance-opengl/