Bug 214769

Summary: x11/nvidia-driver: kernel module v375.20 fails on vt() to load: link_elf_obj: symbol sc_get_softc undefined
Product: Ports & Packages Reporter: O. Hartmann <ohartmann>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Many People CC: kbowling
Priority: --- Flags: bugzilla: maintainer-feedback? (danfe)
Version: Latest   
Hardware: Any   
OS: Any   

Description O. Hartmann 2016-11-23 07:05:47 UTC
On FreeBSD 12-CURRENT, UEFI or nonUEFI with vt(), the new nVidia GPU BLOB driver beginning with 375.10, now 375.20, fails to load the kernel module "nvidia.ko" with error:

loading nvidia-modeset.ko:
KLD nvidia-modeset.ko: depends on nvidia - not available or version mismatch
linker_load_file: Unsupported file type

loading nvidia.ko:
link_elf_obj: symbol sc_get_softc undefined
linker_load_file: Unsupported file type
Comment 1 Kevin Bowling freebsd_committer freebsd_triage 2016-12-18 04:09:25 UTC
Sounds like you removed or otherwise do not have "device    sc" from sys/amd64/conf/<KERNEL>

You could likely hack that out of NVIDIA-FreeBSD-x86_64-375.20/src/nvidia/nvidia_os.c, it doesn't look like the function is called anywhere.  But it's probably easier to just leave sc in your kenel for now.
Comment 2 O. Hartmann 2016-12-27 12:55:03 UTC
(In reply to Kevin Bowling from comment #1)

Yes, I removed on all boxes supposed to start via UEFI SC from kernel configs to make them "skinny".

After I left the option, the most recent 375.26 driver also worked for me.

But still the console is garbage on vt() :-(

Hope this gets fixed in near future.

Thanks,

Oliver