# nvidia-driver crashes computer on X start



## lillis (Mar 27, 2009)

Hi. I seem to have a problem. X.org will not start whenever I load the drivers installed from the latest nvidia-drivers port. The error also happens with the older versions of said drivers. The error _doesn't_ occur with the normal "nv" drivers.

What happens is this:

1) $ startx
2) The normal startup stuff flickers by on screen. I'm not sure exactly what it says as the screen goes black to load up X in less than a second (it always does this).
3) It then switches display mode or something like that. It goes from proper "this screen is currently not showing anything at all"-black to "this screen is on and is rendering black pixels"-black. It might sound strange but I can't describe it any better. The black gets a different hue which isn't displayed when I start X with the default nv drivers.
4) Everything just locks up. The new black P) stays. I can't switch to another terminal with CTRL+ALT+F#, I can-t CTRL+ALT+BACKSPACE nor CTRL+ALT+DELETE. I was playing music with the CLI player "herrie" once and it repeated the same millisecond of sound over and over and over. A proper lock-up.
5) I hit the reboot button.

Now the bad thing is that I can't find any logs of what happens. I removed Xorg.0.log and Xorg.0.log.old before running startx once and no log is produced as far as I can see. "messages" show nothing in particular, same with the "all.log" that I set up - unless I'm missing something very obvious, but I don't really think so.

I have tried reinstalling xorg-server and nvidia-driver many times. I've also had the same problem on a completely different FreeBSD install on the same computer, before a broken HDD forced me to reinstall completely. It was the same version.

I've made sure that the driver is actually loaded with kldstat, and have not used "kldload nvidia" as it's said that it's best to put an entry in /boot/loader.conf and restart instead. This is what I have done.

/dev/nvidia0 and /dev/nvidiactl show up after the drivers are installed and the computer rebooted.

My card is an nVidia GeForce 8800 GTS 512 MB, and is supported by the drivers.

uname-a output:

```
FreeBSD sino.######### 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan  1 14:37:25 UTC 2009 [email]root@logan.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  i386
```

xorg.conf:

```
[SIZE="1"]Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "extmod"
	Load  "record"
	Load  "dbe"
	Load  "glx"
	Load  "xtrap"
	Load  "dri"
	Load  "freetype"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "GeForce 8800 GTS 512"
	BusID       "PCI:1:0:0"
	Option	    "RenderAccel" "True"
	Option	    "NoRenderExtensions" "False"
	Option	    "NoFlip" "False"
	Option	    "UseEdid" "True"
	Option	    "NvAGP" "1"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection[/SIZE]
```
This xorg.conf was generated with X -configure after having installed nvidia-drivers. I have also manually edited xorg.conf in a minimal way, but it doesn't change anything at all it would seem.

My guess is that there's something conflicting with the nvidia drivers in my system that's on by default. Unfortunately I have no idea what this could be. My first goal is being able to find/create logs of what actually happen, so if you have any idea on how to do this, feel free to share.

If I have failed to include any relevant info, please let me know and I'll see what I can do.

Thanks for reading (and hopefully helping!).

Related threads:
http://forums.freebsd.org/showthread.php?t=2666
http://forums.pcbsd.org/viewtopic.php?f=25&t=13185
http://forums.pcbsd.org/viewtopic.php?f=25&t=10019&p=64357


----------



## DutchDaemon (Mar 27, 2009)

Did you check http://forums.freebsd.org/showthread.php?p=18046 ?


----------



## lillis (Mar 27, 2009)

Yes, I have tried to follow those exact instructions too, didn't help. I've also followed the ones from the FreeBSD Handbook. Same thing.


----------



## plamaiziere (Mar 27, 2009)

lillis said:
			
		

> Hi. I seem to have a problem. X.org will not start whenever I load the drivers installed from the latest nvidia-drivers port. The error also happens with the older versions of said drivers. The error
> _doesn't_ occur with the normal "nv" drivers.



Did you try to use the nvidia agp instead the freeBSD one? You will need to build a custom kernel (just remove the agp device in the kernel's configuration file) and to rebuild the nvidia port with the nvidia agp.

Try also without 3D acceleration.
Good luck!


----------



## DutchDaemon (Mar 27, 2009)

You don't need to rebuild the kernel to run without FreeBSD's AGP: http://forums.freebsd.org/showpost.php?p=17952&postcount=8

Anyway, OP already had 'Option "NvAGP" "1"' in xorg.conf, so NVIDIA's AGP is probably already active.


----------



## lillis (Mar 27, 2009)

Oh my, what a mistake on my part. That xorg.conf I posted was the original plus the added changes from http://forums.freebsd.org/showthread.php?p=18046. My bad. I will look into NvAGP and report back later. Thanks for the tip.


----------



## SirDice (Mar 28, 2009)

If it continues to crash you may be able to get some help from NVidia themselves. You can post a message on their forum:

http://www.nvnews.net/vbulletin/forumdisplay.php?f=47


----------



## lillis (Mar 28, 2009)

Now I've posted there too, thanks for the tip SirDice.


----------



## lillis (Mar 28, 2009)

For some strange reason I can't post the long reply I've made, I get "Method Not Implemented, POST to /newreply.php not supported". So I guess I'll just sum it up.

The NvAGP thing didn't help:

- Recompiled the nvidia-driver without the FreeBSD agp.
- hint.agp.0.disabled = "1" in /boot/device.hints
- Option "NvAGP" "1" in /etc/X11/xorg.conf

Still no luck.

X -configure outputs a completely error-free /var/log/Xorg.0.log, where it lists this among other things:

PCI:*(0@1:0:0) nVidia Corporation GeForce 8800 GTS 512 rev 162, Mem @ 0xfd000000/0, 0xd0000000/0, 0xfa000000/0, I/O @ 0x0000bc00/0, BIOS @ 0x????????/131072
List of video drivers:
	nvidia
(II) LoadModule: "nvidia"

(II) Loading /usr/local/lib/xorg/modules/drivers//nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.0
	Module class: X.Org Video Driver
(II) System resource ranges:
	[0] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX*E(B)
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX
	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX
	[5] -1	0	0x00000000 - 0x000000ff (0x100) IX
(II) Primary Device is: PCI 01@00:00:0
(II) NVIDIA dlloader X Driver  180.29  Tue Feb  3 10:12:46 PST 2009
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs**


And this is the relevant (?) output from dmesg.boot:

nvidia0: <GeForce 8800 GTS 512> on vgapci0
vgapci0: child nvidia0 requested pci_enable_busmaster
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia0: [GIANT-LOCKED]
nvidia0: [ITHREAD]

And the relevant section in the xorg.conf I'm currently running with:

Section "Device"
	Identifier  "Card0"
	Driver      "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "GeForce 8800 GTS 512"
	BusID       "PCI:1:0:0"
        Option "NvAGP" "1"
EndSection*


----------



## lillis (Mar 28, 2009)

I got the tip to add machdep.disable_mtrrs=1 to my /boot/loader.conf by a guy on nvnews.net. Apparently there's an issue with the nvidia driver if you're running with more than 2 gigs of ram. This solved the problem, and I'm now a happy camper. Any mod can feel free to add [SOLVED] to the topic, I can't seem to edit my post.


----------

