Let me explain my story:
Some months ago I bought a new graphics card (a geforce fx5600), after my previous one had given up on me.
I installed the 5328 version of the nvidia driver (which had just been released), since I had read somewhere that that was the only version that supported the FX line of graphics cards.
Then the problems began... Sometimes when X started, I was just greeted by a black screen and the system locked up. Some other times I was lucky enough to get to the login screen (I'm using gdm, so X starts when I boot my system).
Then if I tried to switch to the console (ctrl+alt+f1), the system would lock up. If the X resolution was changed (for example by a game requesting fullscreen), the system would lock up. So I just tried to live with it, playing games in windowed mode and rarely rebooting the system.
But I was still very annoyed by the fact that my new-bought graphics card wouldn't function as it should have done. So I reverted back to the 4496 version of the nvidia driver, and voila! No more lockups when switching to the console or changing resolution in X, but I still had the problem with X sometimes hanging the system when it started.
So I searched this forum, and found a tip about adding Option "IgnoreDisplayDevices" "DFP, TV" to the device section of my XF86Config. And the lockups was gone.
At that time I was running a 2.4 kernel, and I recently switched to the 2.6.5 kernel. Then OpenGL apps stopped functioning properly... When I started an opengl app (for example glxgears), the system would "freeze" for about 2 minutes (I could still move the mouse, but it was very laggy), and after that the opengl app would run as normal.
I also noticed that "Badness in pci_find_subsys at drivers/pci/search.c:167" was printed to my kernel log. So I removed agpgart from my kernel and switched to nvagp, and now the badness is gone and everything works like it should do.
Maybe I should give some information about my configuration:
Running on acpi, no apic, no agpgart, using nvagp, not using acpi for pci routing (pci=noacpi as argument to the kernel), Xfree 4.3, Side Band Adressing (SBA) disabled, Fast Writes enabled.
I hope this will be useful to someone!