How to: Intel GMA 915 显卡在ubuntu 8.04下无法开启3D加速的解决方案
真是难以置信,一直在ubuntu下有良好支持的Intel Open Source显卡驱动在我升级到ubuntu hardy(8.04)后居然没法开启加速了。
看看xorg.conf中
load “glx”
load “dri”
都是有的。
这是/var/log/Xorg.0.log中的内容,节选:
(II) “extmod” will be loaded. This was enabled by default and also specified in the config file.
(II) “dbe” will be loaded. This was enabled by default and also specified in the config file.
(II) “glx” will be loaded. This was enabled by default and also specified in the config file.
(II) “freetype” will be loaded. This was enabled by default and also specified in the config file.
(II) “record” will be loaded by default.
(II) “dri” will be loaded. This was enabled by default and also specified in the config file.
(II) LoadModule: “i2c”(II) Module “i2c” already built-in
(II) LoadModule: “ddc”(II) Module “ddc” already built-in
(II) LoadModule: “dri”
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor=”X.Org Foundation”
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
另外我还发现/dev/dri下是空的。于是有:
drmOpenByBusid: drmOpenMinor returns -19
drmOpenDevice: node name is /dev/dri/card13
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenByBusid: drmOpenMinor returns -19
……..
为何为何…去launchpad.net看,怀疑是bug…
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/204762
貌似有类似问题的人不少。
后来有个牛人跳出来告诉大家,是内核问题:
https://bugs.launchpad.net/linux/+bug/204762/+viewstatus
还放出了补丁。
我的解决方法是去intel下载它给的驱动源码,自己编译一遍就可以了。噢,只要编译DRM模块的就够了。
这是地址:http://www.intellinuxgraphics.org/download.html
忘了说了,你需要git这个版本控制工具获取源码,去新利得下载吧。
只要drm模块:
git-clone git://anongit.freedesktop.org/git/mesa/drm
然后编译:
cd linux-core/
make
编译出的东西在linux-core这个目录下,我们需要覆盖原来的drm模块(Warning: 覆盖前不要忘了备份):
cd linux-core/
make
cp *.ko /lib/modules/VERSION/kernel/drivers/char/drm/
最后一步中的VERSION 是你的内核版本号,用 uname -f 查看)
比如我就是cp *.ko /lib/modules/2.6.24-16-generic/kernel/drivers/char/drm/
重启下,应该没问题了。
哦,最新的内核2.6.24-19中的DRM模块已经修复了这个bug。可以不手工编译了。