OpenChrome(VIA显卡)

来自Ubuntu中文
Yuanyelele留言 | 贡献2007年7月30日 (一) 01:43的版本
跳到导航跳到搜索
---
原文出处:https://help.ubuntu.com/community/OpenChrome
原文作者:MartinJuergens
授权许可:http://www.gnu.org/copyleft/fdl.html GNU自由文档许可证
翻译人员:yhlfh
适用版本:6.06.1(Dapper) , 6.10(Edgy)
----

OpenChrome是针对VIA/S3GUniChromeUniChromePro显示芯片组(CLE266, KN400, KM400,K8M800, PM800, CN400, VN800,K8M890)的自由及开放源代码的驱动程序。

OpenChrome最初被称为“快照”(snapshot)版本,因为它曾是unichrome cvs源码的一个实验性分支。后来,它在unichrome开源驱动(http://unichrome.sf.net)的基础上继续开发,特别是包含了对unichrome-pro芯片支持。

它最初被用来作为实验性的、粗糙的开发的一个临时练兵场,它被unichrome.sf.net计划的所有者宣称为其的一个分支(而该计划本身又是VIA发布的原始驱动的一个分支)。

由于对于所有芯片组的硬件加速支持(XvMC)在随后的unichrome.sf.net驱动中被剔除了,所以如果你希望通过自由及开放源代码的驱动将你VIA芯片的加速特性使用起来的话,你唯一的选择就是使用openChrome。

要获取更多信息,请访问http://www.openchrome.org/ 本指南将帮助你在Ubuntu 6.06 LTS以及更高版本中编译openChrome。本文同样适用于Debian以及其他基于Debian的发行版,例如Kanotix和Knoppix。

在您开始之前

  • 您必须拥有管理员权限。
  • 请确认您激活了Universe以及Multiverse软件源。

编译openChrome 2D驱动

  • 安装所需软件包
    • 在Ubuntu 6.10 (Edgy)中,运行
sudo apt-get build-dep xserver-xorg-video-via

在Ubuntu 6.06.1 (Dapper),Debian以及其他基于Debian的发行版,运行

sudo apt-get build-dep xserver-xorg-driver-via

为了安装编译openChrome所需的软件包,附加安装

    • subversion
    • autoconf
    • automake1.9
    • libtool
    • cvs
    • linux-headers-ARCH (这取决与你所使用的内核,例如386或generic。命令"uname -r"会显示你的内核版本号)
sudo apt-get install subversion autoconf automake1.9 libtool cvs linux-headers-ARCH
  • 好戏真正上演
    • 现在我们将编译openChrome 2D驱动
    • 新建一个目录
mkdir openchrome
    • 切换到刚刚建好的目录
cd openchrome
    • 如果不是K8M890芯片组,按如下方法获得openChrome源代码:
svn co http://svn.openchrome.org/svn/trunk/
    • K8M890芯片组请运行:
svn co http://svn.openchrome.org/svn/branches/vt3336_branch/
    • 非K8M890芯片组进入源码目录
cd trunk
    • K8M890芯片组请输入:
cd vt3336_branch
    • 运行带prefix参数的autogen.sh以便使驱动程序安装在正确的目录
./autogen.sh --prefix=/usr/
    • 编译openChrome
make
    • 安装openChrome
sudo make install
  • 将Xorg驱动改为via 现在我们需要编辑/etc/X11/xorg.conf并将Device Driver改为via
sudo gedit /etc/X11/xorg.conf

找到

Section "Device"

并将

Driver          "blahblah"

改为

Driver          "via"

保存文件。 最后,我们需要通过Ctrl-Alt-Backspace重启X。如果Xorg不再正常启动的话,在虚拟控制台登录并利用文本编辑器(例如nano)将Device section的驱动改回去(请把下面的内容抄在下纸上)。

sudo nano /etc/X11/xorg.conf

openChrome和3D

3D在Edgy中应该无须配置便能正常工作。如果没有,请进行如下操作:

  • 获得源代码
cvs -z3 -d:pserver:[email protected]:/cvs/dri login

(当要求密码时按enter就行了)

cvs -z3 -d:pserver:[email protected]:/cvs/dri co drm
  • 编译libdrm和drm内核模块
    • libdrm

切换到drm源代码存放目录

cd drm

运行autogen脚本

./autogen.sh --prefix=/usr

编译源代码

make

安装编译好的源代码

sudo make install
  • drm内核模块

切换到正确的目录(您应该已经在drm目录了)

cd linux-core

编译内核模块

make LINUXDIR=/lib/modules/`uname -r`/build DRM_MODULES=via

复制内核模块到正确的位置

sudo cp *.ko /lib/modules/`uname -r`/kernel/drivers/char/drm/

运行depmod

sudo depmod -ae

启动模块

sudo modprobe drm
sudo modprobe via

用如下命令测试

glxinfo | grep render

您应该得到一行信息说"direct rendering: Yes" 如果它正常工作了,加入模块以便让其自行启动

sudo echo "drm" >>/etc/modules
sudo echo "via" >>/etc/modules
  • 应该就这样了。重启看看它工作得如何。

问题与解决方法

  • 我的系统有时会冻结

这是由drm的一个bug所致。要解决此问题,你需要在xorg.conf中将

Load    "dri"

注释掉。结果,你将不再拥有3D加速,但你的系统也不会在冻结了。

  • 我在播放视频时没有任何图像

这在使用笔记本电脑时经常发生,这是由于openChrome在某些模块上不能正确支持Xv所致。你可以试试在Xine中将视频驱动改为"gl"或"x11"看看有没有帮助。当你不使用集成LCD而使用外部监视器时,此问题通常不会发生。OpenChrome关于此问题的ticket在这里: http://www.openchrome.org/trac/ticket/40

  • 我的鼠标指针经常消失

这已知在VN800和VM800芯片组上会发生。你可以试试在xorg.conf的device section中加入

Option          "SWCursor" "true"
  • 我装了一个新版本的内核,3D不起作用了

你必须重新编译drm内核模块。步骤已在上面描述过了。

  • 当我想编译openchrome 2D driver运行autogen.sh时,我得到了错误提示
configure.ac: 30: required file `./[config.h].in' not found
unichrome/Makefile.am:33: via_drv_la_SOURCES defined both conditionally and unconditionally

这是由于安装了多个版本的automake而未正确指定默认版本所致。运行

sudo update-alternatives --config automake

并选择automake-1.9.

译者注


3D现状

与openchrome驱动配套的3D驱动可从the DRI project获得。目前你应该使用Mesa-6.4分枝;最新的貌似能可靠工作的版本是Mesa-6.4.1。参见the Building page获得编译信息。如果你不能使它正常工作,请认真查看3DTroubleShooting。驱动的二进制文件叫做unichrome_dri.so,它将被当做unichrome的3D驱动。在Ubuntu中无须自行编译mesa,只要

sudo apt-get install libgl1-mesa-dri

即可。不过amd64的包里好像没有unichrome_dri.so,不知道为什么。如果没有,可以到Debian那去下载Debian的libgl1-mesa-dri包,将里面的unichrome_dri.so解压到/usr/lib/dri/目录即可。

3D驱动不是由openchrome project维护的。事实上,目前没人维护它,并且在Mesa-6.5中似乎有些倒退,例如将软件fallbacks放错地方,缓慢的纹理渲染等等。同时它也有许多导致频繁锁定的bugs,尤其是K8M800芯片组,所以不要对3D抱有太大希望。

3D驱动问题多多的根本原因就是没有人维护,如果你有能力的话,请联系mesa,我们都将感激不尽。

提交Bugs请到freedesktop.org bugzilla。在提交bugs之前请检查已知的bugs或者向邮件列表询问。