LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2355|回复: 1

轻松校对NVIDIA说明文件,编号009!!![10月07日更新]

[复制链接]
发表于 2002-10-7 11:53:43 | 显示全部楼层 |阅读模式
翻译原文:
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.
发表于 2002-10-12 22:38:46 | 显示全部楼层
我对009的意见:

标题中的“installed”译为“已安装的”

第一段:in these
cases appropriate symlinks are created during installation,译为“在这些情况下,安

装程序将创建恰当的符号连接

第二段:The nvidia_drv.o driver is binary compatible with XFree86 4.0.1
and greater. 译为:“nvidia_drv.o驱动程序可以与XFree86 4.0.1或更高版本进行二进制兼

容”

this library
provides the API entry points for all OpenGL and GLX function calls.
It is linked to at run-time by OpenGL applications. 我的看法是:“它为所有的OpenGL

、GLX函数调用提供了API接口点,OpenGL应用程序会在运行时对它进行链接” (不知道其他

兄弟还有没有更好的译法)

this library is implicitly used by libGL and by libglx为:“libGL及 libglx会在后台

运行它” You should not explicitly load
it in your XF86Config file -- that is taken care of by libglx. 这一句有误,正确的

应该是:“你不需要在XF86Config文件中明确添加加载此运行库的命令行,libglx会自动加载

它”

It is generally loaded into the kernel when the X server is started 为“通常它会在

X 服务器启动时自动加载到系统内核”

consists of two pieces为“由两部分组成”,binary-only core我认为是“单一二进制核心

”,Note that the linux kernel does not have a consistent binary interface like

XFree86我认为是“注意:Linux内核不同于XFree86有一个协调性(或“兼容”)的二进制接

口”

But NVIDIA has provided these headers as they contain the most up to date

versions of NVIDIA's OpenGL extensions译为“但是,NVIDIA已经为其OpenGL扩展提供了最

新的header文件”

第三段:The NVdriver kernel module is included in the NVIDIA_kernel package.

为“NVIDIA_kernel软件包已经包含了NVdriver 内核模块”

第五段:第一句:“如果应用程序使用了错误版本的库文件则会产生一些问题”
第二句:“例如系统中存在旧版本的libGL库文件或遗留有旧的符号链接”

后面一句中的think未译出来,可以翻译。check that the following files are in place

为“请检查以下的文件是否在恰当的位置”

倒数第三段中: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译为:“请确认产生冲突的库文件已被重命名为ldconfig不会识别的名称——

我们认为在一个库文件名中后加上"XXX"的前缀通常就可以达到这个目的。” rerun

'ldconfig', and check that the correct symlinks were made译为“重新运行ldconfig,

并检查正确地符号链接已被建立”

倒数第二段中的checks out为“合格”的意思,因此可译为“检查无误”

最后一段中then you will need to either remove the
libraries that are getting in the way, or adjust your ld search path译为“你需要删除有所妨碍的库文件或调整ld查找路径”(这一句还请大家谈谈看法)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表