|
楼主 |
发表于 2002-9-16 19:01:28
|
显示全部楼层
今天开始校对编号005,希望大家热情参与:
******************************
005
常见问题释疑
Q :当诊断显示问题时,我在哪儿应该开始?
A:最有用的工具之是在 /var/log 的 XFree86 记录文件(文件被命名:“/var/log/XFree86.<#> .log ”,“<#>”在此是服务器数字--通常是 0 )。
开始行“( II )”是信息,“( WW )”是警告,“( EE )是错误行。
你应该保证正确设置文件(即设置你正在编辑的文件)被使用;
寻找开始的行:
“(==)使用设置文件:”。
另外检查 NVIDIA 驱动程序正在被使用,而非“ nv ”或“ vesa ”驱动程序;
请找到:“( II ) LoadModule :” nvidia “”,并且从driver的行应该是:
“( II ) NVIDIA ( 0 )”。
Q :我怎么能增加在 XFree86 记录文件输出的数据数量?
A:在缺省情况下, NVIDIA X 驱动程序相对输出很少消息到 stderr(标准错误) 和 XFree86 记录文件。
如果你需要诊断问题,要让 XFree86 启用更verbose(详细)的输出,可以选择“-verbose”并且“- logverbose ”它是被用来设置为stderr和log发送消息详细程度。
当详细程度在5以上时, NVIDIA X driver将输出更多的消息(XFree86 缺省值 stderr是1,log是3 )。
因此,启用verbose从 NVIDIA X 驱动程序发送详细消息到记录文件和stderr ,你只要由在 :“ startx ---verbose 5 - logverbose 5'后启动X。
Q :我的 X 服务器没能开始,并且我的 XFree86 记录文件包含错误:
“( EE ) NVIDIA ( 0 ):没能了初始化 NVdriver 核心模块!”
A:如果 NVdriver 核心模块不适当工作,没有东西能工作。
如果你在 X 记录文件看见任何东西,象“( EE ) NVIDIA ( 0 ):没能初始化 NVdriver 核心模块!”
那么很可能 NVdriver 核心模块有问题。
第一,如果你从 rpm 安装,你应该验证rpm包。
你也应该检查模块.被装载在(“/sbin/lsmod');如果没被装载请尝试用” insmod “或” modprobe “装载.(请务必在安装一个新核模块前退出 X 服务器)。
如果你收到未解决标志的错误,然后核模块很可能被装载了与你正在运行的不同的核心模块。
你能控制核心文件的使用,从NVIDIA_kernel tar文件装载NVdriver :
“make install SYSINCLUDE=/path/to/kernel/headers'.
请注意为核心文件的位置通常处于变化的状态,它是核模心块的路径。
如果核心模块没能适当的装载, modprobe/insmod 可能正在试着装载一个更旧的核模块(假定你升级了)。
进有新核心模块的目录的 cd'ing 并且“ insmod ./NVdriver ”可以有所裨益。
最后, NVdriver 可以打印问题的错误消息--要到看这些消息请检查 /var/log/messages ,或者syslog被指向的核心信息.
Q : X已启动,但是 OpenGL 应用很快地终止。
A:如果 X 开始,但是 OpenGL 引起问题,可能其它的库程序有问题,或者有陈旧 symlinks 。
细节请看见附录 C 。
有时,它拿的所有是使再开动“ ldconfig ”。
你应该也检查正确的扩展名;
“ xdpyinfo ”应该显示“ GLX ”,“ NV-GLX ”“ NVIDIA-GLX ”的扩展名。
如果这些 3 种扩展不在,,很可能是装载的 glx 模块或它的问题不能装载 GLcore 。
检查你的 XF86Config 文件并且保证你正在装载 glx (见“编辑你的 XF86Config 文件,在上面”)。
如果你的 XF86Config 文件是正确的,那么为从属到 GLX 的警告/错误检查 XFree86 记录文件。
也检查必要的 symlinks 的所在地方(参考附录 C )。
Q :当由 srpm 开始安装/升级时,命令:
“ rpm --rebuild NVIDIA_kernel-1.0-2960.src.rpm'仅仅打印出 rpm 命令行选择的一张表。
A:你很可能没安装 rpm 开发组件。
大多数情况你能安装你的 rpm-devel 包裹解决这个问题。
另外地,你能由tar 文件的安装/升级不需要 rpm 。
Q :当由 srpm 的安装/升级时,命令:
“ rpm --rebuilt NVIDIA_kernel-1.0-2960.src.rpm'报告错误:
NVIDIA_kernel-.src.rpm:no such file or directory
A:你需要为你的发行版安装rpm安装包。
另外地,你能由作为 tar 文件的 tar 文件的安装/升级不要求 rpm 。
Q :安装 NVIDIA_kernel 模块,返回一条错误信息:
#error Modules should never use kernel-headers system headers
#error but headers from an appropriate kernel-source
A:你需要先为 Linux 核心安装驱动。
Q: OpenGL 显示下列错误消息并退出:
Error: Could not open /dev/nvidiactl because the permissions
are too restrictive. Please see the FREQUENTLY ASKED QUESTIONS
section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps
to correct.
A:为 PAM 系统的安全模块可能正在改动 允许的NVIDIA 设备文件。
在大多数情况中这个安全系统正常工作,但它也有糊涂的时候。
为了修正这个问题,你停用这个安全特征,
不同的 Linux 发行版有不同的文件控制;
如果你的系统有文件 /etc/security/console.perms 你可以编辑文件并且删除以“<dri>”开始的行.
如果相反你的系统有文件 /etc/logindevperms 你编辑文件并且删除列在/dev/nvidiact
以上步骤将阻止 PAM 安全系统在 NVIDIA 设备文件上修改.
然后,你将需要在设备文件上重新设定回到他们的原来的许可和所有者。
用下列命令:
chmod 0666 /dev/nvidia * chown root/dev/nvidia *
Q : OpenGL 崩溃并且打印出下列警告:
WARNING :你的系统有多臭虫的动态的装载器。
这可以在某个应用引起冲突。
如果你系统崩溃,你能试着给环境变量的 __GL_SINGLE_THREADED 。
请在文件/usr/share/doc/NVIDIA_GLX-1.0/README为更多的信息请教常见问题.
A:在你的系统上的动态装载器有将引起与 pthreads 的链接,并且dlopen ()多重 libGL 崩溃。
这个臭虫(BUG)在动态的装载器的更旧的版本存在。
但是 RedHat Linux 6.2 和曼德拉草 Linux 7.1不存在此臭虫。
版本 2.2 并且以后动态的装载器会正常工作。
如果崩溃的是单线程可改变环境变量.,variable__GL_SINGLE_THREADED 将阻止崩溃。
在bash shell中你敲入export__GL_SINGLE_THREADED 并且在 csh 和derivatives使用setenv __GL_SINGLE_THREADED.
NVIDIA 驱动的先前的版本试图围绕这一问题工作,然而解决办法与另外的应用程序引起了问题所以在版本 1.0-1541 以后被被取消。
Q :当我运用 Quake3 时,当改变影象模式时,崩溃!是什么原因?
A:你可能正在经历上面已经描叙过的问题。
请检查“警告”输出信息中的提示。
如上所述在跑前 Quake3设置Setting __GL_SINGLE_THREADED将解决这个问题。
Q :当我开始 X 时失败,我的 XFree86 记录文件包含:
II) LoadModule: "nvidia"
(II) Loading /usr/X11R6/lib/modules/drivers/nvidia_drv.o
No symbols found in this module
(EE) Failed to load /usr/X11R6/lib/modules/drivers/nvidia_drv.o
(II) UnloadModule: "nvidia"
(EE) Failed to load module "nvidia" (loader failed, 256)
...
(EE) No drivers available.
A: nvidia_drv.o X driver需要符号的丢失了;
rpm 的一些版本(错误地)当安装时,替代对象文件。
你应该可能升级 rpm 的版本。
或,你能从 tar 文件安装 NVIDIA_GLX 包。
Q :我的系统能跑,但是似乎不稳定。
是哪里出问题了?
A:你的稳定性问题可能同AGP-related有关。
为细节看见附录 F 。
Q :当 X 开始时,核模块不能到动态地装载了;
我必须首先“ modprobe NVdriver ”。
问题出在哪里?
A:保证“alias char-major-195 NVdriver ”在你的模块配置文件出现的行,通常是“ /etc/conf.modules ”,“ /etc/modules.conf ”
或“ /etc/modutils/alias ”之一
;有关细节请看文档。
Q :我不能建立NVdriver核心模块,或我能建立NVdriver 核模块,但是 modprobe/insmod 没能装载模块进我的核心。
问题出在哪里?
A:这些问题通常被引起由造使用错误的核心文件(如你正在运行的一个不同版本的核心文件)。
习惯过去常是核心文件应该在“/usr/include/linux/”被存储,但是被赞成“ /lib/modules/'uname - r'/build/include ”的反对.
NVIDIA_kernel Makefile 应该能被指定路径;
然而,如果你遇见一个问题,你能强迫安装headrt文件:“make SYSINCLUDE=/path/to/kernel/headers'.
显然,不管你是怎么作的,你都需要头系统上安装了的适当的核心文件。
请查看与你的文档;
一些发行版缺省不安装某些核心文件,或他们安装的与你正在工作的核心不一致。
Q : OpenGL 应用程序为什么跑得这样慢?
A:程序可能仍然在你的系统上正在使用一个不同的库,而非 NVIDIA 供应的OpenGL 库。
细节请看附录 C 。
Q :用 Quake2有问题 。
A: Quake2 要求一些次要东西的安装。
首先,在 Quake2 目录,建立指向 libMesaGL.so 的 libGL.sosymlink 。
将symlink 移开或重命名。
然后,到在 OpenGL 模式的跑 Quake2 ,你输入:“ quake2 +set vid_ref glx +set gl_driver libGL.so ”。
Quake2似乎不支持任何种全屏模式,但是你能运行在的 X 服务器的Quake2无论什么分辨率下仿效全屏模式。
Q :运行 Heretic II有问题 。
A: Heretic II缺省时 也安装一个symlink 在应用目录叫了 libGL.so 。
你能删除或重命名这 symlink ,系统将发现缺省 libGL.so (我们的driver在 /usr/lib ).从在 Heretic II 以内你能然后设定你的在影象菜单使模式变为到 OpenGL 。
也有在到从 lokigames 的 Heretic II 可得到的一个补丁:
http://www.lokigames.com/products/heretic2/updates.php3
Q :我在哪儿能得到 gl.h 或 glx.h 因而我能编 OpenGL 程序?
A:大多数系统与预装的这些。
然而, NVIDIA 提供了我们的自己的 gl.h 和 glx.h 文件以防你的系统阻止你使用我们开发的新的 NVIDIA OpenGL 扩展的 OpenGL 应用软件。
这些文件在 /usr/share/doc/NVIDIA_GLX-1.0/include/GL 被安装以避免与安装的系统冲突版本。
为了使用,可将这些文件拷贝进/usr/include/GL.
Q :我能收到新版本的NVIDIA Accelerated LinuxDriver Set电子邮件通知吗?
A:是的。
在:http://www.nvidia.com/view.asp ? FO=driver_update 填写表格
Q :如果我把 rivafb 启用,切换vt时,我的系统就挂起。
A:同时使用 rivafb 和模块当前的 NVdriver 核心模块是造成挂起的原因。
总的来说,使用 2 个独立的软件驱动程序驱动硬件的是一个坏想法。
Q :编译NVdriver 核模块给出这个错误:
你好象要用与编译的核心不同的编译器编译 NVdriver 核模块。
这可以是完美地好的,但也有可能造成不法预料的系统崩溃。
如果你知道你正在做什么,并想撤销这个检查,你可以设置 IGNORE_CC_MISMATCH 做。
或者,给被用来编核的编译器的名字设定 CC 环境变量。
A:你应该与被用来编你的核的一样的编译器版本编 NVdriver 核模块。
一些 Linux 核心数据结构依赖于过去编译它 gcc 的版本;
例如,在include/linux/spinlock.h:……
*大多数 gcc 版本与空的 initializers 有一个不干净的臭虫。
*/ #if (__GNUC__> 2 ) typedef struct {} rwlock_t ;
#define RW_LOCK_UNLOCKED ( rwlock_t ){} #else typedef struct { int gcc_is_buggy ;
} rwlock_t ;
#define RW_LOCK_UNLOCKED ( rwlock_t ){ 0 } #endif 如果核心是用gcc 2.x 编译,但安装NVdriver时, gcc 3.x 被使用(或反过来也如此),
rwlock_t 的大小将变化,并且像 ioremap等将失败。
检查编译你的核用什么 gcc 的版本cat /proc/version 当前在你的 $PATH检验gcc用:gcc - v
Q : X因错误失败“没能分配 LUT 设备场景 DMA ”
A:这是由不同的 gcc 版本编 NVdriver 造成的(看上面)。
Q :为什么不可以从<insert your favorite distro here>的版本N得到的 NVIDIA_kernel RPMs .我试着用版本 N-1 安装 RPM ,但是没有用。
我应该怎么办?
A:像它说在( sec-01 )选择适合你系统的 NVIDIA ,如果“一特定的 NVIDIA_kernel rpm 不为你的发行版自带的,那么请使用 NVIDIA_kernel srpm 或 tar 文件”。
Q :当我安装 NVIDIA_GLX 包裹时,它说:
---
上面的文件可能属于一冲突MSESA rpm 。
---
他们被重命名了到 xxx <originalFile> .RPMSAVE
---为避免与这里的文件冲突
---请看见常见问题节
---更多的细节问题请看 /usr/share/doc/NVIDIA_GLX-1.0/README 。
到底是怎么了?
A:如消息所说,冲突文件一旁被移动了保证你的应用发现最新被安装了的 OpenGL 库。
警报没有必要,消息纯粹只供参考。
如果你卸掉 NVIDIA_GLX 包裹,原来的文件将自动地恢复。
Q : Nvidia 的发展政策是向系列 Linux 核心靠拢?
A: NVIDIA 不正式确定支持开发系列核心。
然而,所有的核心模块源代码有 Linux 核心的接口在包裹,并且 NVIDIA 鼓励 Linux 社区的成员开发补丁到 t 的 NVIDIA_kernel 是可得到的支持开发系列核的这些源文件。
搜索将很可能产出若干社区的一 google 支持了补丁。
Q :我最近在我的Linux系统上更新了各种各样的库文件,但是 NVIDIA 图形驱动程序不再工作。
哪里出问题了?
A:冲突库文件可能被你的发行版升级安装了;
请看见附录 C :安装部件的诊断细节。
-----------------------
英文原文:
__________________________________________________________________________
(sec-04) FREQUENTLY ASKED QUESTIONS
__________________________________________________________________________
Q: Where should I start when diagnosing display problems?
A: One of the most useful tools for diagnosing problems is the XFree86
log file in /var/log (the file is named: "/var/log/XFree86.<#>.log",
where "<#>" is the server number -- usually 0). Lines that begin with
"(II)" are information, "(WW)" are warnings, and "(EE)" are errors.
You should make sure that the correct config file (ie the config file
you are editing) is being used; look for the line that begins with:
"(==) Using config file:". Also check that the NVIDIA driver is being
used, rather than the 'nv' or 'vesa' driver; you can look for: "(II)
LoadModule: "nvidia"", and lines from the driver should begin with:
"(II) NVIDIA(0)".
Q: How can I increase the amount of data printed in the XFree86 log file?
A: By default, the NVIDIA X driver prints relatively few messages to
stderr and the XFree86 log file. If you need to troubleshoot, then
it may be helpful to enable more verbose output by using the XFree86
command line options "-verbose" and "-logverbose" which can be used
to set the verbosity level for the stderr and log file messages,
respectively. The NVIDIA X driver will output more messages when the
verbosity level is at or above 5 (XFree86 defaults to verbosity level
1 for stderr and level 3 for the log file). So, to enable verbose
messaging from the NVIDIA X driver to both the log file and stderr,
you could start X by doing the following: 'startx -- -verbose 5
-logverbose 5'.
Q: My X server fails to start, and my XFree86 log file contains the error:
"(EE) NVIDIA(0): Failed to initialize the NVdriver kernel module!"
A: Nothing will work if the NVdriver kernel module doesn't function
properly. If you see anything in the X log file like "(EE) NVIDIA(0):
Failed to initialize the NVdriver kernel module!" then there is
most likely a problem with the NVdriver kernel module. First, you
should verify that if you installed from rpm that the rpm was built
specifically for the kernel you are using. You should also check
that the module is loaded ('/sbin/lsmod'); if it is not loaded try
loading it explicitly with 'insmod' or 'modprobe' (be sure to exit the
X server before installing a new kernel module). If you receive errors
about unresolved symbols, then the kernel module has most likely been
built using header files for a different kernel revision than what
you are running. You can explicitly control what kernel header files
are used by building NVdriver from the NVIDIA_kernel tar file with:
'make install SYSINCLUDE=/path/to/kernel/headers'.
Please note that the convention for the location of kernel
header files is in a state of transition, as is the location
of kernel modules. If the kernel module fails to load properly,
modprobe/insmod may be trying to load an older kernel module (assuming
you've upgraded). cd'ing into the directory with the new kernel
module and doing 'insmod ./NVdriver' may help.
Finally, the NVdriver may print error messages indicating a problem --
to view these messages please check /var/log/messages, or wherever
syslog is directed to place kernel messages.
Q: X starts for me, but OpenGL applications terminate immediately.
A: If X starts, but OpenGL causes problems, you most likely have a
problem with other libraries in the way, or there are stale symlinks.
See Appendix C for details. Sometimes, all it takes is to rerun
'ldconfig'.
You should also check that the correct extensions are present;
'xdpyinfo' should show the "GLX", "NV-GLX" and "NVIDIA-GLX" extensions
present. If these three extensions are not present, then there is
most likely a problem with the glx module getting loaded or it is
unable to implicitly load GLcore. Check your XF86Config file and make
sure that you are loading glx (see "Editing Your XF86Config File"
above). If your XF86Config file is correct, then check the XFree86
log file for warnings/errors pertaining to GLX. Also check that all
of the necessary symlinks are in place (refer to Appendix C).
Q: When installing/upgrading by srpm, the command:
`rpm --rebuild NVIDIA_kernel-1.0-2960.src.rpm`
only prints out a list of rpm command line options.
A: You most likely don't have the rpm development packages installed.
In most situations you can fix this problem by installing the rpm-devel
package for your distribution. Alternatively, you can install/upgrade
by tar file as the tar files don't require rpm.
Q: When installing/upgrading by srpm, the command:
`rpm --rebuild NVIDIA_kernel-1.0-2960.src.rpm`
reports the error:
NVIDIA_kernel-.src.rpm:no such file or directory
A: You need to install the rpm-build package for your distribution.
Alternatively, you can install/upgrade by tar file as the tar files
don't require rpm.
Q: Installing the NVIDIA_kernel module gives an error message like:
#error Modules should never use kernel-headers system headers
#error but headers from an appropriate kernel-source
A: You need to install the source for the Linux kernel. In most
situations you can fix this problem by installing the kernel-source
package for your distribution
Q: OpenGL applications exit with the following error message:
Error: Could not open /dev/nvidiactl because the permissions
are too restrictive. Please see the FREQUENTLY ASKED QUESTIONS
section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps
to correct.
A: It is likely that a security module for the PAM system may be
changing the permissions on the NVIDIA device files. In most cases
this security system works, but it can get confused. To correct this
problem it is recommended that you disable this security feature.
Different Linux distributions have different files to control this;
if your system has the file
/etc/security/console.perms
then you want to edit the file and remove the line that starts with
"<dri>". If instead your system has the file
/etc/logindevperms
then you want to edit the file and remove the line that lists
/dev/nvidiactl. The above steps will prevent the PAM security
system from modifying the permissions on the NVIDIA device files.
Next, you will need to reset the permissions on the device files
back to their original permissions and owner. You can do that with
the following commands:
chmod 0666 /dev/nvidia* chown root /dev/nvidia*
Q: OpenGL applications crash and print out the following warning:
WARNING: Your system is running with a buggy dynamic loader.
This may cause crashes in certain applications. If you
experience crashes you can try setting the environment
variable __GL_SINGLE_THREADED. For more information please
consult the FREQUENTLY ASKED QUESTIONS section in the file
/usr/share/doc/NVIDIA_GLX-1.0/README.
A: The dynamic loader on your system has a bug which will cause
applications linked with pthreads, and that dlopen() libGL multiple
times, to crash. This bug is present in older versions of the dynamic
loader. Distributions that shipped with this loader include but
are not limited to RedHat Linux 6.2 and Mandrake Linux 7.1. Version
2.2 and later of the dynamic loader are known to work properly. If
the crashing application is single threaded then setting the environment
variable __GL_SINGLE_THREADED to any value will prevent the crash.
In the bash shell you would enter
export __GL_SINGLE_THREADED
and in csh and derivatives use
setenv __GL_SINGLE_THREADED
Previous releases of the NVIDIA Accelerated Linux Driver Set attempted
to work around this problem, however the workaround caused problems with
other applications and was removed after version 1.0-1541.
Q: When I run Quake3, it crashes when changing video modes; what's wrong?
A: You are probably experiencing the problem described above. Please
check the text output for the "WARNING" message describe in the
previous hint. Setting __GL_SINGLE_THREADED as described above,
before running Quake3 will fix the problem.
Q: When I start X it fails and my XFree86 log file contains:
(II) LoadModule: "nvidia"
(II) Loading /usr/X11R6/lib/modules/drivers/nvidia_drv.o
No symbols found in this module
(EE) Failed to load /usr/X11R6/lib/modules/drivers/nvidia_drv.o
(II) UnloadModule: "nvidia"
(EE) Failed to load module "nvidia" (loader failed, 256)
...
(EE) No drivers available.
A: The nvidia_drv.o X driver has been stripped of needed symbols;
some versions of rpm (wrongly) strip object files while installing.
You should probably upgrade your version of rpm. Or, you can install
the NVIDIA_GLX package from tar file.
Q: My system runs, but seems unstable. What's wrong?
A: Your stability problems may be AGP-related. See Appendix F for
details.
Q: The kernel module doesn't get loaded dynamically when X starts;
I always have to do 'modprobe NVdriver' first. What's wrong?
A: Make sure the line "alias char-major-195 NVdriver" appears in
your module configuration file, generally one of "/etc/conf.modules",
"/etc/modules.conf" or "/etc/modutils/alias"; consult the documentation
that came with your distribution for details.
Q: I can't build the NVdriver kernel module, or I can build the NVdriver
kernel module, but modprobe/insmod fails to load the module into my
kernel. What's wrong?
A: These problems are generally caused by the build using the wrong kernel
header files (ie header files for a different kernel version than the
one you are running). The convention used to be that kernel header files
should be stored in "/usr/include/linux/", but that is being deprecated
in favor of "/lib/modules/`uname -r`/build/include". The NVIDIA_kernel
Makefile should be able to determine the location on your system; however,
if you encounter a problem you can force the build to use certain header
files by doing: 'make SYSINCLUDE=/path/to/kernel/headers'. Obviously,
for any of this to work, you need the appropriate kernel header files
installed on your system. Consult the documentation that came with your
distribution; some distributions don't install the kernel header files
by default, or they install headers that don't coincide properly with
the kernel you are running.
Q: Why do OpenGL applications run so slow?
A: The application is probably using a different library still on your
system, rather than the NVIDIA supplied OpenGL library. Please see
APPENDIX C for details.
Q: There are problems running Quake2.
A: Quake2 requires some minor setup to get it going. First, in the Quake2
directory, the install creates a symlink called libGL.so that points
at libMesaGL.so. This symlink should be removed or renamed. Then,
to run Quake2 in OpenGL mode, you would type: 'quake2 +set vid_ref glx
+set gl_driver libGL.so'. Quake2 does not seem to support any kind of
full-screen mode, but you can run your X server at whatever resolution
Quake2 runs at to emulate full-screen mode.
Q: There are problems running Heretic II.
A: Heretic II also installs, by default, a symlink called libGL.so in
the application directory. You can remove or rename this symlink, since
the system will then find the default libGL.so (which our
drivers install in /usr/lib). From within Heretic II you
can then set your render mode to OpenGL in the video menu.
There is also a patch available to Heretic II from lokigames at:
http://www.lokigames.com/products/heretic2/updates.php3
Q: Where can I get gl.h or glx.h so I can compile OpenGL programs?
A: Most systems come with these headers preinstalled. However, NVIDIA
has provided our own gl.h and glx.h file in case your system did not
come with them or in case you want to develop OpenGL apps that use
the new NVIDIA OpenGL extensions. These files have been installed in
/usr/share/doc/NVIDIA_GLX-1.0/include/GL to avoid conflicting with
the system installed versions. To use these headers copy them
into /usr/include/GL.
Q: Can I receive email notification of new NVIDIA Accelerated Linux
Driver Set releases?
A: Yes. Fill out the form at:
http://www.nvidia.com/view.asp?FO=driver_update
Q: My system hangs when vt-switching if I have rivafb enabled.
A: Using both rivafb and the NVdriver kernel module at the same time is
currently broken. In general, using two independent software drivers
to drive the same piece of hardware is a bad idea.
Q: Compiling the NVdriver kernel module gives this error:
You appear to be compiling the NVdriver kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.
If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.
In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.
A: You should compile the NVdriver kernel module with the same compiler
version that was used to compile your kernel. Some Linux kernel data
structures are dependent on the version of gcc used to compile it;
for example, in include/linux/spinlock.h:
...
* Most gcc versions have a nasty bug with empty initializers.
*/
#if (__GNUC__ > 2)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif
If the kernel is compiled with gcc 2.x, but gcc 3.x is used when the
open files in NVdriver are built (or vice versa), the size of rwlock_t
will vary, and things like ioremap will fail.
To check what version of gcc was used to compile your kernel, you
can examine the output of:
cat /proc/version
To check what version of gcc is currently in your $PATH, you can
examine the output of:
gcc -v
Q: X fails with error "Failed to allocate LUT context DMA"
A: This is one of the possible consequences of compiling NVdriver with
a different gcc version than used to compile the Linux kernel
(see above).
Q: There aren't NVIDIA_kernel RPMs available for release N from
<insert your favorite distro here>. I tried installing the RPM for
version N-1, but that didn't work. What should I do?
A: Like it says in (sec-01) CHOOSING THE NVIDIA PACKAGES APPROPRIATE
FOR YOUR SYSTEM, if "a specific NVIDIA_kernel rpm is not available for
your distribution, then use either the NVIDIA_kernel srpm or tar file."
Q: When I install the NVIDIA_GLX package it says:
--- The above file(s) possibly belong to a conflicting MESA rpm.
--- They have been renamed to xxx.<originalFile>.RPMSAVE to
--- avoid conflicting with the files contained within this
--- package.
--- Please see the FREQUENTLY ASKED QUESTIONS section of
--- /usr/share/doc/NVIDIA_GLX-1.0/README for more details.
What's wrong?
A: Like the message says conflicting files have been moved aside to
insure that your applications find the newly installed OpenGL
libraries. There is no need for alarm, the message is purely
informational. If you uninstall the NVIDIA_GLX package then the
original files will be restored automatically.
Q: What is NVIDIA's policy towards development series Linux kernels?
A: NVIDIA does not officially support development series kernels.
However, all the kernel module source code that interfaces with the
Linux kernel is available in the NVIDIA_kernel package, and NVIDIA
encourages members of the Linux community to develop patches to these
source files to support development series kernels. A google search
will most likely yield several community supported patches.
Q: I recently updated various libraries on my system using my Linux
distributor's update utility, and the NVIDIA graphics driver no
longer works. What's wrong?
A: Conflicting libraries may have been installed by your
distribution's update utility; please see APPENDIX C: INSTALLED
COMPONENTS for details on how to diagnose this. |
|