GTX 960 is not a legacy card, it runs the 470 driver.
Edit : I've been running mine with a latest driver since 2015, throughout FreeBSD 10,11,12 and now 13. I switched it to Quadro M4000 which now runs my Plasma desktop on FreeBSD 13, the GTX960 is ppt to bhyve, where it runs Debian. Everything is version 470.
If you aren't experienced with freebsd I suggest first try getting hardware accelerated X server up and running, and then go for setting up the desktop.
On a vanilla FreeBSD installation, install the xorg, nvidia-driver, nvidia-xconfig and nvidia-settings packages, add their loading on startup and disable KMS so your ttys do not get fucked up.
Code:
pkg install xorg nvidia-driver nvidia-xconfig nvidia-settings
sysrc -f /boot/loader.conf nvidia_load="YES"
sysrc -f /boot/loader.conf hw.vga.textmode=1
Reboot the system. When you log back in, there should be driver attach logs in dmesg
Code:
dmesg | grep nvidia
nvidia0: <Quadro M4000> numa-domain 0 on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 470.74 Tue Sep 14 00:47:44 UTC 202
1
Now, execute
To generate X11 configuration (although there's something to be said about directories used (Linuxisms), if you're a new user just use this utility and bear in mind that your X configuration is in /etc/X11).
This should be it, test with
Code:
startx /usr/local/bin/nvidia-settings
If you get to see and click around the settings program, congrats you have nvidia installed in your system.
Now you can proceed to installation of the desktop environment without mixing up the driver/display server in the process.