Solved FreeBSD 13.0 Won’t Boot After NVIDIA Drivers Installed

Good afternoon all:

I didn’t experience this problem in 12.2, but with 13.0 I can’t get FreeBSD to boot up after I install NVIDIA drivers. The boot process freezes at the frame buffer. See attached image for error message. It's an Nvidia 1080 Ti on a custom-built machine. No other OS gives me any errors like this. Additionally, I can't even get into single user mode to edit the file to remove it. So basically, the system is DOA until I reinstall. Any idea how I can get past this?

Here’s how I install NVIDIA drivers:
  1. Install Nvidia.
    1. ‘pkg install nvidia-driver’
    2. ‘pkg install nvidia-xconfig nvidia-settings’
    3. Edit /etc/rc.conf (sudo vi /etc/rc.conf)
      1. Add a line, ‘kld_list="nvidia-modeset nvidia”’
    4. Edit /boot/loader.conf (even if it’s not there yet) (sudo vi /boot/loader.conf)
      1. 'nvidia_load="YES"'
      2. 'nvidia-modeset_load="YES"'
    5. ‘sudo nvidia-xconfig’
  2. Reboot
 

Attachments

  • freebsd13-masks-nvidia-error.jpg
    freebsd13-masks-nvidia-error.jpg
    1.9 MB · Views: 536
Take a look at this thread.

Basically:
Don't put anything in loader.conf
Append nvidia-modeset and nvidia to /etc/rc.conf line with kld_list
Don't do nvidia-xconfig
create /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf with the following:
Code:
Section "Device"
    Identifier "NVIDIA Card"
    VendorName "NVIDIA Corporation"
    Driver "nvidia"
EndSection
You may need to add a line for BusId.
 
Last edited by a moderator:
This may help too:
 
  • Like
Reactions: mer
These worked -- thank you! Modified my install instructions to the following:

  1. ‘pkg install nvidia-driver nvidia-settings’
  2. ‘sysrc kld_list="nvidia-modeset nvidia”’
  3. ‘vi /usr/local/etc/X11/xorg.conf.d/driver-nvidia.conf’
  4. Add the following lines to the file:
    1. Section "Device"
    2. (Tab) Identifier "NVIDIA Card"
    3. (Tab) VendorName "NVIDIA Corporation"
    4. (Tab) Driver "nvidia"
    5. EndSection
  5. Reboot
 
  • Like
Reactions: mer
The sysrc line make sure that everything you want on the kld_list line is there.
a "+=" will append to the line, if you do "=" it will replace existing line (you don't want to lose anything).

Glad it worked. If you google/duckduckgo with the right terms you find a bunch of solutions leading back here to the forums (that's what I did) so most of what I'm saying is a repeat of what others have said in the past.
 
This may help too:
Thanks Jose The "solution" is basically "don't add the nvidia or drm_kmod stuff to loader.conf. Put it in /etc/rc.conf/kld_list"
(My systems aren't booting uefi so I miss this use case)
 
  1. Edit /etc/rc.conf (sudo vi /etc/rc.conf)
    1. Add a line, ‘kld_list="nvidia-modeset nvidia”’
  2. Edit /boot/loader.conf (even if it’s not there yet) (sudo vi /boot/loader.conf)
    1. 'nvidia_load="YES"'
    2. 'nvidia-modeset_load="YES"'
Use kld_list in rc.conf or load the modules in loader.conf. Don't do both. For the NVidia drivers I would recommend using kld_list. And you don't need to load nvidia if you already included nvidia-modeset.
 
Back
Top