分类: LINUX
2008-04-10 15:56:26
作者:樊冠群 (转贴请不要删除作者,尊重作者的劳动,谢谢!) 本文是以VIA KM400显卡芯片为例,介绍在红旗6.0 SP1中如何安装开源OpenChrome显卡驱动,分别成功将显卡2D和3D功能驱动。当然本文也可以为以下显卡芯片:UniChrome和UniChromePro显示芯片组(CLE266, KN400, KM400,K8M800, PM800, CN400, VN800,K8M890)作参考。 一,编译安装OpenChrome 2D 1,下载OpenChrome 先建一个目录,名为openchrome,进入该目录运行以下命令下载OpenChrome源代码 svn co 有时会出现svn: Unrecognized URL scheme for ''的错误信息,说URL不正确,请多试几次,或隔几天再试。不信可以用浏览器看看,显示的内容就是源码。我也不知道如何解决这个问题。本人也是在第二天才下载下来的。 2,预编译OpenChrome 确认自己仍在openchrome目录下,运行以下命令预编译源码 ./autogen.sh --prefix=/usr/ 3,编译OpenChrome 确认自己仍在openchrome目录下,运行以下命令编译源码 make 4,安装OpenChrome 确认自己仍在openchrome目录下,且确保当前的用户有对/usr目录的写权限,如果不清楚,请切换到root用户再运行以下命令安装OpenChrome make install 5,设置显卡配 确认当前用户有对/etc/X11/xorg.conf 配置文件的写权限,如果没有请切换到root用户再操作。安全起见请先备份一下/etc/X11/xorg.conf 配置文件。当修改有误时就可以立即还原到以前正确配置了。 用kwrite文本工具打开/etc/X11/xorg.conf 配置文件, 找到Section "Device" 将其中的Driver "via" 改成 Driver "openchrome" 由于该驱动还没有3D功能,所以 找到Section "Module" 删除或用#屏蔽该行 Load "dri" 重启电脑,能够进入系统,证明2D驱动成功。 二,编译安装OpenChrome 3D 要驱动3D还需要编译drm和mesa这两个东西 a,编译安装drm 1,下载drm源代码 要下载drm源代码,需要一个名叫git的工具,请到下载安装 ,之后用下面命令下载。 git clone git://anongit.freedesktop.org/git/mesa/drm 下载完成后,在当前目录就会出现drm的目录。 2,预编译drm源代码 确认已在drm目录中,用以下命令进行预编译 ./autogen.sh --prefix=/usr 3,编译drm源代码 确认已在drm目录中,用以下命令进行编译 make 4,安装drm 确认自己仍在drm目录下,且确保当前的用户有对/usr目录的写权限,如果不清楚,请切换到root用户再运行以下命令安装drm make install 5,编译kernel模块 进入drm目录中的linux-core 运行以下命令进行编译 make LINUXDIR=/lib/modules/`uname -r`/build DRM_MODULES=via 6,拷贝编译好的模块/lib/modules/`uname -r`/kernel/drivers/char/drm/ uname -r 在红旗6.0 sp1 中代表2.6.23.1-4也就算kernel的版本号。 确认自己在linux-core目录中,且确保当前的用户有对/lib/modules/`uname -r`/kernel/drivers/char/drm/目录的写权限,如果不清楚,请切换到root用户再运行以下命令拷贝模块 cp *.ko /lib/modules/`uname -r`/kernel/drivers/char/drm/ b,编译安装mesa 1,下载meas,大小有32M,由于网速很慢。需要耐心等待几个小时才行哦。 用以下命令进行下载 git clone git://anongit.freedesktop.org/git/mesa/mesa 在编译之前请多备份几份mesa,因为在编译是可能出错,而出错后进行了一些修改还是不能编译通过,而只有用干净的mesa源码,提前修改才有效,这只是我在红旗6.0 sp1 上编译的经验。 2,设置环境变了 用以下命令设置环境变了,可选择的值有 i810 i830 i915 mach64 mga r128 r200 radeon s3v savage sis tdfx trident unichrome r300。 命令 DRI_DIRS=unichrome 3,编译mesa 在我的机器上src/mesa/drivers/dri/目录下的 i830和i915两个目录编译会出错,由于我的显卡芯片是VIA KM400,需要的只是unichrome,所以不想试验的朋友可以直接删除src/mesa/drivers/dri/目录下的 i830和i915两个目录。并确认自己在mesa目录下,运行下列命令编译mesa。如果,一旦出现类似上面的错误,可以直接删掉相应的文件夹。只要对应自己显卡芯片的文件夹不出错就好。向VIA KM400只要unichrome不错就可以。 命令 make linux-dri-x86 4,安装mesa 3D 驱动 确认自己在mesa目录下,并确保当前的用户有对/usr/lib/dri/目录的写权限,如果不清楚,请切换到root用户再运行以下命令拷贝模块 cp lib/*_dri.so /usr/lib/dri/ 再将mesa/lib目录里非*_dri.so的文件拷贝到/usr/lib目录中。 非*_dri.so的文件,意思就是说像libGL.so.1.2这样,只要没有_dri这样的字样就要拷过去。 5,设置显卡配 确认当前用户有对/etc/X11/xorg.conf 配置文件的写权限,如果没有请切换到root用户再操作。安全起见请先备份一下/etc/X11/xorg.conf 配置文件。当修改有误时就可以立即还原到以前正确配置了。 用kwrite文本工具打开/etc/X11/xorg.conf 配置文件, 找到Section "Module" 将被#屏蔽该行 Load "dri",去掉#而启用dri 如没有,就加上一行Load "dri" 就像这样 Section "Module" # Load "synaptics" Load "dbe" Load "freetype" Load "extmod" Load "record" Load "v4l" Load "type1" Load "dri" Load "glx" EndSection 重启电脑。此时可以用命令行看看3D效果如何 命令LIBGL_DEBUG=verbose glxinfo 或 直接glxinfo,此时出现了direct rendering: Yes且没如何错误消息提示,证明3D驱动成功了。 命令glxgears可以看看3D性能,没5秒会显卡帧数。看看帧数是不是成倍提高了呢。呵呵,兴奋吧。来再告诉你一个3D游戏的网址,体验体验linux下的3D游戏吧,和CS相似,还能internet队战哦! 谢谢耐心看完本文,祝你成功! 参考文献: |