[Solved] Official Nvidia Drivers, Toshiba Laptop, GeForce 4 440 Cards: Always causes Freeze

Sean Murphy freebsd at seanmurph.com
Fri Apr 7 23:18:32 UTC 2006


   I have finally come up with a way to use the official drivers from
   nvidia on Toshiba notebooks with a GeForce4 440 Go (and similar) video
   card.  Normally, using either linux or freebsd and the drivers from
   nvidia (instead of the default nv driver) would result in a hard
   freeze as soon as X was started.  I gave up trying to fix it, but then
   came across a solution for Linux last night, which I used as a basis
   for this FreeBSD solution...
   First of all, much credit goes to [1]this [2]information from the
   Ubuntu Document Storage Facility (check out "Problem 8" at the
   bottom).
   Here's how I applied the same modifications to a FreeBSD system:
   The first step under Linux was to change some options in the nvidia
   kernel, which was done in Linux under /etc/modprobe.conf (or
   /etc/modprobe.d).  FreeBSD doesn't use modprobe, which I believe is
   used for the loading of a kernel module.
   Instead, we can modify the option in the source for nvidia's drivers,
   and then compile the nvidia kernel module with this already set the
   way we want:
   1. First, download the [3]latest[4] nvidia source here.  Extract (tar
   zxvf NVIDIA-FreeBSD-x86-1.0-8178.tar.gz) and move into the newly
   created directory.

   2.  Edit /src/nvidia_os_registry.c using your fav text editor:

       Change the values of the following variables:
           - NVreg_SoftEDIDs = 0 (was 1)
           - NVreg_Mobile = 1 (was ~0)
       Save nvidia_os_registry.c and exit.
   3. I didn't want linux compatability built into my nvidia kernel
   module, so I changed the following:
       Comment out (or undefine) this line:
       #define NV_SUPPORT_LINUX_COMPAT
   4.  Under the NVIDIA-FreeBSD-x86-1.0-8178 directory, compile and
   install the drivers:
       make install
   5.  Finally, this part is identical to the linux instructions.  We
   need to make some tweaks to xorg.conf (and tell X to use the nvidia
   drivers also):
   Your device directive should have something similar to:
   Section "Device"
       Identifier    "NVIDIA Corporation NV17 [GeForce4 420 Go]"
       Driver        "nvidia"
       BusID        "PCI:1:0:0"
        Option         "RenderAccel"         "true"
       Option         "AllowGLXWithComposite" "true"
       Option        "IgnoreEDID"        "true"
       Option        "IgnoreEdidFreqs"    "true"
       Option        "GenerateRTList"    "0"
       Option        "OverridePolarity"    "1"
   EndSection
   That's all!  This time when you startx with the real nvidia drivers,
   it won't crash.  This is tested to work on both of my Toshiba
   laptops.  If there are any errors in this howto, feel free to correct
   it!  Now, us toshiba users can have 3d acceleration along with support
   for OpenGL  :).
   Hope this helps someone!
   - Murph

References

   1. http://doc.gwos.org/index.php/Latest_Nvidia_Dapper
   2. http://doc.gwos.org/index.php/Latest_Nvidia_Dapper
   3. http://www.nvidia.com/object/freebsd_1.0-8178.html
   4. http://www.nvidia.com/object/freebsd_1.0-8178.html


More information about the freebsd-questions mailing list