# FreeBSD NVIDIA support vs TrueOS NVIDIA support



## mikepwagner (Oct 20, 2016)

I recently decided to move from Ubuntu back to BSD on an old Dell latitude 6510 laptop.

I had run PC-BSD on the laptop a year ago, and everything worked pretty well.

PC-BSD has apparently become TrueOS Desktop, and when I tried to install TrueOS, it warned me that my legacy NVIDIA card is not longer supported.

Since this all worked a year or so ago, am I likely to be successful if I try to install freeBSD directly, instead of using TrueOS desktop?

I think - though I am not sure - that NVIDIA provided freeBSD drivers in the past, and that I may be able to get a driver that works with my GPU directly from NVIDIA. Is that going to be a headache?


----------



## marcelbonnet (Oct 20, 2016)

Go to nvidia site, check what is the driver to your model. Than locate it in /usr/ports/x11/nvidia* .

NVIDIA still proving fresh drivers for a bunch of new products.


----------



## mikepwagner (Oct 21, 2016)

marcelbonnet said:


> Go to nvidia site, check what is the driver to your model. Than locate it in /usr/ports/x11/nvidia* .
> 
> NVIDIA still proving fresh drivers for a bunch of new products.



It looks like my card is an NVIDIA Quadro NVS 3100M, and takes the x11/nvidia-driver-340 driver.


----------



## sko (Oct 21, 2016)

Nvidia regularly drops support for legacy hardware from the mainline drivers. The last version before removing support for several chipsets are kept as legacy versions:
https://www.nvidia.com/object/unix.html

A list of what cards fall into "legacy" is also provided:
https://www.nvidia.com/object/IO_32667.html

For very old GPUs you might need older legacy versions; just work your way back from the latest one (340) until your card works. You can also read the supported hardware list in the release notes, but don't blindly trust them - I was running a legacy GeForce 4 till last year, which *should* have worked with the 340 driver, but only ran stable with the 304 branch.


----------



## mikepwagner (Oct 21, 2016)

I think that I will try this. I am a little confused by the manual. It seems as though there are many steps in Section 5.4 "Xorg Configuration", but when I look at videos on YouTube about installing a GUI on freeBSD, it seems like more people skip most of the steps. 

This is what I see in videos:

Install the xorg pkg
Install some desktop environment
If the desktop environment doesn't include a login manager, install slim
Add hald_enable="YES" and dbus_enable="YES" (and maybe slim_enable="YES") to /etc/rc.conf
Add an exec line to the user's .xinitrc to start the desktop environment

If I need to add NVIDIA 340 driver to work with my video card, can I just install that package between steps 1 and 2, or do I need to modify some conf file to tell xorg to nvidia-driver-340?

Thanks.


----------



## ASX (Oct 21, 2016)

mikepwagner said:


> If I need to add NVIDIA 340 driver to work with my video card, can I just install that package between steps 1 and 2, or do I need to modify some conf file to tell xorg to nvidia-driver-340?


After installing the nvidia-driver 340, you may need to run `nvidia-xconfig`, that will generate an xorg.conf file. That surely worked for me anyway.

This is what I have installed:


> nvidia-driver-340-340.96_1     NVidia graphics card binary drivers for hardware OpenGL rendering
> nvidia-settings-355.11_3       Display Control Panel for X NVidia driver
> nvidia-xconfig-367.35          Tool to manipulate X configuration files for the NVidia driver


nvidia-settings may be useful if you need to tweak some parameter, like brightness, contrast and more.


----------



## marcelbonnet (Oct 22, 2016)

mikepwagner said:


> 3. If the desktop environment doesn't include a login manager, install slim
> 4. Add hald_enable="YES" and dbus_enable="YES" (and maybe slim_enable="YES") to /etc/rc.conf



You may skip that by now. I prefer to do things progressively. Just run `startx` if you setup .xinitrc as you said and run `nvidia-xconfig` as fellow ASX mentioned.

hald and dbus can be good and evil, at the same time! Test one step after another, is my humble suggestion.

[off topic on] For historical reasons with a notebook using the openchrome driver, I quit with login managers, so I'm used to type startx. As time passed,  I put this into my .bashrc :


```
if [ `tty` == "/dev/ttyv6" ]; then
  cp -p ~/.xinitrc-fluxbox ~/.xinitrc
else
  cp -p ~/.xinitrc-lumina ~/.xinitrc
fi
  startx &
  exit
```

May be stupid, may not... that's what I love *nix ... allowing people to do clever or stupid customized useful things 

[/off topic on]


----------



## ronaldlees (Oct 22, 2016)

Was Nvidia the reason to switch back to FreeBSD?  For some reason, I have 3x more trouble with Nvidia on Ubuntu than on FreeBSD.  On FreeBSD, it seems always to work just fine.  Maybe it's MIR related ...


----------



## mikepwagner (Oct 23, 2016)

ronaldlees said:


> Was Nvidia the reason to switch back to FreeBSD?  For some reason, I have 3x more trouble with Nvidia on Ubuntu than on FreeBSD.  On FreeBSD, it seems always to work just fine.  Maybe it's MIR related ...



Not really. I went to ubuntu from PC-BSD mostly because I wanted to use gnucash with a PostGres backend, and at that the time, the PC-BSD gnucash package didn't include PostGres support. I tried to build it, and that didn't work very well, and I didn't feel like allocating enough time debug the issue. 

I am not as interested in gnucash as I was, and I decided to move back to BSD.


----------



## Atsuri (Oct 26, 2016)

I think "vanilla" FreeBSD nVidia support might be a bit ahead of TrueOS/PC-BSD. That being said, I know that for your (mikepwagner) graphics card, the 340xx line is the correct one. I use it whenever in doubt regarding the mainline nVidia driver. As ASX mentioned, running `nvidia-xconfig` is highly recommended. Bare in mind that this will generate an xorg.conf file that takes precedence over the xorg.conf.d directory where individual Section .conf files are stored. Therefore, if you do any adjustments to X11 configuration, those need to go to xorg.conf.


----------



## mikepwagner (Oct 26, 2016)

Just to follow up, I found the "How To" thread for setting up Xorg with NVIDIA drivers and followed the directions.


----------



## wblock@ (Oct 27, 2016)

Atsuri said:


> I think "vanilla" FreeBSD nVidia support might be a bit ahead of TrueOS/PC-BSD.


This is unlikely.  TrueOS, which is the replacement for PC-BSD, is based on FreeBSD-CURRENT and includes the latest KMS stuff.  It's cutting edge stuff.


----------



## mikepwagner (Oct 27, 2016)

wblock@ said:


> This is unlikely.  TrueOS, which is the replacement for PC-BSD, is based on FreeBSD-CURRENT and includes the latest KMS stuff.  It's cutting edge stuff.



"TrueOS says "Legacy Nvidia cards are not working properly at this time.  We are working to resolve this issue."


----------



## Atsuri (Oct 27, 2016)

wblock@ said:


> This is unlikely.  TrueOS, which is the replacement for PC-BSD, is based on FreeBSD-CURRENT and includes the latest KMS stuff.  It's cutting edge stuff.


My bad then, sorry! Got a bit ahead of myself .


----------



## beanpole (Mar 13, 2017)

The older NVIDIA drivers (340.x, 304.x) are working perfectly fine in TrueOS now. The installer just does not include them (only has the latest driver), so you will need to install them manually afterwards before turning on the "nvidia" driver for X11.


----------

