|
翻译原文:
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=4642
已经校对过的
编号001-008:
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=5738
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=6466
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=6526
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=6842
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=6973
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=7451
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=8154
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=8214
有新意见的朋友还可以继续跟贴,谢谢!
今天开始校对编号009,希望大家热情参与:
******************************
009
附录 C :安装组件
__________________________________________________________________________
NVIDIA Accelerated Linux Driver Set由下列部件组成( 在括号的文件是在安装以后的部件的全名;
“ x.y.z ”表示当前的版本--在这些情况中适当的symlinks在安装期间被建立):
o 一个 XFree86 驱动( /usr/X11R6/lib/modules/drivers/nvidia_drv.o );XFree86
需要这个驱动你的 NVIDIA 硬件。
nvidia_drv.o 驱动程序是与 XFree86 4.0.1 兼容并且更大的二进制代码。
o 一个 XFree86 的 GLX 扩展模块( /usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
);这个模块为 XFree86 提供服务器方面的 glx 支持。
o 一个 OpenGL库 ( /usr/lib/libGL.so.x.y.z );这个库为所有的 OpenGL 和功能叫的 GLX 提供 API
入口点。
它被 OpenGL 应用程序连接到在运行时刻。
o 一个 OpenGL 核心库( /usr/lib/libGLcore.so.x.y.z );这个库文件被 libGL和libglx 使用。
它包含加速的核心 3D 功能。你应该在你的 XF86Config 文件装载它--它被 libglx 照应。
o 一个核心模块( /lib/modules/'uname - r'/video/NVdriver 或 /lib/modules/'uname -
r'/kernel/drivers/video/NVdriver ).这个核心模块为上述所有部件提供 NVIDIA 硬件的低级存取。
X 服务者什么时候被开始,通常被装载进核心,并且被 XFree86 驱动和 OpenGL 使用。
NVdriver 由 2 张组成:仅二进制组成的核心,和为你的核心版本编译的一个核心接口。
注意 linux 核没象 XFree86 一样有一个一致的二进制的接口,因此这个核心接口必须要与你正在使用的核心版本被匹配。
当然你也可以自己编译,或使用linux发行版中预编译的二进制代码。
o OpenGL 和 GLX header文件( /usr/share/doc/NVIDIA_GLX-1.0/include/GL/gl.h ,
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glx.h ).在大多数情形系统在 /usr/include/GL
为 OpenGL 开发提供了足够的header文件。但 NVIDIA提供 Nvidia 的 OpenGL 扩展的最最新的版本。
如果你希望使用这些header文件,建议你到/usr/include/GL/去复制它们.
NVIDIA_GLX包包括4个在上面列出组件( XFree86 驱动,GLX 模块,
libGL ,和 libGLcore )。
NVdriver 核模块在 NVIDIA_kernel也在其中。
文档和 OpenGL 和 GLX header文件也是 NVIDIA_GLX
的一部分包装并且安装在/usr/share/doc/NVIDIA_GLX-1.0.
如果应用程序应用了错误版本的库文件就会出错.
如果有旧的 libGL库文件或陈旧 symlinks 不在原处了也会出问题。
如果你的安装出了问题,请在下列文件在地方的检查(这些都是 NVIDIA Accelerated Linux Driver Set的文件,和他们的 symlinks ):
/usr/X11R6/lib/modules/drivers/nvidia_drv.o
/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
/usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.x.y.z
/usr/lib/libGL.so.x.y.z
/usr/lib/libGL.so.x -> libGL.so.x.y.z
/usr/lib/libGL.so -> libGL.so.x
/usr/lib/libGLcore.so.x.y.z
/usr/lib/libGLcore.so.x -> libGLcore.so.x.y.z
/lib/modules/`uname -r`/video/NVdriver, or
/lib/modules/`uname -r`/kernel/drivers/video/NVdriver
安装程序将也建立 /dev 文件:
crw-rw-rw- 1 root root 195, 0 Feb 15 17:21 nvidia0
crw-rw-rw- 1 root root 195, 1 Feb 15 17:21 nvidia1
crw-rw-rw- 1 root root 195, 2 Feb 15 17:21 nvidia2
crw-rw-rw- 1 root root 195, 3 Feb 15 17:21 nvidia3
crw-rw-rw- 1 root root 195, 255 Feb 15 17:21 nvidiactl
如果有另外的库文件的“
soname ” 与NVIDIA 库文件有冲突, ldconfig 会建立错误的 symlinks 。
推荐你手工地移动或重命名冲突库文件,(确定重命名 clashing到 ldconfig 不会发生冲突--我们发现把“ XXX ”附在
library 名字通常有问题),重起“ ldconfig ”,并且检查正确的 symlinks。
经常出现冲突的一些库文件是“ /usr/X11R6/lib/libGL.so *”和“ /usr/X11R6/lib/libGLcore.so
*”.如果检查,那么证实应用程序正在使用正确的库文件。
例如,要检查 /usr/X11R6/bin/gears 正在使用 NVIDIA 库文件:
$ ldd /usr/X11R6/bin/gears libglut.so.3 => /usr/lib/libglut.so.3 ( 0x40014000
) libGLU.so.1 => /usr/lib/libGLU.so.1 ( 0x40046000 ) libGL.so.1 =>
/usr/lib/libGL.so.1 ( 0x40062000 ) libc.so.6 => /lib/libc.so 。 .6 ( 0x4009f000 )
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 ( 0x4018d000 ) libICE.so.6 =>
/usr/X11R6/lib/libICE.so.6 ( 0x40196000 ) libXmu.so.6 =>
/usr/X11R6/lib/libXmu.so.6 ( 0x401ac000 ) libXext.so.6 =>/usr/
X11R6/lib/libXext.so.6 ( 0x401c0000 ) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (
0x401cd000 ) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 ( 0x401d6000 )
libGLcore.so.1 => /usr/lib/libGLcore.so.1 ( 0x402ab000 ) l ibm.so.6 =>
/lib/libm.so.6 ( 0x4048d000 ) libdl.so.2 => /lib/libdl.so.2 ( 0x404a9000 )
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 ( 0x40000000 ) libXt.so.6 =>
/usr/X11R6/lib/libXt.so.6 ( 0x404ac000 )
注意libGL 和 libGLcore使用的文件,
--如果他们是除 NVIDIA 库文件以外的一些东西,移开正在妨碍的库文件然后放上你将需要到任何一个,或调整你的ld搜索路径。
如果这些东西你不太懂,你可以看“ ldconfig ”和“ ldd ”帮助文档。
-----------------------
英文原文:
__________________________________________________________________________
(app-c) APPENDIX C: INSTALLED COMPONENTS
__________________________________________________________________________
The NVIDIA Accelerated Linux Driver Set consists of the following
components (the file in parenthesis is the full name of the component
after installation; "x.y.z" denotes the current version -- in these
cases appropriate symlinks are created during installation):
o An XFree86 driver (/usr/X11R6/lib/modules/drivers/nvidia_drv.o);
this driver is needed by XFree86 to use your NVIDIA hardware.
The nvidia_drv.o driver is binary compatible with XFree86 4.0.1
and greater.
o A GLX extension module for XFree86
(/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z); this module is
used by XFree86 to provide server-side glx support.
o An OpenGL library (/usr/lib/libGL.so.x.y.z); this library
provides the API entry points for all OpenGL and GLX function calls.
It is linked to at run-time by OpenGL applications.
o An OpenGL core library (/usr/lib/libGLcore.so.x.y.z); this
library is implicitly used by libGL and by libglx. It contains the
core accelerated 3D functionality. You should not explicitly load
it in your XF86Config file -- that is taken care of by libglx.
o A kernel module (/lib/modules/`uname -r`/video/NVdriver
or /lib/modules/`uname -r`/kernel/drivers/video/NVdriver). This
kernel module provides low-level access to your NVIDIA hardware
for all of the above components. It is generally loaded into the
kernel when the X server is started, and is used by the XFree86
driver and OpenGL. NVdriver consists of two pieces: the binary-only
core, and a kernel interface that must be compiled specifically
for your kernel version. Note that the linux kernel does not have
a consistent binary interface like XFree86, so it is important that
this kernel interface be matched with the version of the kernel that
you are using. This can either be accomplished by compiling yourself,
or using precompiled binaries provided for the kernels shipped with
some of the more common linux distributions.
o OpenGL and GLX header files
(/usr/share/doc/NVIDIA_GLX-1.0/include/GL/gl.h,
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/glx.h). In most
circumstances the system provided headers in /usr/include/GL should
suffice for OpenGL development. But NVIDIA has provided these
headers as they contain the most up to date versions of NVIDIA's
OpenGL extensions. If you wish to make use of these headers it is
recommended that you copy them to /usr/include/GL/.
The first four components listed above (XFree86 driver, GLX module, libGL,
and libGLcore) are included in the NVIDIA_GLX package. The NVdriver
kernel module is included in the NVIDIA_kernel package.
Documentation and the OpenGL and GLX header files are also part of the
NVIDIA_GLX package and get installed in /usr/share/doc/NVIDIA_GLX-1.0.
Problems will arise if applications use the wrong version of a library.
This can be the case if there are either old libGL libraries or stale
symlinks left lying around. If you think there may be something awry
in your installation, check that the following files are in place
(these are all the files of the NVIDIA Accelerated Linux Driver Set,
plus their symlinks):
/usr/X11R6/lib/modules/drivers/nvidia_drv.o
/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
/usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.x.y.z
/usr/lib/libGL.so.x.y.z
/usr/lib/libGL.so.x -> libGL.so.x.y.z
/usr/lib/libGL.so -> libGL.so.x
/usr/lib/libGLcore.so.x.y.z
/usr/lib/libGLcore.so.x -> libGLcore.so.x.y.z
/lib/modules/`uname -r`/video/NVdriver, or
/lib/modules/`uname -r`/kernel/drivers/video/NVdriver
Installation of the NVIDIA_kernel package will also create the /dev files:
crw-rw-rw- 1 root root 195, 0 Feb 15 17:21 nvidia0
crw-rw-rw- 1 root root 195, 1 Feb 15 17:21 nvidia1
crw-rw-rw- 1 root root 195, 2 Feb 15 17:21 nvidia2
crw-rw-rw- 1 root root 195, 3 Feb 15 17:21 nvidia3
crw-rw-rw- 1 root root 195, 255 Feb 15 17:21 nvidiactl
If there are other libraries whose "soname" conflicts with that of
the NVIDIA libraries, ldconfig may create the wrong symlinks. It is
recommended that you manually remove or rename conflicting libraries (be
sure to rename clashing libraries to something that ldconfig won't look at
-- we've found that prepending "XXX" to a library name generally does the
trick), rerun 'ldconfig', and check that the correct symlinks were made.
Some libraries that often create conflicts are "/usr/X11R6/lib/libGL.so*"
and "/usr/X11R6/lib/libGLcore.so*".
If the libraries checks out, then verify that the application is using
the correct libraries. For example, to check that the application
/usr/X11R6/bin/gears is using the NVIDIA libraries, you would do:
$ ldd /usr/X11R6/bin/gears
libglut.so.3 => /usr/lib/libglut.so.3 (0x40014000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40046000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40062000)
libc.so.6 => /lib/libc.so.6 (0x4009f000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4018d000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40196000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x401ac000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401c0000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401cd000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401d6000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x402ab000)
libm.so.6 => /lib/libm.so.6 (0x4048d000)
libdl.so.2 => /lib/libdl.so.2 (0x404a9000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404ac000)
Note the files being used for libGL and libGLcore -- if they are something
other than the NVIDIA libraries, then you will need to either remove the
libraries that are getting in the way, or adjust your ld search path.
If any of this seems foreign to you, then you may want to read the man
pages for "ldconfig" and "ldd" for pointers. |
|