Basically start by updating your ports tree, installing the driver and preparing FreeBSD to load the NVIDIA kernel module it at boot time. Consider selecting ACPI (enable support for ACPI Power Management) and LINUX (build with support for Linux compatibility) port options.

Now let's proceed by editing /etc/X11/xorg.conf to have it use the NVIDIA driver and add some options to increase performance.

Edit /etc/X11/xorg.conf and change the driver value from "nv" to "nvidia":

As I understand it, this option is not needed, and is useful mostly for disableing the RENDER extension, not for explicitly enabling it (It is always enabled if the X server supports it), from the nVidia documentation:

Code:

Option "NoRenderExtension" "boolean"
Disable the RENDER extension. Other than recompiling it, the X server does
not seem to have another way of disabling this. Fortunately, we can
control this from the driver so we export this option. This is useful in
depth 8 where RENDER would normally steal most of the default colormap.
Default: RENDER is offered when possible.

Quote:

Originally Posted by tangram

Option "NoFlip" "False"

Again, as I understand it this option is always enabled if supported, from the nVidia documentation:

Code:

Option "NoFlip" "boolean"
Disable OpenGL flipping; see Chapter 17 for a description. Default: OpenGL
will swap by flipping when possible.
[...]
o Flipping: When OpenGL flipping is enabled, OpenGL can perform buffer
swaps by changing which buffer the DAC scans out rather than copying the
back buffer contents to the front buffer; this is generally a much higher
performance mechanism and allows tearless swapping during the vertical
retrace (when __GL_SYNC_TO_VBLANK is set). The conditions under which
OpenGL can flip are slightly complicated, but in general: on GeForce or
newer hardware, OpenGL can flip when a single full screen unobscured
OpenGL application is running, and __GL_SYNC_TO_VBLANK is enabled.
Additionally, OpenGL can flip on Quadro hardware even when an OpenGL
window is partially obscured or not full screen or __GL_SYNC_TO_VBLANK is
not enabled.

Quote:

Originally Posted by tangram

Option "UseEdid" "True"

Enabled by default, no reason to set it, from the nVidia documentation:

Code:

Option "UseEDID" "boolean"
By default, the NVIDIA X driver makes use of a display device's EDID, when
available, during construction of its mode pool. The EDID is used as a
source for possible modes, for valid frequency ranges, and for collecting
data on the physical dimensions of the display device for computing the
DPI (see Appendix I). However, if you wish to disable the driver's use of
the EDID, you can set this option to False:
Option "UseEDID" "FALSE"
Note that, rather than globally disable all uses of the EDID, you can
individually disable each particular use of the EDID; e.g.,
Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"
Default: True (use EDID).

Quote:

Originally Posted by tangram

Option "NvAGP" "1"

Again, this is the default, nVidia documentation:

Code:

When built with support for the FreeBSD AGP driver, 'nvidia.ko' will fall back
to using NvAGP when it doesn't detect 'agp.ko' (this will be the case when
'agp.ko' does not support your AGP chipset or was explicitly disabled with
device hints).

__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.