LINUX硬件3D加速指南
2010-09-21 20:58
260 查看
LINUX硬件3D加速指南
1. 解释什么是硬件3D加速,为什么我需要它?
使用硬件3D加速,三维渲染将会使用显卡上的图形处理器来进行,而不会占据宝贵的CPU资源来绘制3D图像。它也被称作“硬件加速”而不是“软件加速”,因为如果没有这个3D加速,你的CPU将只能使用Mesa软件渲染库来绘制所有的3D图像,这会占用相当多的处理器资源。虽然Xorg一般会支持2D硬件加速,它经常缺少硬件3D加速。三维硬件加速在游戏、3D CAD和建模等需要渲染3D对象的场合下非常有价值。
我怎样获得硬件3D加速?
在很多情况下,二进制驱动和开源驱动都存在。推荐使用开源驱动,因为我们使用的是Linux并且开源是它的本质特征之一。有些时候,二进制驱动是唯一的选择,比如nVidia的显卡。二进制驱动有针对nVidia显卡的x11-drivers/nvidia-drivers以及针对ATI显卡的x11-drivers/ati-drivers。
什么是DRI?
Direct Rendering Infrastructure——直接渲染架构,也称DRI,是一个允许在安全和高效的方式下直接访问显卡硬件的架构。它包括对X服务器的改动,以及对几个客户端库和内核的改动。DRI的第一个重要应用是创建快速的OpenGL实现。
什么是DRM,它和常规Xorg有何联系?
DRM(Direct Rendering Manager——直接渲染管理器)是Xorg的一个改进,它通过增加直接渲染所必要的内核模块来为显卡增加3D加速功能。
目的
本指南是给那些在Xorg里不能搞定直接渲染的人准备的。DRM对于下面这些驱动工作正常:
3dfx
intel
matrox
rage128
radeon
mach64
sis300
via
请看DRI主页以获取更多信息和文档。
回馈
2. 安装Xorg和配置内核
安装Xorg
请阅读我们的Xorg配置指南来配置Xorg并使之运行起来。
配置你的内核
检测你的芯片组并只启用该芯片组
代码 2.1: 检查你的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.2: 配置内核 |
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4 (确保/usr/src/linux连接指向你现在的内核。) # cd /usr/src/linux # make menuconfig |
代码 2.3: make menuconfig选项 |
Processor type and features ---> <*> MTRR (Memory Type Range Register) support Device drivers ---> Graphic support ---> <M> /dev/agpgart (AGP Support) ---> (agpgart选项在64位内核里不存在;只需要选择你的芯片组支持即可。) <M> Intel 440LX/BX/GX, I8xx and E7x05 support (启用你的芯片组而不要照抄上面的例子。) <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> <M> (从列表里选择你的显卡) |
代码 2.4: 编译和安装内核 |
# make && make modules_install |
3. 配置直接渲染
配置Xorg.conf
用你喜欢的文本编辑器打开/etc/X11/xorg.conf,编辑它以启用DRI和GLX。
代码 3.1: xorg.conf |
... Section "Module" Load "dri" Load "glx" ... EndSection ... Section "Device" Driver "radeon" (用你的驱动的名字替换radeon。) ... EndSection ... Section "dri" Mode 0666 EndSection |
你需要把你的显卡所用的模块名字加入/etc/modules.autoload.d/kernel-2.6来确保系统启动时这个模块能被自动加载。
代码 3.2: 编辑/etc/modules.autoload.d/kernel-2.6 |
(改成你的模块的名字) intel-agp |
注意: 如果你把agpgart编译成了模块,你也需要把它加入/etc/modules.autoload.d/kernel-2.6。 |
重启使用新内核
重启你的电脑使用你的新内核并以普通用户登录。是时候看看你的直接渲染是否已经启用而且它究竟有多厉害了。glxinfo和glxgears是mesa-progs包的一部分,所以运行这两个命令前要确保它们已经被安装。
代码 4.1: 测试渲染 |
$ startx (不需要加载你的驱动的模块或者agpgart,即使你把它们编译成了模块。) (它们会被自动加载。) $ glxinfo | grep rendering direct rendering: Yes (如果这里显示的是“No”,那么你没有3D加速。) $ glxgears (用默认大小的窗口测试你的FPS。这个数字应该比配置DRM前高出了许多。尽量在CPU空闲的时候测试。) |
注意: FPS可能会受你的屏幕的刷新率所限,所以如果glxgears显示FPS只有70-100时不要忘了这一点。games-fps/ut2004-demo或者其他3D游戏是更好的测试工具,它们可以给你真实世界的表现结果。 |
如果你想要设定更多的特性,以获取更高的性能和其他原因,请查看DRI网页上的特性矩阵或者Sourceforge上的特性列表。
相关文章推荐
- Android系统2D/3D硬件加速分析报告
- Android2.2,2.3,4.0 中如何使用GPU硬件加速原理 和游戏3D性能的提升
- 【ARM-Linux开发】【CUDA开发】【视频开发】关于Linux下利用GPU对视频进行硬件加速转码的方案
- 8个惊艳的JavaScript 为 HTML5 Canvas 提供硬件3D加速渲染应用实验
- 关于Linux下利用GPU对视频进行硬件加速转码的方案
- linux下vmware12不能3D加速解决方法
- UT-S3C6410开发板 7寸液晶屏/2D/3D硬件图形加速/SD卡+USB2.0升级系统/QQ
- 英特尔® 硬件加速执行管理器安装指南 — Microsoft Windows*
- 英特尔® 硬件加速执行管理器安装指南 — Microsoft Windows*
- 3D软件加速和硬件加速
- Android系统2D/3D硬件加速分析报告
- Linux 3D Programming -- VTK 5.0安装指南
- Android实战技巧之十七:Linux下的模拟器硬件加速
- Linux的3D加速
- Google将在Chrome内建硬件3D加速功能
- 教你一步一步在linux中正确的安装Xcache加速php
- Linux中断(interrupt)子系统之二:arch相关的硬件封装层
- linux LCD驱动(一)--硬件分析
- LINUX硬件配置与管理——用Fdisk工具对磁盘进行分区操作
- linux(ubuntu)查看硬件设备命令