The almost perfect installation and set-up of OFFICIAL NVIDIA X driver for desktop GPU(s)


This quick tutorial refers only to the latest NVIDIA’s OFFICIAL driver for TrueOS/FreeBSD that is available in repos for desktop GPU(S), which are listed as SUPPORTED video cards in FreeBSD.
In this case, I tested and used GTX580 and GTX960 Nvidia’s video adapters.

  1. Install the following 3 packages/files through AppCafe or with pkg install:

  2. As sudo or su do nvidia-xconfig - this will automagically create new basic /etc/X11/xorg.conf configuration file and add entry “kldload_nvidia="nvidia-modeset nvidia” in /etc/rc.conf

  3. Reboot your system

  4. As sudo or su do nvidia-settings. The nvidia-settings GUI utility will start and let you configure additional things within its “X Server Display Configuration” section. If you make any adjustments there, the utility can save (update or replace) your /etc/X11/xorg.conf, which was created initially with nvidia-xconfig. I recommend that you not use the “merge with existing file” option when saving new settings with the utility.

  1. Reboot your system again

  2. If you wish to control/adjust your fan(s) speed (RPMs) of those video adapters you need to add extra Screen Option “CoolBits” entry in /etc/X11/xorg.conf:

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option “Stereo” "0"
Option “metamodes” "2560x1440_60 +0+0"
Option “SLI” "Off"
Option “MultiGPU” "Off"
Option “BaseMosaic” "off"
Option “CoolBits” "4"
SubSection "Display"
Depth 24

This will allow you to adjust your fan(s) constant RMPs. Nvidia driver’s default cooling target is very high and it doesn’t start the fan(s) until the GPU temp reaches 60 C, and then it goes up to 70 C, under stress. Those video adapters should not reach such high temps, even under heavy stress. So having the fans running constantly will not allow the GPU(s) reach high operating temps. and prevent them from overheating under stress. I run my GPU fan setting at 45% wich maintains the GPU’s temp at 28-32 C during normal operation and does not get above 60 C during GLX stress tests.


After each and every reboot or X server re-start, the fan’s RMPs setting/adjustment (CoolBits Option, part of xorg.conf) has to be reset/re-adjusted manually with nvidia-settings GUI util.

The “CoolBits” Option in /etc/X11/xorg.conf can use different numerical values for variety of options, such as OC. You can read about it on the WWW.

And, I don’t see support for CUDA in this driver.

Cannot load nvidia-modeset message

Many thanks, @ichibiri! Maybe you can move that to the TrueOS Tips, Tricks & FAQ section… :wink:


Good stuff, but the fanspeed doesn’t need GUI to adjust.
You should wind up with a .nvidia-settings-rc (name may not be correct) in your home directory that has settings in it. You can load those by doing:
nvidia-settings --load-config-only
at some point. I don’t boot into PCDM, I boot to a console, then run startx manually to bring up X so I have that line in my .xinitrc file. You could do the same by adding an autostart job to Lumina.


Input from other user(s) points out that the Option “CoolBits” “4” can be also placed in Device section of the /etc/X11/xorg.conf file.

I also notice that some users mention “Xorg -configure” (to configure X with GENERIC nvidia driver) with relation to “nvidia-xconfig” (to configure X with OFFICIAL NVIDIA driver) utils. Both of those utilities trying to ecomplish the same thing; load GPU module, set X display and create/edit the /etc/X11/xorg.conf file. But, “nvidia-xconfig” may also pass extra parameters and construct the /etc/X11/xorg.conf file in slightly different pattern.