cannot find nvidia-modeset when system boots

# sysrc kld_list+=nvidia-modeset still cannot load nvidia-modeset at start, I think it's affected by zfs+MBR+BIOS installation option. Adding
Code:
zpool_cache_load="YES"
zpool_cache_type="/boot/zfs/zpool.cache"
zpool_cache_name="/boot/zfs/zpool.cache"
to /boot/loader.conf makes bootpool loaded. Maybe loading nvidia-modeset after bootpool can solve the problem?
 
It almost sounds like your root pool has never been imported.
I've never seen a need to add anything related to zpool_cache to anything
 
/boot/loader.conf is read well before rc.conf. I don't see any relationship here.
Post the /etc/rc.conf content. It will be clearer.
You can also look into dmesg to check if something avoids the loading of nvidia kmods.
 
Have you written correct boot codes into correct place?

For legacy BIOS boots from MBR partitioning scheme and assuming your Root-on-ZFS pool exists on ada0, /boot/mbr is needed to be written into the top of the disk ada0 where MBR partitioning table exists with gpart bootcode -b /boot/mbr ada0. /boot/pmbr wouldn't work in this case, as it's for GPT partitioning scheme.

And as next level, partition boot code for MBR, is for FreeBSD slice (physical partition that stores logical partitions of FreeBSD) and NOT for ZFS pool.
Writing partition bootcode (/boot/zfsboot) into ZFS pool itself would break ZFS pool.

So you need 3 of 4 MBR partition for booting from ZFS.
One for minimal BSD slice to store partition boot code only to kick bootfs in ZFS.
One for ZFS pool.
And one for swap, as creating swap in ZVOL or as swap file in ZFS is strongly discouraged.

This thread would help you.

Note that zfsboot no longer exists on 15.0-RELEASE and later.
Consider using GPT scheme instead of MBR, if your BIOS allows.
 
Post the /etc/rc.conf content. It will be clearer.
Code:
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
hostname="canvis.freebsd.zbook15g1"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
create_args_wlan0="country NL"
local_unbound_enable="YES"
sshd_enable="YES"
ntpd_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"

linux_enable="YES"
seatd_enable="YES"
dbus_enable="YES"
pf_enable="yes"
pflog_enable="yes"

Can only check the error on TTY, which shows
Code:
Starting file system checks:
Mounting local filesystems:.
Loading kernel modules:kldload: can't load nvidia-modeset: No such file or directory
/etc/rc: WARNING: Unable to load kernel module nvidia-modeset
 nvidia-modeset.
devmatch: Can't read linker hints file.
 
Code:
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
hostname="canvis.freebsd.zbook15g1"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
create_args_wlan0="country NL"
local_unbound_enable="YES"
sshd_enable="YES"
ntpd_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"

linux_enable="YES"
seatd_enable="YES"
dbus_enable="YES"
pf_enable="yes"
pflog_enable="yes"

Can only check the error on TTY, which shows
Code:
Starting file system checks:
Mounting local filesystems:.
Loading kernel modules:kldload: can't load nvidia-modeset: No such file or directory
/etc/rc: WARNING: Unable to load kernel module nvidia-modeset
 nvidia-modeset.
devmatch: Can't read linker hints file.
This would be my last follow-up unless you upgrade your FreeBSD to any of supported versions. And the comments below is for up-to-date ports tree, not at the moment 11.2-RELEASE was still supported.

The message suggests that nvidia-modeset.ko is NOT found, usually means that x11/nvidia-kmod (or any of its variant for legacy or devel branches) is NOT installed.

And supports for EoL'ed versions of FreeBSD in ports tree are thoroughly and forcibly removed by portmgr team, who are responsible to keep ports tree sane. So x11/nvidia-kmod would NO LONGER built fine.

If you still have dvd1 image that has pre-built pkgs in it and it includes x11/nvidia-driver (at the era 11.2 was released, x11/nvidia-kmod was NOT YET splitted out from x11/nvidia-driver), and it supports your GPU, you can install it. But it doesn't contain bug fixes including security fixes introduced afterwards, thus, not recommended.
 
On an old machine, cannot install 15.1-RELEASE directly. Have to choose a specific old release installer. And I have upgrade it to 15.1-RELEASE now.
Save your config files and whatever counts for you and install from a fresh FreeBSD medium.

Looking at your dmesg report, the file is missing. This is strange and I think it results of what you tried.

Sorry, but you have no choice to a violent upgrade, I mean total re-installation of the system.
 
I have upgraded the main system to 15.1-RELEASE, and running # kldload nvidia-modeset mannually on TTY is fine.
As for nvidia-kmod,
Code:
~> pkg info | rg nvidia
nvidia-driver-580-580.159.04   NVIDIA graphics driver userland
nvidia-kmod-580-580.159.04.1500068 NVIDIA graphics driver kernel module
nvidia-settings-595.84         Display Control Panel for NVIDIA graphics
 
Back
Top