# Another nvidia-driver problem thread, please help this should be simple.



## JayArr (Dec 30, 2019)

Hi All
Installing 12.1 with xfce to act as my desktop. Everything goes OK with xorg and even xfce. I installed slim and it all works except I have low resolution on my desktop because I haven't installed the correct driver for my GeForce 6600.

I compiled nvidia-driver-304 from ports without a hitch. Then I used pkg to install nvidia-xconfig and nvidia-settings. I rebooted and everything still worked but I was still getting low res desktop.

I notice there is still no xorg.conf file so I run `nvidia-xconfig` to create one and after rebooting I can't get past slim to my desktop. 

If I edit /etc/X11/xorg.conf and comment out the the whole Section "Device", and reboot I can get back to my desktop but still at low res so I don't think I'm loading/using the correct driver. I have the same card in the computer I'm on now (same hardware exactly) and can get 1600x1200 and `nvidia-settings` works but on the one I'm loading I can only get 1024x768 and `nvidia-settings` says "unable to load from any system"

`kldstat`shows that nvidia.ko is loaded

I have nvidia_load="YES" in /boot/loader.conf

I have:
dbus_enable="YES"
hald_enable="YES"
slim_enable="YES"
nvidia_enable="YES"
in /etc/rc.conf

The only thing I can think of now is the linux support that I said no to when I compiled the driver. Was it mandatory that I include linux support for the driver?

All help appreciated. I'm looking into the log files now but I'm not sure what I'm looking for.

Thanks
Jeff


----------



## SirDice (Dec 30, 2019)

JayArr said:


> Was it mandatory that I include linux support for the driver?


No, it's not required for the driver to work. It's only there for the Linux compatibility.


----------



## JayArr (Dec 30, 2019)

Thanks Sir Dice

I restored the 'Section Device"' in the rc.conf and rebooted and inspected the logs. I was partially right. With the section commented out I load a VESA driver and with it not commented out I load the nvidia driver. 

When I load the VESA driver it then goes to a desktop with a max res of 1024x765, when I load the nvidia driver the login/password box goes away and it flickers and then just stays on the background of slim. I notice now that my mouse works but there is no desktop.

It looks as if the nvidia-driver is actually loading properly but something about it is causing xfdesktop to crash. I think that's why it looks like it's frozen.


----------



## SirDice (Dec 30, 2019)

The only Xorg configuration you need is the driver. Nothing else.

/usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf:

```
Section "Device"
        Identifier "Card0"
        Driver     "nvidia"
EndSection
```

Remove everything else (/etc/X11/xorg.conf for example).


----------



## JayArr (Jan 1, 2020)

OK, I reloaded 12.1 from scratch, making the following changes based on SirDice's post:

I no longer have /etc/X11/xorg.conf file.

I created the /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf: file just as SirDice listed.

I didn't include `nvidia_enable="YES"` in rc.conf since I'm loading it in /boot/loader.conf

/boot/loader.conf also includes `linux_load="YES"` and `kern.vty=vt`

Now here's the weird thing...

I can log in ONCE and it works, once I log out of the desktop and try to log back in it freezes up.

I confirmed this as repeatable by
`rmuser` xxx
`init 6`
`adduser` xxx
`init 6`
login at SLIM GUI splashscreen = OK
logout
login at SLIM GUI splashscreen = freezes... rebooting does not reset this, only deleting and recreating the user will allow a login again.

So it appears that something is getting written or changed in /home/xxx that causes the freeze condition on every login after the first.

MORE DATA: if I eliminate the /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf/nvidia-driver.conf file so that there is no request to load the nvidia driver then I can log in over and over but it uses the default VESA driver and I'm limited to 1280x1024 as a max resolution. (nvidia goes to 1920x1200)

I don't imagine anyone else has the answer to this but if you have experience with sessions and drivers could you give me a suggestion as to where to look? (log files, .conf files ?)


----------



## JayArr (Jan 3, 2020)

Crickets... a sure sign no one has a clue as to why this is happening.

Well, one thing is for sure, the idea of a single file in /usr/local/etc/X11/xorg.conf.d/ doesn't work with the nvidia driver. I've loaded this from scratch more than a few times and it just won't boot more than once for any user.

I'll try getting rid of the /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf and go back to /etc/X11/xorg.conf and see if I can get it working that way. There must be some conflict between the old nvidia driver and the new 12.1 system.


----------



## Deleted member 30996 (Jan 3, 2020)

This laptop is running FreeeBSD 12.1-RELEASE-p1 with a Nvidia Quadro 1000M at 1920x1080 resolution using x11/nvidia-driver-304. I don't have anything in /usr/local/etc/X11/xorg.conf.d.

The relative portion of my /etc/x11/xorg.conf is:

```
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
```

/etc/rc.conf

```
linix_enable="YES"
```

/boot/loader.conf

```
linux_load="YES"
nvidia-modeset_load="YES"
nvidia_load="YES"
```

I don't think both nvidia-modest and nvidia_load are needed but what I use and Nvidia works first time every time.


----------



## JayArr (Jan 3, 2020)

Is that a typo in your /etc/rc.conf? (should be `linux_enable="YES"`)?

Do you actually have a nvidia-modeset.ko file in /boot/modules? (I don't)

If you boot up and log in can you log out (back to the GUI login splashscreen) and then log back in and have it work the second time?

Is your laptop a fresh install of 12.1 or an 11.x that was upgraded to 12.1? (maybe something got left out of 12.1?)

It's frustrating that I have almost exactly the same config and yet get this freezing problem on second login. It ONLY happens with the nvidia driver (304-304.137_4)

Out of curiosity, when you go to "applications" then "log out" is your restart option greyed out? Mine is on 12.1 and is active on 11.x


----------



## Deleted member 30996 (Jan 3, 2020)

It's my hand typo and is spelled correctly in the file.

I have /boot/modules/nvidia.ko only.

I use x11-wm/fluxbox and exit from the fluxbox menu to the login terminal to compile ports then back to the splashscreen and desktop as standard practice. It doesn't matter how many times I do it, it always brings up the desktop.

I always install the new version from scratch and this build only a few weeks old, but will run it to EOL without any performance issues expected. It will be as stable a year or so from now as it is today with only regular updating of the ports tree, vulnerability list and base system what I consider to be routine maintence.

I log in from the terminal with `startx` and either exit the desktop from the fluxbox menu to work or `shutdown -r now` to reboot from the terminal. It boots to the splashscreen before hitting the desktop every time.


----------



## JayArr (Jan 3, 2020)

Well, I think I've found a solution:

`pkg remove xfce`
`pkg install mate`

as much as I like xfce I can't ignore that I've spent the better part of my Christmas holidays trying to make it work and it just won't. 

Mate on the other hand installed in 10 minutes and worked right out of the box with the nvidia driver.

I dislike giving up but I've followed all of the instructions and xfce just won't work on my proliant DL360 G5 with nvidia-304, slim and Freebsd 12.1


----------



## Deleted member 30996 (Jan 3, 2020)

What ties you to either DE? Or find superior in a DE over a WM like x11-wm/fluxbox?

I started using Fluxbox in the mid 2000's and like it best of any DE or WM I've tried so have stuck with it over the years. The small right-click menu that you need to populate by hand with the programs installed not that extensive to edit.


----------



## JayArr (Jan 4, 2020)

Hi
Nothing really ties me to xfce other than familiarity. There is a lot of wasted time when you have to switch desktops and learn new configurations, small things work differently and you feel not at your most efficient. This is a work desktop so every hour I spend tinkering with it is a wasted hour of production. When you're self employed that adds up to lost revenue and a lower standard of living that month.

I'm settling into mate OK, fluxbox looks fun but I need others in the shop to be able to use this desktop to look up component datasheets and I don't want to have to train anyone on a desktop. Mate looks familiar enough that anyone can find firefox and look up Texas Instruments LOL

I managed to break up /etc/X11/xorg.conf and put sections for device, monitor and screen into /usr/local/etc/X11/xorg.conf.d/ . I actually need the monitor and screen sections because my desktop comes from a rack mount server and it's passed through a KVM that removed the ability of the driver to fetch EDID data from the monitor relating to screen resolution and frequencies.


----------



## KenGordon (Jan 20, 2020)

JayArr said:


> I have nvidia_load="YES" in /boot/loader.conf



Another thread on this subject (nvidia and xorg) mentions that for some reason, 12.1 will not load 'nvidia_load = "YES"' from loader.conf, but it will load if that same statement is input to rc.conf.

Could this be what is happening with your system?

Ken Gordon


----------



## JayArr (Jan 20, 2020)

Hi Ken

This seems to be a nvidia driver - XFCE incompatibility that only occurs in 12.1 and it's not related to where the driver is loaded.

I had entries in both loader.conf and rc.conf so even if the loader.conf didn't work the rc.conf would.

When the SLIM graphic login/splashscreen came up it was the correct resolution for the nvidia driver, (1600x1200 was not an option with the default VESA driver). This leads me to believe the nvidia driver was loading properly.

Here's where it got weird... The first, and ONLY the first, time any user logs in it would work and present a desktop at 1600x1200 and I could confirm that the nvidia driver was loaded because nvidia-settings app would run and I could adjust saturation and hue etc.

When I logged out of that desktop the server would go back to the SLIM graphic login/splashscreen but from now on every time you try to log in, SLIM would just freeze and not proceed to the desktop.

If you switched to a different user you would get ONE login and then subsequent attempts would result in the frozen SLIM splashscreen.

I wonder if something is getting written in /home/user/Jeff on that first login that prevents subsequent logins from proceeding. If I remove Jeff as a user (deleteing the user directories) and then add a new user called Jeff and create new home directories, I will again get ONE login to a desktop.

If I choose MATE as my desktop instead of XFCE then the anomaly does not present itself so XFCE is at least part of the problem.

I have an identical server with 11.2, the exact same video card, the same nvidia driver and XFCE and it works, so it's specifically a 12.1 problem.

If I didn't load the nvidia driver and ran the VESA at a lower resolution everything worked so nvidia is at least part of the problem.

I like XFCE but this one chewed too much time and I gave up and loaded MATE.

Jeff


----------



## Deleted member 30996 (Jan 20, 2020)

KenGordon said:


> Another thread on this subject (nvidia and xorg) mentions that for some reason, 12.1 will not load 'nvidia_load = "YES"' from loader.conf, but it will load if that same statement is input to rc.conf.



I'm using my W520 with Nvidia Quadro 1000M running FreeBSD 12.1-RELEASE-p1 right now and posting from the Fluxbox desktop:

/boot/loader.conf

```
security.bsd.allow_destructive_dtrace=0
linux_load="YES"
nvidia-modeset_load="YES"
nvidia_load="YES"
```

You don't actually need both of the last 2 listed, the right one will suffice. I just do it that way.


----------



## KenGordon (Jan 20, 2020)

Hmmm...well, there obviously are various "weirdnesses" going on. I am still re-learning all this stuff. I will be working on my Nvidia driver later today. I suppose I'll run into some of those weirdnesses. I think I already have. Oh, well...Thanks.


----------



## JayArr (Jan 20, 2020)

If you've got questions post them up here Ken, I spent several days on this and learned a lot even if I didn't solve it, I'd be happy to save you some time if I can.

TriHex, I'm using the nvidia-304 driver so there is no `nvidia_modeset_load`, that's only for the later drivers, I just use `nvidia_load`. It works with Mate and from your experience - Fluxbox -  but not with XFCE.


----------



## Deleted member 30996 (Jan 20, 2020)

KenGordon said:


> Hmmm...well, there obviously are various "weirdnesses" going on. I am still re-learning all this stuff. I will be working on my Nvidia driver later today. I suppose I'll run into some of those weirdnesses. I think I already have. Oh, well...Thanks.



Relegate all wierdness to ports-mgmt/portmaster and give it a chance to work it out. If it stops and you have to interceed you're no worse off than you were before. Probably less so.

I exit to the login terminal to compile ports where I can keep and eye on it with a glance and watch TV or something while it toils.


----------



## KenGordon (Jan 20, 2020)

OK. I'm going downstairs to work on this now. I'll report results as soon as I run into any.  ;-)


----------



## KenGordon (Jan 20, 2020)

Results: no error messages, and the system loads. BUT....it looks identical to what it did before I did the work. And there is no way to adjust the resolution. 1024 X 768 is the best choice I have. The edges of some of the various icons, etc. LOOK a bit sharper, but that is the only difference I can see.

I'm not sure how to test this.

Ken Gordon


----------



## JayArr (Jan 20, 2020)

`pkg load nvidia-settings`

The icon will appear in your settings menu, if the driver is loaded it will run and connect and you can adjust saturation and hue etc. If the nvidia driver is not loaded the app won't run. This is an easy way to tell if the nvidia driver is loaded or not.


----------



## KenGordon (Jan 21, 2020)

JayArr said:


> `pkg load nvidia-settings`


I did `pkg install nvidia-settings` and the system told me I had already installed it.



JayArr said:


> The icon will appear in your settings menu, if the driver is loaded it will run and connect and you can adjust saturation and hue etc. If the nvidia driver is not loaded the app won't run. This is an easy way to tell if the nvidia driver is loaded or not.


OK. Thanks. I just went down and checked it: I have a listing for that program, but when I attempt to fire it up, the screen "blinks", very quickly, and returns to what it was, but no controls pop up. I still have something wrong.

Ken Gordon


----------



## KenGordon (Jan 21, 2020)

I have the icon: when I click on it, the screen blinks, very quickly, and everything remains the same.

Ken Gordon


----------



## JayArr (Jan 21, 2020)

That probably means that the driver isn't loaded. Try opening a terminal on your desktop and running `nvidia-settings`

The screen will still just flicker but then there will probably be some error messages that indicate the driver isn't there.

show us the contents of your /boot/loader.conf file and your /etc/rc.conf file.


----------



## JayArr (Jan 21, 2020)

In a terminal you can also run `kldstat` and see if nvidia.ko is in the list.


----------



## Hakaba (Jan 21, 2020)

As the driver is nvidia-driver-304, the modset mode will not work, according to documentation, no?

In my laptop, I add «BusID» in the section Device to have a working NVidia card.


----------



## KenGordon (Jan 21, 2020)

Crapola! I dumb-assed fat-fingered a file name: instead of saving the file as a .conf, I saved it as a -conf. (Face-palm!) 

No wonder it wasn't being read. Now everything works just fine and I thank you all for your help. Gee...

Ken Gordon


----------



## JayArr (Jan 21, 2020)

Correct Hakaba, the -304 driver has no modeset command.

Glad you found the problem Ken!


----------



## KenGordon (Jan 21, 2020)

Gee...you and me, both. I feel like an idiot. I suppose I can use my age as an excuse...or my bad eyesight. 

Thanks again.

Ken Gordon


----------

