当前位置:操作系统 > Unix/Linux >>

硬件3D加速指南

内容简介:本指南描述了如何在Gentoo Linux的XFree86中使用XFree-DRM以获得3D加速。

  1. 前言

  


  什么是硬件3D加速?我为什么需要使用它?

  硬件3D加速可以允许你使用显示卡上的图形处理器来处理三维图形渲染而不需要占用宝贵的CPU资源。作为“软件加速”的反面,它也被称作“硬件加速”。在没有硬件3D加速的情况下,CPU自身会被强制使用 Mesa软件渲染函数库来进行贴图处理,这会占用相当多的CPU资源。虽然XFree86一般都支持2D硬件加速,但它却常常缺乏硬件3D加速功能。而对于某些需要进行3D渲染的工作(比如3D CAD和三维建模),三维硬件加速将会显得非常重要。

  我如何才能使用硬件3D加速?

  在大多数情况下,你可以选择二进制编码驱动程序或者开放源代码驱动程序。由于我们使用的操作系统是Linux 并且开放源代码是Linux的基本准则,因此我们推荐你使用开放源代码的驱动程序。但有时二进制编码驱动程序也许是你唯一的选择??比如对于nVidia显示卡。二进制编码驱动程序包含了适用于nVidia显示卡的 media-video/nvidia-kernel以及media-video/nvidia-glx、适用于Matrox显示卡的media-video/mgavideo,以及适用于ATI显示卡的media-video/ati-drivers。而开放源代码的驱动程序则包含了适用于 KyroII的media-video/kyro-kernel以及适用于ATI显示卡的media-video/ati-gatos,后者为 ATI显示卡提供了更为全面的视频功能的支持。

  什么是 DRI?

  Direct Rendering Infrastructure (dri.sourceforge.net),也就是所说的DRI,是一个允许应用程序以高效安全的方式直接访问图形处理硬件的框架控制系统。它包含了对X 服务器、一些客户端函数库以及系统内核的某些修改。DRI最主要的用处是实现OpenGL的快速高效执行。

  什么是XFree-DRM?它是如何与普通的XFree86进行关联的?

  XFree-DRM是一套为XFree86提供增强性能的组件,它通过为直接渲染添加必要的内核模块来为你的显示卡提供3D加速。

  目的

  本指南是为那些无法在XFree中使用DRI的用户准备的。XFree-DRM适用于3dfx, gamma, i8x0, matrox, rage128, radeon, mach64(从xfree-drm-4.3.0-r7开始支持)以及 sis300系列驱动程序。由于2.4系统内核的直接渲染管理器(DRM)不再支持XFree 4.3,因此你需要安装xfree-drm软件包,不过,2.6系统内核可以支持XFree 4.3。但是Gentoo的 XFree-DRM软件包尚无法在2.6系统内核中工作。请参看DRI 主页以获得更多信息。

  

  意见反馈

  如果你有任何建议或者疑问,请将E-mail发送到这里: Donnie Berkholz.

  2. 安装XFree86并配置你的系统内核

  


  安装 XFree86代码 2.1: 安装 XFree86# emerge x11-base/xfree

  配置你的系统内核

  检测你的芯片组并且打开相应的内核支持。代码 2.2: 检查你所使用的AGP芯片组# emerge pciutils; lspci | grep AGP# 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)// 以上的输出结果会因为不同的硬件而有所差异。

  在大多数情况下,系统内核应该含有以下的选项。以下是在使用gentoo-sources-2.4.20-r5的情况下进行配置的:代码 2.3: 配置内核# ls -l /usr/src/linuxlrwxrwxrwx

  1 root

  root

  22 May 29 18:20 /usr/src/linux -> linux-2.4.20-gentoo-r5// 请确保 /usr/src/linux 已经指向当前内核.# cd /usr/src/linux# make menuconfig代码 2.4: make menuconfig 选项Processor type and features ---><*> MTRR (Memory Type Range Register) supportCharacter devices ---><M> /dev/agpgart (AGP Support)[*] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support// 请为你自己所使用的芯片组打开相应的内核支持[ ] Direct Rendering Manager (XFree86 DRI support)


  请确保Direct Rendering Manager (DRM,直接渲染管理器)已经处于关闭状态。 XFree-DRM软件包将会提供它所附带的直接渲染管理器。2.4版本的系统内核可以支持 XFree 4.2。

  编译并安装你的系统内核代码 2.5: 编译并安装你的系统内核# make dep && make clean bzImage modules modules_install# mount /boot# cp arch/i386/boot/bzImage /boot

  如果你想让你的新内核使用一个bzImage以外的其他名称,请将它复制到/boot/yourname 。当然,不要忘记修改grub.conf和lilo.conf,如果你使用的是LILO,你还需要运行/sbin/lilo 。

  3. 安装 XFree-DRM 并配置直接渲染

  


  安装 XFree-DRM代码 3.1: 安装 XFree-DRM# ACCEPT_KEYWORDS="~x86" emerge xfree-drm

  配置 XF86Config

  

  用你喜欢的编辑器打开/etc/X11/XF86Config,然后编辑这个文件以让它启用DRI和GLX。代码 3.2: XF86Config...Section "Module"

  Load "dri"

  Load "glx"

  ...EndSection...Section "Device"

  Driver "radeon"

  ...EndSection...Section "dri"

  Mode 0666EndSection


  如果你正在使用其它显示卡,请将"radeon"替换为你自己的驱动程序名称。

  4. 测试3D加速

  


  用你的新内核启动系统

  用你的新内核启动系统。现在你可以看看直接渲染是否已经开启并且体验它为你的系统所带来的改善。代码 4.1: 测试渲染功能# startx// 如果agpgart已经被编译为模块,你则不必为你的驱动程序或者agpgart加载模块,// 它们会被自动加载。# glxinfo | grep renderingdirect rendering: Yes// 如果你得到的提示是"No," 说明你的3D加速没有被打开或者你的显示卡不支持3D加速.# glxgears// 以默认大小测试你的FPS,你所得到的数字// 应该会比在安装xfree-drm之前有显著提高,我们建议你在CPU足够空闲的情况下做这项测试。

  5. 使用CVS源代码

  
警告: 如果一切都已经正常工作的话,请不要轻易尝试。注释: CVS源代码程序是一直在更新和变化的,因此也许你的配置不会和下面的讲解完全一样。

  你需要CVS源代码版本吗?

  首先你得弄明白xfree-drm是否可以正常工作,如果它确实有问题并且不是由于你的配置错误而引起的话(你可以检查Log文件来进行验证),你也许可以考虑一下CVS源代码版本了。但是如果你不想编译完整的CVS,你也可以找到许多daily driver snapshots(每日驱动程序更新快照)。

  CVS源代码版本支持你的显示卡吗?

  浏览一下DRI 已经支持的显示卡列表,看看CVS版本的程序是否可以支持你的显示卡,即便你没有找到,你也可以尝试一个与你的显示卡类似型号的CVS程序。警告: “Linux 2.4内核不支持AGP 8X,所以我不得不去寻找一个backport。现在这个backport可以正常工作了… 但是它修补得并不是那样完美,而且它需要2.4.21的系统内核(使用vanilla成功运行,直接通过tarball 方式编译)。首先从kernel.org上下载2.4.20-2.4.21的补丁,然后下载AGP 8X的补丁??你可以从邮件列表上的某个地方找到它。在打补丁的过程中会遇到一个有关pci_ids.h文件的小问题,但是如果你打开这个文件并且看一下 reject list,这个问题便可以很容易的解决。现在有关AGP 8X的问题确实得到修复了,我可以使用 xfree-drm 在1600x1200分辨率下进行工作(但是由于缺少DGA,因此速度有点慢)。(来自#gentoo频道上的SanityInAnarchy)重要: 这个补丁需要一点技巧才能安装成功,你可以在这里 找到下载的地方。如果你可以在BIOS中关掉8X AGP并且打开AGP 4X的话,也许你就可以不必使用这个补丁了。

  安装CVS源代码版本程序

  

  按照本文档完成到“编译并安装你的系统内核”这一节,然后从DRI 编译指南 的第6步做到第8.3步即可。

  匿名CVS下载

  为你的CVS文件创建一个存放目录:代码 5.1: 为CVS创建一个目录# cd ~# mkdir DRI-CVS

  查看CVS源代码程序更新:代码 5.2: 查看CVS源代码程序更新# cd ~/DRI-CVS# cvs -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri login// (当提示你输入密码时请按ENTER键)# cvs -z3 -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri co xc// -z3参数允许你在下载时启用压缩以节省时间

  更新你的CVS源代码

  也许以后你想要更新你的DRI源代码本地副本以获得最新的CVS版本,这时你可以使用以下的步骤:代码 5.3: 更新本地副本# cd ~/DRI-CVS# cvs -z3 update -dA xc// -d参数允许自动创建子目录。// -A参数允
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,