I had the same problem with kernel 2.6.5 and XFree86-4.3.0-55 (fedora core1).
Note that the lockup of X only started after upgrading from RedHat 9 with
custom compiled KDE to fedora core 1 + KDE rpms of that distribution.
Using the same kernel and nvidia driver before, I had no lock up (but still
the syslog errors mentioned in this thread).
You can find information about this instability on
http://www.minion.de/nvidia.html
stating:
Quote:
Linux 2.6 AGPGART seems to be broken on some chipsets. If you find that your system hangs upon starting X, potentially with ASCII garbage all over the screen, try the built-in NVIDIA AGP GART driver (Option "NvAgp" "1", AGPGART not loaded) instead.
|
And more information in the README file that comes with the nvidia drivers,
saying:
Q: My system runs, but seems unstable. What is wrong?
A: Your stability problems may be AGP-related. See Appendix F for
details.
Appendix D:
The following driver options are supported by the NVIDIA XFree86 driver:
Option "NvAGP" "integer"
Configure AGP support. Integer argument can be one of:
0 : disable agp
1 : use NVIDIA's internal AGP support, if possible
2 : use AGPGART, if possible
3 : use any agp support (try AGPGART, then NVIDIA's AGP)
Please note that NVIDIA's internal AGP support cannot
work if AGPGART is either statically compiled into your
kernel or is built as a module, but loaded into your
kernel (some distributions load AGPGART into the kernel
at boot up). Default: 3 (the default was 1 until after
1.0-1251).
And appendix F:
There are several choices for configuring the NVIDIA kernel module's
use of AGP: you can choose to either use NVIDIA's AGP module (NVAGP),
or the AGP module that comes with the linux kernel (AGPGART). This is
controlled through the "NvAGP" option in your XF86Config file:
Option "NvAgp" "0" ... disables AGP support
Option "NvAgp" "1" ... use NVAGP, if possible
Option "NvAgp" "2" ... use AGPGART, if possible
Option "NvAGP" "3" ... try AGPGART; if that fails, try NVAGP
The default is 3 (the default was 1 until after 1.0-1251).
You should use the AGP module that works best with your AGP chip set.
If you are experiencing problems with stability, you may want to start
by disabling AGP and observing if that solves the problems. Then you
can experiment with either of the other AGP modules.
You can query the current AGP status at any time via the /proc filesystem
interface (see APPENDIX O: PROC INTERFACE).
To use the Linux AGPGART module, it will need to be compiled with
your kernel, either statically linked in, or built as a module.
NVIDIA AGP support cannot be used if AGPGART is loaded in the kernel.
It is recommended that you compile AGPGART as a module and make sure that
it is not loaded when trying to use NVIDIA AGP.
Please also note that changing AGP drivers generally requires a reboot
before the changes actually take effect.
The following AGP chipsets are supported by NVIDIA's AGP; for all other
chipsets it is recommended that you use the AGPGART module.
o Intel 440LX
o Intel 440BX
o Intel 440GX
o Intel 815 ("Solano")
o Intel 820 ("Camino")
o Intel 830
o Intel 840 ("Carmel")
o Intel 845 ("Brookdale")
o Intel 845G
o Intel 850 ("Tehama")
o Intel 860 ("Colusa")
o AMD 751 ("Irongate")
o AMD 761 ("IGD4")
o AMD 762 ("IGD4 MP")
o VIA 8371
o VIA 82C694X
o VIA KT133
o VIA KT266
o RCC 6585HE
o Micron SAMDDR ("Samurai")
o Micron SCIDDR ("Scimitar")
o nForce AGP
o nForce 2 AGP
o ALi 1621
o ALi 1631
o ALi 1647
o ALi 1651
o ALi 1671
o SiS 630
o SiS 633
o SiS 635
o SiS 645
o SiS 730
o SiS 733
o SiS 735
o SiS 745
If you are experiencing AGP stability problems, you should be aware of
the following:
o Support for the processor's Page Size Extension on Athlon Processors
Some linux kernels have a conflicting cache attribute bug that is
exposed by advanced speculative caching in newer AMD Athlon family
processors (AMD Athlon XP, AMD Athlong 4, AMD Athlon MP, and Models 6
and above AMD Duron). This kernel bug usually shows up under heavy use
of accelerated 3D graphics with an AGP graphics card.
Linux distributions based on kernel 2.4.19 and later *should*
incorporate the bug fix. But, older kernels require help from the user
in ensuring that a small portion of advanced speculative caching is
disabled (normally done through a kernel patch) and a boot option is
specified in order to apply the whole fix.
NVIDIA's driver automatically disables the small portion of advanced
speculative caching for the affected AMD processors without the need
to patch the kernel; it can be used even on kernels which do already
incorporate the kernel bug fix. Additionally, for older kernels the
user performs the boot option portion of the fix by explicitly disabling
4MB pages. This can be done from the boot command line by specifying:
mem=nopentium
Or by adding the following line to etc/lilo.conf:
append = "mem=nopentium"
o AGP drive strength BIOS setting (Via based mainboards)
Many Via based mainboards allow adjusting the AGP drive strength in
the system BIOS. The setting of this option largely affects system
stability, the range between 0xEA and 0xEE seems to work best for
NVIDIA hardware. Setting either nibble to 0xF generally restults in
severe stability problems.
If you decide to experiment with this, you need to be aware of
the fact that you are doing so at your own risk and that you may
render your system unbootable with improper settings until you
reset the setting to a working value (w/ a PCI graphics card or
by resetting the BIOS to its default values).
o System BIOS version
Make sure to have the latest system BIOS provided by the board
manufacturer.
o AGP Rate
You may want to decrease the AGP rate setting if you are seeing
lockups with the value you are currently using. You can do so by
extracting the .run file:
sh NVIDIA-Linux-x86-1.0-5336-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-5336-pkg1/usr/src/nv/
Then edit os-registry.c, and make the following changes:
- static int NVreg_ReqAGPRate = 7;
+ static int NVreg_ReqAGPRate = 4; /* force AGP Rate to 4x */
or
+ static int NVreg_ReqAGPRate = 2; /* force AGP Rate to 2x */
or
+ static int NVreg_ReqAGPRate = 1; /* force AGP Rate to 1x */
and then remove the two leading underscores:
- { "__ReqAGPRate", &NVreg_ReqAGPRate },
+ { "ReqAGPRate", &NVreg_ReqAGPRate },
Then recompile and load the new kernel module.
On Athlon motherboards with the VIA KX133 or 694X chip set, such as the
ASUS K7V motherboard, NVIDIA drivers default to AGP 2x mode to work around
insufficient drive strength on one of the signals. You can force AGP 4x
by setting NVreg_EnableVia4x to 1. Note that this may cause the system
to become unstable.
On ALi1541 and ALi1647 chipsets, NVIDIA drivers disable AGP to work
around timing issues and signal integrity issues. You can force AGP
to be enabled on these chipsets by setting NVreg_EnableALiAGP to 1.
Note that this may cause the system to become unstable.
=========================================
Therefore, the first thing you should try is to remove the AGPGART from
your kernel configuration (CONFIG_AGP not defined, or as module and not
loaded) (this may require recompilation of your kernel), and then setting
Option "NvAGP" "1"
in your XF86Config instead of "2" or "3".
Regards,
Carlo Wood