本文是以VIA KM400显卡芯片为例,介绍在红旗Linux6.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 'http://svn.openchrome.org/svn/trunk'的错误信息,说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 在红旗Linux6.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源码,提前修改才有效,这只是我在红旗Linux6.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,设置显卡配