今天在BBS上跳万年的大水坑 - Linux vs. Windows,主要目标方向是易用性。有人说C300的CPU上装Win98也很流畅,问X能行吗?我心下不禁有些虚,因为在我现在用的Duron1200上我也感觉并不流畅,在另一台Piii 866上面也比同机的Win2k要涩一些。
这里说“涩”,我只想到这么个词,就是略微的迟滞,不是那么地流畅的快速,可以感觉得到那种。有大侠说,如果打开DRI的话,不会差。
这个技术我以前并不知道,只记得在xorg.conf里面有这么个模块一向是Load的。然后好奇心驱动Google,Google找到了答案:这是一种让X及其应用程序安全使用显示设备的一种方法,全称Direct Rendering Infrastructure,有一些3D加速驱动是按照
DRI 标准写成的,包括 ATI,Matrox,3DFX 和 Intel。其他的暂时不需要了。
现在这台机器用的Matrox G200的显卡,没风扇,就图个安静,但终归是支持的。Debian的官方内核我一向很有信心,模块应该都有。
按
DRI WIKI上的方法进行,查AGP,输出:
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
agpgart: AGP aperture is 64M @ 0xe0000000
agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode
agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode
查DRM模块,没输出。这就有问题,没加drm模块,inmod加上,又写入了/etc/modules.
在xorg.conf里面保证调dri和glx两个模块。
重启X,检测glxinfo,看前面有
direct rendering: No
表示仍未成功。继续读,检查到xorg.log里面的Static buffer一项,发现是超出显存上限了。这块卡只有8MB显存,24位1024×768有点超了,改成16位色显示,再启动,glxinfo显示:
direct rendering: Yes
开几个窗口,明显感觉到拖动/弹入弹出的操作流畅了许多,切换起来的感觉比往常要好许多,和笔记本上的XP没什么两样了。一个字,爽! :D
还有一点,在Google时有个bug报告上说,2.6.15及其以前内核上,如果上不了DRI,有可能需要在xorg.conf的Device项内,加一个选项:
Option “OldDmaInit” “True”
我是在最开始就加了,现在也懒得再试了 :P 其实这块卡早已经是超级古老,还是二手市场上淘来的,运行glxgears,只有250FPS,不过确实在窗口操作上有很大提升,这个感觉很实在,强烈建议打开这个功能。nVidia的卡似乎要装它自己的驱动才行。