News for hackers. Stuff that matters.
Re:John Carmack is reading and contributing to OpenBSD sourc... by loeg on Monday May 18, 2020 @05:51PM (#23228805)
Nvshim is an amazing project, but it is a far cry from official Nvidia support for CUDA/NVENC/NVDEC.

(All Nvidia would have to do is build another binary; it's still chatting with the same driver blob internally so it's not really clear to me why they don't bother compiling it for FreeBSD.)

Re:John Carmack is reading and contributing to OpenBSD sourc... by LargoLasskhyfv on Monday May 18, 2020 @06:57PM (#23229351)
They could even do it with less churn, because of https://github.com/freebsd/freebsd/blob/master/sys/conf/opti... FreeBSD easily achieves binary compatibility with earlier versions. So no need to mess around with DKMS or their own thing. Or at least less so.
Re:John Carmack is reading and contributing to OpenBSD sourc... by floatboth on Monday May 18, 2020 @08:39PM (#23230072)
> FreeBSD easily achieves binary compatibility with earlier versions. So no need to mess around with DKMS

Binary compatibility is for userspace programs, not kernel modules.

Re:John Carmack is reading and contributing to OpenBSD sourc... by LargoLasskhyfv on Monday May 18, 2020 @08:54PM (#23230177)
Ahem. Tell that to all the binary drivers for network cards and raid controllers which relied on that functionality, which i happened to use not all that long ago.
Re:John Carmack is reading and contributing to OpenBSD sourc... by loeg on Monday May 18, 2020 @08:53PM (#23230169)
GP's link is to the COMPAT_FREEBSD binary compatibility for earlier versions of FreeBSD, oddly. I don't think it (or linux emulation) has anything to do with Nvidia's needs re: CUDA/NVENC.
Re:John Carmack is reading and contributing to OpenBSD sourc... by LargoLasskhyfv on Monday May 18, 2020 @08:58PM (#23230207)
It means you have a module from some vendor, or something similar to the NVIDIA installer for linux, which technically is nothing else than a batch compiled makefile, spitting out a kernel-module made for version 1.2.3 while you are running 2.4.5. It worked. I don't know why it shouldn't now.

Edit: I'm not having any FreeBSD systems in use right now, so i don't know if they changed the defaults. What i remember is at least the last two versions were compiled into GENERIC, so you didn't even had to compile your own kernel when that range backwards was enough.

Similar thing in NetBSD, a loooong time ago, even their own driver for 3Com905 relied on the equivalent of that functionality. That caught me by surprise, because i used NetBSD like Gentoo, found some Compat foobarjurassicBSD, wondered why i should use that at all, and had no working net. Fun! :-)

Re:John Carmack is reading and contributing to OpenBSD sourc... by loeg on Monday May 18, 2020 @10:37PM (#23230786)
That's not how the nvidia binary blob works in FreeBSD. Instead, there is some compiled-from-source-code OS portability glue, which is compiled against the target version of the FreeBSD kernel. Then the binary blob links the portability glue.

I believe something similar is done in Linux. The difference in experience may come from FreeBSD maintaining a stable KBI over a release version (e.g., stable/12), while Linux aggressively does not maintain any KBI stability; hence the need for DKMS/akmods.

This is unrelated to COMPAT_FREEBSD.

Re:John Carmack is reading and contributing to OpenBSD sourc... by LargoLasskhyfv on Tuesday May 19, 2020 @07:45AM (#23233766)
Sigh. Been typing too fast as usual. I know thats not the way the Nvidia-thing works, instead doing the glue-thing which interfaces to the binary blob like you mentioned. But it could (instead of that)! That's what i meant to say.
Re:John Carmack is reading and contributing to OpenBSD sourc... by mycall on Monday May 18, 2020 @08:20PM (#23229940)
If anyone has any clout to get this to happen, John Carmack perhaps would.