驱动版本 4.1.0-2.5.1
驱动版本 4.2.0-2.5.1
------------------------------------------------------------------------------
请完整地看完这个文档的全部内容.这个文件中的资料有可能不会在印制的档案或者在线
帮助上面出现。
这个说明文件包括以下资料:
1. 一般性信息
1.1 系统需求
1.2 下载文件清单
2. 安装视频驱动程序
2.1 怎样得到正确的发行版本二进制包
2.2 用rpm工具程序安装驱动程序
2.3 生成具有ISSE支持的内核(2.2.x版本内核)
2.4 生成定制的内核模块
2.5 打开AGP支持
3. 改变视频设置
3.1 用fglrxconfig程序改变设置
4. 配置属性和信息
5. 使用控制面板实用程序
5.1 怎样运行控制面板实用程序
5.2 --- 留空 ---
5.3 Gamma修正调整
6. 注意事项,问题解决和限制
7. 服务,支持和软件升级
1. 一般性信息
----------------------
此驱动程序是基于xfree86版本,这在文档的页眉已经提到.
(文档请到 http://www.xfree86.org/4.0/ )
你必须安装了这个版本的xfree86再为ATI FireGL 8700/8800安装驱动.
如果你的Linux发行版没有提供被这个驱动版本支持的XFree86版本,你必须从下面的网址
下载和安装各个的xfree86二进制包:
'ftp://ftp.xfree86.org/pub/XFree86/4.1.0/binaries/'
或者在
'ftp://ftp.xfree86.org/pub/XFree86/4.2.0/binaries/'.
当前版本的驱动适用X4.1.0和X4.2.0,也可能兼容于XFree86从X4.0.2到X4.2.0的修正版
本.可是,我们没有明确地验证过这些情况.
1.1 系统需求
----------------
1.仅支持基于libc 6.2 (=glibc 2.2)的Linux/x86版本.
2.版本4.1.0或者4.2.0的XFree86必须已经安装好.
3.本驱动带来的OpenGL实现可以在部分当今的cpu上使用ISSE扩展指令集.
因此你应该运行一个能在任务转换时处理各自的寄存器扩展的内核来利用它们.
(ISSE: 互联网管线单指令多数据扩展;一个始于Intel Pentium III的IA-32指令扩展,
Intel Pentium 4 和最近的 AMD Athlon 处理器也支持.)
大多数当今的Linux发行版已经对ISSE做了支持和提供一个i686-优化的2.4.xx内核版本作
为基本系统.
你能添加ISSE支持到你的Linux内核,如果需要的话按以下步骤:
- 为你的内核打补丁(参看2.3)
- 重编译内核
- 安装重编译的内核.
注意:OpenGL驱动能够一样好的使用AMD 3DNow! enhanced 优化代码-根据设计-不需要
为AMD 3DNow!打内核补丁.
4.要为你的本地工作站生成你自己的内核模块,而模块要匹配内核安装,你需要在你的本
地工作站上有一个已配置好的完整的内核原代码树结构。
1.2 下载文件清单
--------------------------
fileinfo.txt - 下载和快速安装向导.
Check.sh - 协助脚本用于确定libc和XFree86版本.
readme.txt - 就是这个文件啦.
fglrx-glc22-4.1.0-1.2.0.i586.rpm
- 有libc6.2 (=glibc2.2)和XFree86 4.1.0的ix86系统的rpm格式驱动包.
fglrx-glc22-4.2.0-1.2.0.i586.rpm
- 有libc6.2 (=glibc2.2)和XFree86 4.2.0的ix86系统的rpm格式驱动包.
2. 安装视频驱动程序
------------------------------
2.1 怎样得到正确的发行版本二进制包
------------------------------------------------------
确定哪个二进制发行版本是你的系统所需要的:
下载脚本 'Install.sh' 或者 'Check.sh' 像这样运行:
sh Install.sh -check
或者
sh Check.sh
这样它会提供适合你的系统的二进制发行版本的信息.
注意:取得正确的二进制发行版本的信息可以使你避免浪费时间下载错误的发行版本.
2.2 用rpm工具程序安装驱动程序
-------------------------------------------------------
下载适合你的rpm包然后贮存于一个临时目录,这个目录你要可以创建,删除和修改
文件和目录.你将需要至少5 MB可用的磁盘空间.
取得超级用户(root)权限和改变(cd)到这个目录.
开始rpm程序:
rpm -Uhv <包名>.rpm
可能你会发现问题,试试这个命令行:
rpm -i --force <ati_包名>.rpm
rpm程序会对系统库做各类依赖性检查,你会发现你装驱动包时被要求安装某几个版本(或
兼容版本)的其他包.高级管理员能用"--nodeps" 开关决定不检查其精确的依赖性,就如
RPM的手册上所描述的那样,但一般那些依赖性问题是应该补充完整的。
举例,你安装驱动时可能会被提示要QT 2.x.x .那个情况你就安装适当的版本然后再重复
一次安装过程就可以了.如果你没有或者不想安装特殊版本的QT库,你可以在你的命令行
上加 "--nodeps"来越过依赖性检查.因为QT库是FGL面板唯一所需要的,这样做的话面板
就不能运行了.你可以选择从提供的原代码对应你的QT库版本(重)编译面板程序或者跟着
安装(相应)QT库.
RedHat 8.0 的用户需注意:
一个普遍的问题是 RedHat 8.0安装的libGL组件是个特殊的版本.这个文件由
XFree86-Mesa-libGL-4.2.0-72或类似的rpm包提供的.这会引起冲突(rpm的包conflict),
因为ATI Linux驱动附带了这个库的自己的版本,自带的版本有为pbuffer功能格外的支
持.这个库已经考虑到具备和XFree86所提供的版本的向后兼容性.尽管它已经提示了GL库
将被rpm替换文件,你也可以强制RPM安装驱动包:
rpm -i --force <ati_包名>.rpm
假若你不想有这样不顾rpm的警告而强行干的行为:-)而希望作一个符合RPM概念正常的文
件替换,那么你得用rpm工具移除现有的libGL安装然后用ATI驱动提供的libGL替换它.用
命令行次序像这样:
(这期间你不该有任何OpenGL程序正在运行.)
rpm -e --nodeps XFree86-Mesa-libGL-4.2.0-72
rpm -Uhv <ati_包名>.rpm
这里需要"--nodeps"选项,因为如一些屏幕保护,qt-3和一些Free86的组件依赖于libGL
库.安装ATI包的新libgl后依赖性就会得到解决.
当驱动文件安装完后,运行fglrxconfig程序来设置你的XFree86.回答fglrxconfig程序的
问题和保存设置到
/etc/X11/XF86Config-4.
debian用户的一些注意事项:
debian Linux发行版在大部分的情况下没有带有rpm工具处理rpm包的能力.不过有个工具
叫"alien"可以允许你转换rpm文件到debian支持的*.deb包格式.工具操作方法请参考
debian文档.
一个典型的debian安装命令行会像这样:
dpkg -i <ati_包名>.deb
为了避免麻烦(可能是由已经安装的包"xlibmesa3"同样提供了libGL.so.1.2 这个文件)
请用这个安装命令行:
dpkg -i --force-overwrite <ati_包名>.deb
2.3 产生具有ISSE支持的内核(2.2.x版本内核)
--------------------------------------------------------
注意:符合下面的情况你就可以跳过这节的内容:
(1)你拥有2.4.xx内核:2.4.xx和大多数最新发行版带的内核内建有ISSE支持,
(2)你的CPU根本不支持ISSE.
如果你的内核没有提供奔腾III的ISSE支持,你需要一个内核补丁来从奔腾III的ISSE指令
集中受益.
补丁在 'http://people.redhat.com/mingo/mmx-patches/' 也许有用.
请注意这些补丁带来初步的'alpha' 或者 'beta'代码."mmx-2.2.14-A0"版本已经被测试
过结果相当正常.
你必须用自www.kernel.org正确匹配的内核源码.
一个发行版的特殊内核,比如自RedHat的2.2.14-5.0或2.2.14.SuSE可能会不行.
+++ 强烈建议在应用补丁前备份旧内核的源代码! +++
把内核源码解开到一个你选择的目录,通常在/usr/src.
在继续以前确认新内核源码已经有了一个符号连接叫 /usr/src/linux .
复制补丁文件到 /usr/src 和从那解开:
- gzip包的补丁这样弄
'zcat piii.gz | patch -p0 -E'
- 没有打包的补丁这样
'cat piii | patch -p0 -E'
如果你的内核完全符合补丁设计的话就会看不到询问和错误显示.
转到 '/usr/src/linux' 然后打 'make menuconfig'开始内核设置程序.
进入"Processor type and features".选择"PIII/Xeon/Deschutes"
作为处理器系列就显示ISSE 或者 MMX2 菜单项.要一个完全可用,有ISSE支持的内核选择
以下选项:
- Processor type and features
(PIII/Xeon/Deschutes) Processor Family
- [*] Enable CPU Specific (MMX/MMX2) Optimization Functions
- [*] MTRR (Memory Type Range Register) support
- Loadable Module Support
- [*] Enable loadable module support
- [*] Kernel module loader support
保存你的设置然后退出menuconfig程序来编译你的内核.
详情请看你的发行版商的文档.
安装新编译的内核和测试.
+++ 一定保持你先前的内核可以启动到以防遭遇不测. +++
有什么疑难和问题请检查文件
/var/log/XFree86.0.log 和
/var/log/messages 找可能出错的提示.
在你成功编译和安装好新的,打好补丁的内核后,用新内核起动你的系统.
花一点时间安装驱动.再一次使用 Install.sh脚本.
记住,你必须以超级用户(root)权限登陆.
现在必须的内核模块和客户端驱动将被安装.
你可以用'cpu_check'工具来检查系统的CPU和内核补丁.
2.4 产生定制的内核模块
FireGL 8700/8800 彻底地利用你的工作站的性能.严谨的特制的内核模块是需要来支持一
些特性,比如,AGP支持,总线主控DMA传输,或内存映射.这样的模块在启动时载入或者随
x-server起动和跟驱动配合随时使用.
注意:
如果模块缺失了,你会得不到3D硬件加速支持和2D驱动在载入时会失败.起因请查看X11的
控制台输出和/var/log/XFree86.0.log.
你需要开始手动编译内核模块
- 如果你发现没有硬件3D支持(运行fglrxinfo检查)
- 如果你对系统作了重要改变,比如更换了内核
- 如果在驱动安装过程中总是这样建议.
二进制包为一些发行版和内核版本提供了完全可用的内核模块.因此,一些情况下,你不需
要自己编译内核模块.所提供的模块安装是否成功安装程序会通知你的.
FireGL提供的内核模块可能不适合你的需要,比如,
- 当你有一个新的或者定制了的内核,或者
- 当你打开了内核的symbols versioning功能.
这些情况你就必须编译你的已配置好的内核原代码,在 /usr/src/linux -这里允许是个符
号链接.
要编译定制内核模块你需要管理员权限.
你必须手动运行两个shell脚本来编译定制的内核模块.
执行以下步骤:
- 取得匹配的Linux内核源代码
- 运行 "make distclean"
- 用匹配你的内核的设置文件设置好内核源代码
- 运行 "make dep"于内核源码树
- 切换到"/lib/module/fglrx/build_mod"然后输入"./make.sh"
- 切换到"/lib/module/fglrx"然后输入"./make_install.sh"
进入/lib/module/fglrx/build_mod 和(以root)运行"./make.sh".
这样你会创建一个新的特殊定制的内核模块.
如果创建失败了,请在屏幕上和相关记录文件"make.log"里找原因.
注意:以下是一些配置下会出现的警告信息,可以忽略
compiling...
/tmp/ccOWu6AI.s: Assembler messages:
/tmp/ccOWu6AI.s:9: Warning: Ignoring changed section attributes for .modinfo
特别的Linux内核源代码组合和C编译器触发这种警告信息.类似的信息出现在你编译你自
己的Linux内核时.这是个已知的普遍Linux问题,不会影响你的编译.
一些周边的内核源代码引起更多的有关某类型的指针型转换(pointer conversion)的警告
信息.你也可以忽略它们.
编译内核模块你需要与你所运行的内核完全地相匹配的Linux内核头文件
(Linux kernel headers).
如果你的内核是配置了SMP与P-III支持和打开了agpgart,你必须有一份配置完全一样的
内核源码.
如果你的内核是由你的Linux发行版编译的以及提供的是二进制文件:
- 取得相关的源码RPM文件
- 解开包含在那的匹配的配置文件.
(RedHat Linux 文件可能在子目录"configs"下.
SuSE Linux: 在 SRPMs 里找这些文件吧.
最新的 SuSE 版本会出现在当前运行内核的 /proc/config.gz .)
- 以这些配置设置你的内核源码:
(1)复制配置(config)文件到 /usr/src/linux<your-extension>/.config
(SuSE的config.gz先在临时目录下"gunzip config.gz".)
(2)运行"make oldconfig"导入设置
- 运行"make dependencies" ("make dep").
注意:
如果你要为多个内核设置编译多个模块,在每次循环后都要运行"make distclean"和重设
置配置文件.
若你不能编译匹配的内核头文件
(1) 重新编译一个新的为你的机器优化的定制内核,
(2) 把新内核装上去然后重启
(3) 继续安装过程 - 假若内核跑起来了
在每个已编译好的定制内核模块上进行最后一步:
- 转到 /lib/modules/fglrx
- 运行 ./make_install.sh
这样就把匹配的内核模块复制到你那运行内核的可加载模块树里了.脚本也会更新模块加
载依赖性列表.
一样的内核和内核设置在同一机器上编译生成的内核模块是可互换的.把模块复制到
/lib/modules/fglrx
然后运行位于同一目录的脚本
./make_install.sh
来设置新模块可用.
2.5 打开AGP支持
------------------------
几个最近的发行版,比如 SuSE 7.0 或 RedHat 7.0,附带匹配和可能被激活的AGP支持.
这是由一个被称为'agpgart'的内核模块所提供的.
如果图形驱动内核模块检测出有这项功能,它就会试图连接 AGP/GART 模块.
要验证相关的AGP模块是否已被加载,以root运行'lsmod'.
当XServer运行和建立了连接后,agpgart模块的使用计数肯定不是零.
注意:
模块依赖性列表没有将agpgart作为fglrx内核模块的必要部分 - 模块操作对agpgart没有
强依赖性.因此系统的管理员对他在特定的机器上面运行什么有最大的控制力.
驱动的内核模块的最新版本带有"内建"agp支持.如果你的发行版内核设置没有提供
agpgart兼容服务,FireGL内建agpgart模块将被使用.
3. 改变视频设置
------------------------------
+++ 只能用 fglrxconfig 工具来生成 XF86Config-4 文件! +++
要生成 XF86Config-4 文件你必须知道你系统的显示器,键盘和鼠标的型号.
重要:不要指定一个水平同步频率超过实际连接那个的能力范围的显示器型号.
++++ 错误的显示器设置会损坏你的显示器! ++++
3.1 用fglrxconfig程序改变设置
------------------------------------------
1. root权限登陆.
2. 运行 FireGL 8700/8800 设置程序. 键入:
fglrxconfig
3. 回答 fglrxconfig 程序的问题和保存设置到 /etc/X11/XF86Config-4.
4. 重起 XServer.
4. 配置属性和信息
-----------------------------------------
1. 要检查3D加速是不是工作正常,用跟FireGL 8700/8800驱动一同安装的'fglrxinfo'
程序.
要运行检测程序键入:
fglrxinfo
典型的输出信息(3D加速工作正常)
你会看到:
OpenGL vendor string: ATI
OpenGL renderer string: FireGL 8700/8800
OpenGL version string: 1.2.1234 (1.2.3)
2. 一些工具,比如从XFree86团体来的同样提供有用的信息,例如. xdpyinfo 或 glxinfo.
3. 需要得到你运行的系统的CPU支持信息,执行应用程序"cpu_check"(这个程序可能只出
现在你也安装了FireGL 1 - 4 驱动的时候.)
4. 双头设置
驱动程序有多负载能力,也就是,一个不同的窗口管理器(window manager)可以在第二屏幕
上创建并输出于第二个输出连接口.用设置工具"fglrxconfig"来打开双头模式.要控制第
二屏幕,把鼠标移进去就可以了.
注意:
- Xinerama 和 DRI 是互斥的.因为这样 Xinerama 不能被打开.
5. 视频覆盖(Video Overlay)
所有的被这个驱动支持的图形卡都有视频覆盖能力.
当你是用 fglrxconfig 工具来生成 XF86Config-4 文件时,
视频覆盖是被打开的.
视频覆盖和OpenGL覆盖(OpenGL Overlay)是互斥的.
5. 使用控制面板实用程序
--------------------------------------
当前的驱动提供了一套易用的面板,整合于两大窗口管理器中.
因此你能够容易地得到关于适配器和其设置的信息.你也能选择几个单头或双头的设置变
量和调整屏幕的颜色gamma系数.
注意:
- 面板应用程序是基于Trolltech的 QT Toolkit Linux版.因为不是所有的Linux平台有相
应安装了的库,我们提供了面板应用程序的两个版本:
- 静态连接库版 和
- 动态连接库版
默认是用动态连接库的版本.
如果你在你的系统里没有相应的QT库版本那么安装程序就会转到静态连接版本的面板应用
程序,用这个名字:
/usr/X11R6/bin/fireglcontrol.static
这个二进制文件里面包含了匹配的QT库.这版本的应用程序有着相当大的文件大小和内存
占用.
那最终没有被用到的版本会以一个bzip2压缩文档存在于 /usr/X11R6/bin 以占用最小的
空间开销.
- 因为 GPL 和 QPL 许可证的原因(许可证拷贝在驱动包有提供)面板应用程序的源代码包
含在驱动包里面.如果你对这些文件有兴趣,请find来找他(please find find them) - 以
归档文件来包装 - 你安装了图形驱动后在 /usr/src/fglrx_panel_sorce.tgz
5.1 怎样运行控制面板实用程序
------------------------------------------------
要运行控制面板应用程序:
- 如果你用的是 RedHat 8.0 那么到:
Main Menu ("RedHat 标志") => Extras => Other => ATI Control
- 如果你用的是 GNOME 桌面环境那么到:
Main Menu ("gnome 脚印") => Programs => ATI Control
- 如果你用的是 KDE 桌面环境那么到:
Main Menu ("K 图标") => ATI Control
- 如果你用的是其他的窗口管理器你可以找到
FireGL 8700/8800 控制面板在:
/usr/X11R6/bin/fireglcontrol
如果你设置了路径到这个地方,那么只要在一个xterm窗口打
fireglcontrol
就可以运行面板应用程序了.
5.2 --- 留空 ---
5.3 Gamma修正值调整
-------------------------------
要调整Gamma修正系数
Gamma修正值的调整设置是每个显示器都不同的.
- 在ATI FireGL 8700/8800控制面板中选择适当的显示器标签(monitor tab)为你想要修
正的显示器:
Monitor tab 1 是那个连接到VGA连接口的显示器,
Monitor tab 2 那个连接到DVI连接口的显示器.
- 为你想要的显示器选定调整标签(Adjustment tab)
利用红(red),绿(green)和蓝(blue)滑动条调整显示器的gamma修正值.改变会在相应的显
示器上立刻显现出来.显示gamma(display gamma)的效果是令framebuffer数据的中间影调
更暗或更亮.gamma修正影响相应显示器的整个显示.
滑动条调节范围是0.1 - 10.0 (X定).默认值是1.0.
当"Link sliders"选定,你拖动任何一条滑动条时三个滑动条一起动.当"Link sliders"取
消选定,你能分别拖动其中一条滑动条单独调节颜色.
按">1<"按钮 - 如果没有连接(没有选定"Link sliders")就单独调整颜色 - 那么相应的
gamma修正值就会复位到默认值1.0.
按下 Apply 或者 OK 按钮来确定你的调整.
注意:
- gamma值是由应用一项指数转换功能实现,符合256中每个可能的R,G和B输入值转换成数
字输出值.这个值传输到显示器的驱动单元.
当用面板调整
- 一个为零的输入值是一般相当于最黑的输出值.
- 一个为255的输入值是一般相当于最亮的输出值.
- 因为面板应用程序的源码是有提供的,高级程序员可以定制gamma功能,比如.去定位特殊
需要像gamma偏移或者clamping.
- 警告:不同的gamma修正应用程序可能不如上面所述般工作.请检查应用程序相关的说明
书.
6. 注意事项,问题解决和限制
-----------------------------------------
1. FireGL 8700/8800 允许在VGA和VESA模式的图形化Linux安装.
发行版那种图形卡的本地图形模式预包装驱动安装是可行的.
2. 带有XFree86 4和更高版本的SuSE系统可能要做以下的事:
假若你发现运行任何opengl相关的软件(或者SuSE的3Ddiag脚本)有错误警告,不完整或者
缺失GLX支持,那么你就需要做下面写的事了.
SuSE为传统硬件提供的XFree86 3.3.6是这个驱动还没有移植到的版本.因为这个原因你得
看一看SuSE安装指引的OpenGL(SuSE 7.3的第6章)来多了解这个方面的详情了.
简而言之,你需要在你的机器上作xf86_glx-4.*.i386.rpm的包安装.如果你在运行系统安
装程序时选上了"3D hardware support"那么你可能已经安装了这个包.
做完这个你还要运行以下两个脚本
/usr/X11R6/bin/switch2xf86-4
/usr/X11R6/bin/switch2xf86_glx
这个将X4.x.x的运行文件设置为默认的和为X11的OpenGL支持安装DRI库.其他对OpenGL支
持的方案如"mesasoft"和其他的第三方硬件支持厂商的特殊OpenGL库集在FireGL系列的适
配器上将得不到加速甚至不能工作.
FireGL驱动包的安装程序尝试去解决所提到的需求问题,但是不可能时时成功的,尤其是当
没有所需要的rpm包的时候.此外当有第三方的类似的硬件安装于系统中时安装会出现错误.
3. 如果你发现在图形模拟终端上有冲突但在文本模式下屏幕正常,在终端切换时没有响应
或者在XServer关闭时突然停止响应,那么试着用"vga=normal"替换内核参数像
"vga=<nnn>" 或 "vga=ask".
这样可能在SuSE 8.0上有用,但视你的系统而定.
假如你用的是lilo启动加载器你会发现参数很可能在文件 /etc/lilo.conf . "vga=..."
语句会很显眼地出现在它自己的行上.更改完这个文件后你必须执行一次 "lilo" 来更新
启动区的数据.
假若你用的是grub启动加载器那么你就发现这个参数可能在文件 /boot/grub/menu.lst .
"vga=..." 项会出现在以关键词"kernel"开始的一行里面.改完这个文件后你重启就可以
了因为"grub"是自动设置的.
文件和方式会视乎你用的不同的加载器不同而不同.
4. Xv 支持
视频和其他通过 Xv 软件系统进行媒体回放的现在还是在一个早期阶段所以一些视觉上的
问题会发生.如果你真的在那个功能上有问题了我们推荐你试试程序"mplayer"和设置它的
视频输出选项为"GL",以得到最好的总体质量和性能.
5. 局限性
- 用libc 6.0到6.1的系统是不被支持的.
6. 有关OpenGL应用程序编程,DRI,DRM的更多资料,请参考Precision Insight
Documentation README.DRI 在这 /usr/X11R6/lib/X11/doc 或
http://www.xfree86.org/4.0/DRI.html
7. 其他OpenGL实现
- 你的系统应安装有其他OpenGL兼容库(例如 MesaGL)并有比硬件支持的库更高的优先级.
- 你的应用程序应连接到其他的GL库而不是由FireGL 8700/8800提供 - 那样就不会使用
其提供的硬件加速了.
那样你的系统会运行于较慢的软件渲染代码,与FireGL
8700/8800硬件加速的渲染库相比.这个情况下请请教有经验的能适当地重编译应用程序或
者能修改你的库环境使之找到正确的库的Unix/Linux专家.
要检查你的应用程序用的是哪个库,键入
ldd <应用程序名>
你就会得到附加的信息.
如果报告的GL库来自你的X11R6子目录,那么应用程序大概编译正确了.
然而,库或者XFree86设置可能会千奇百怪.
涉及连接到libGL.so.1.2也是好的,可是,涉及连接到,比如libMesaGL.030300 很显然不符
合你的需要.
其他情况,请检查看文件是否是个符号连接和那个文件是最终被连接到的.
8. DRI 和安全
你的XF86Config-4文件里面的"dri"项,举个例,像是:
Section "DRI"
Group "video"
Mode 0660
EndSection
这意味着只是被分配到"video"组的用户才能使用3D硬件加速.要添加一个用户到"video"
组,这样做:
- 编辑 [以root] 文件 /etc/group,
- 寻找 "video"
- 在 'video' 行的最后添加新用户, 其中用一个逗号 (,)分隔开.
例子:
添加一个新用户 'henryc'到
video:x:33:frankh,michaelg
结果就成了这样
video:x:33:frankh,michaelg,henryc
9. 旧GLX库文件
如果有一个glx库文件异于libglx.a (比如一个文件像 libglx.so或类似的)在目录
/usr/X11R6/lib/modules/extensions ,这样会令XServer不能正常地访问glx库.
这个情况把其他的glx库文件(除了libglx.a)移到不在库搜寻路径的一个目录下.
10. OpenGL实用工具库的一般性使用(GLU, GLUT)
很多的发行版都带有一整套OpenGL实用工具库.
有时一个特定的程序可能需要当前没有安装在你的系统的特殊库版本.
很多的库是可互换的或者输出有很高的等效性.
(libMesaGLU.??? -> libGLU.so, libMesaGLUT -> libGLUT)
对于普通的应用程序这样做:
- (1) 用需要的名字创建一个符合连接,到已存在的库
ln -s <存在的库名> <需要的库名>
- (2) 运行 'ldconfig'.
因为库是用户级别系统的一部分,这种设置扩展没有危险.通常,你的先前难以对付的程序
在库的符号连接版本上就会平稳地运行起来.
如果设置扩展(setup extension)失败了,你会从应用程序得到一个分段失效
(segmentation fault)或者一段有关符号未解决(unresolved symbols)的警告信息.
典型的库位置是:
- /lib
- /usr/lib
- /usr/local/lib
- /usr/X11R6/lib
确定这里面没有重复的名字,而你明确知道哪个库地址是激活的.
若一个应用程序需要在特定的树的一个特定的库,考虑去应用程序的地方创建一个符号连
接到你喜欢的地方,还是每次拷贝或移动文件.
一个典型的错误情景:你的应用程序使用GLU tesselation API,
而你只有MesaGLU,例如 3.4版本的Mesa.
应用程序会在运行'gluTess'时提示你unresolved symbols .
- 访问'http://www.mesa3d.org'的下载栏目.
- 寻找开源的SGI GLU执行样本(sample implementation)的可安装包.当前下载地址的直
接链接为:
ftp://mesa3d.sourceforge.net/pub/mesa3d/SI-GLU/
- 文件 oss-opengl-glu-20000925-1.i386.rpm 应该会适合你.
你可以在这里找到最新版本的GLUT库:
http://reality.sgi.com/mjk_asd/glut3/glut3.html
免费下载的.因为glut库释出的周期比较短,一些附加的例子程序可能会出现错误.
有时你可以在这里找到glut/win32包里例子的修正代码:
http://www.xmission.com/~nate/glut.html
注意现在这个包不是在Linux下编译 - 项目工作的目的不是这个.尽管,这有可能改变.
你必须将选定的源代码文件移到一个正规的GLUT - 3.7 环境中.
有多种工具包可用.一些工具包是包含在GLUT里面(像 gle, mui, glsmap),一些工具包是
单独地发布的.
注意:
再深入研究这个题目就远远超出文档的范围了.各个工具包团队有责任提供最新版本和提
供OpenGL兼容实现.
11. 登陆Shell
对于任何Linux我们推荐为以root工作准备一个真正的"登陆Shell(Login Shell)".
- 从控制台直接登入系统或者
- 使用代用者的命令行,在任何用户任何shell下用'su -l'.
这样会为你的root环境设好所有需要的路径.
12. 有内建 dri/drm 支持的Linux内核
一些Linux内核源码为各种各样的图形适配器提供XFree86内核模块.
(1)这些文件是不和ATI驱动兼容的.
(2)这些文件可能会对找到或发现ATI模块起阻碍作用.
(3)运行FireGL 8700/8800及其驱动不需要这些文件.
到现今为止,还没有完美执行的XFree86内核驱动装载进程.如果你有多个内核驱动选定和
直接编译进了你的Linux内核的话,XFree86可能不会自动起动各个ATI内核模块.XFree86扫
描所有现存的dri设备和断定dri是激活的但没有合适的驱动.
因此需要的内核模块不被加载.
上面一幕的解决方案:
- 不要硬把任何的 dri/drm 设备编译进你的Linux内核,如你需要其他非ATI提供的模块:
使用模块(use modules).
- 在启动你的XServer之前手动加载ATI内核模块.
这样会强制ATI模块得以加载和被正确地检测到.
14. GL Quake 基准(Benchmark)
你必须把用以测试"Quake"基准的模式在你的XF86Config-4文件的'modes'行设为全屏幕.
举个例子:
你运行你的XServer在1280x1024的分辨率而想在800x600分辨率下测试Quake基准.
那么你的'modes'行必须包含至少这些部分:
modes "1280x1024" "800x600"
15. --- 留空 ---
16. 样例源代码
你的图形适配器的驱动带来一些以源代码形式提供的样例.这些源码对于单纯地使用驱动
是不需要的.源码和相关的文档是给高级开发者们用的,它们可以在这个文件找到:
/usr/src/fglrx_sample_source.tgz
在你安装了图形驱动以后.各个二进制文件可在各自的X11目录找到.
归档文件内容:
有fgl_glxgears样例程序用来演示象素缓存(pbuffer)扩展的使用和帮你检验它的存在(如
果在你的配置里打开了的话).PBuffer支持只有在你有一块ATI Fire GL图形卡装到你的电
脑里的时候才可用.Pbuffer支持不存在于 ATI 镭 和其他卡.
提供的源码包和信息的特别申明:
请注意这些源码没有正规的支持.不过我们认为问题和错误的反馈是受欢迎的(一种体现).
源代码只是提供于教育目的.因为正规法律的原因,我们不能担保完全没有错误,第三方的
任何形式的特殊目的和保证(尤其是用在高安全和高风险的环境下).如果你打算用这些代
码,那么你得担保自己对于你的目的相互间是否合适.
17. DVI连线的两种口味
当连接上一个具有数字传输能力的显示设备比如在你的FireGL E1, X1 或 Z1上连一个数
字平板,那么你应该趋向于使用一条DVI-D (=digital)连线甚于一条DVI-I(=integrated)
连线.下面的描述是任何区分连线的.
DVI-D连接口有一半有插针格子较大的插头,另一半是块小金属片和没有环绕的插针.
DVI-I连接口在一个单元里集成有数字和模拟能力所以有多一些的插针.在一边的插头上有
大家都知道的密密麻麻的插针格另一边的是块宽大的金属片而且有四个环绕的插针.
每个插针都跟于片的上下邻近表面边缘很接近.
7. 服务,支持和软件升级
----------------------------------------
视频驱动更新可以从以下网址得到:
http://www.ati.com