1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

nvidia-driver crashes computer on X start

Discussion in 'X.Org' started by lillis, Mar 27, 2009.

  1. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
    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:
    Code:
    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:
    Code:
    [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
     
  2. DutchDaemon

    DutchDaemon Administrator Staff Member Administrator Moderator

    Messages:
    10,661
    Likes Received:
    23
  3. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
    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.
     
  4. plamaiziere

    plamaiziere New Member

    Messages:
    184
    Likes Received:
    0
    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!
     
  5. DutchDaemon

    DutchDaemon Administrator Staff Member Administrator Moderator

    Messages:
    10,661
    Likes Received:
    23
  6. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
  7. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,392
    Likes Received:
    7
  8. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
    Now I've posted there too, thanks for the tip SirDice. :)
     
  9. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
    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) MXE(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
     
  10. lillis

    lillis New Member

    Messages:
    7
    Likes Received:
    0
    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.