nvidia-legacy304-kernel on -current
by JayByrd from LinuxQuestions.org on (#5P20J)
I figured I'd start a separate thread here at this point, if for no other reason, so as to avoid further clogging ponce's SBo-on-current thread! ;)
Here's what we know so far: with some minor hacking/patching nvidia-legacy304 compiles and runs on Slackware -current. (kernel 5.13.13)
Here's the catch: to use it, you must compile your own kernel. (The only way to avoid rolling-your-own kernel is if your kernel is below v5.8.) These days, post v5.8, nvidia needs the "lkdtm.ko" kernel module to survive.
According to kernel docs, this module is really only used for testing/intentional-crashing, etc. I imagine only kernel devs and such would ever utilize the module functions day-to-day. (LKDTM -> Linux Kernel Dump Test Module:)) We need one of those functions, however: the nvidia code relies on the native_write_cr4() syscall. Before v5.8 we could access this syscall without the lkdtm module. But since then, the native_write_cr4 functionality is exposed if and only if lkdtm is present. :(
All the stock Slackware kernel configs lack the required lkdtm module. Since it is such an obscure, little-used, and potentially abused kind of module, it only makes sense that Slackware--and other distros--disable it by default.
Personally, I'm gonna risk it. Now that I've actually gotten my QuadroFX 3500 humming on -current, I'll start "rolling my own." It works, so it avoids the landfill... for a while longer, anyway...
I don't know if anybody else out there is still running an nvidia that's too old for 340-108, but if so, I hope to have the revised SlackBuild script ready soon.
After that, I may even look into the native_write_cr4() situation and perhaps find an alternative syscall that nvidia's code could utilize. (That'll take a lot more reading--if I'm still up for more.;))
Here's what we know so far: with some minor hacking/patching nvidia-legacy304 compiles and runs on Slackware -current. (kernel 5.13.13)
Here's the catch: to use it, you must compile your own kernel. (The only way to avoid rolling-your-own kernel is if your kernel is below v5.8.) These days, post v5.8, nvidia needs the "lkdtm.ko" kernel module to survive.
According to kernel docs, this module is really only used for testing/intentional-crashing, etc. I imagine only kernel devs and such would ever utilize the module functions day-to-day. (LKDTM -> Linux Kernel Dump Test Module:)) We need one of those functions, however: the nvidia code relies on the native_write_cr4() syscall. Before v5.8 we could access this syscall without the lkdtm module. But since then, the native_write_cr4 functionality is exposed if and only if lkdtm is present. :(
All the stock Slackware kernel configs lack the required lkdtm module. Since it is such an obscure, little-used, and potentially abused kind of module, it only makes sense that Slackware--and other distros--disable it by default.
Personally, I'm gonna risk it. Now that I've actually gotten my QuadroFX 3500 humming on -current, I'll start "rolling my own." It works, so it avoids the landfill... for a while longer, anyway...
I don't know if anybody else out there is still running an nvidia that's too old for 340-108, but if so, I hope to have the revised SlackBuild script ready soon.
After that, I may even look into the native_write_cr4() situation and perhaps find an alternative syscall that nvidia's code could utilize. (That'll take a lot more reading--if I'm still up for more.;))