On Mon, Jan 23, 2017 at 6:59 AM, Nicolas Chauvet <kwizart@gmail.com> wrote:
2017-01-23 9:43 GMT+01:00 Leigh Scott <leigh123linux@googlemail.com>:
> I would like to implement DKMS support for the nvidia driver.
> Adding the support would add much to the work load and would offer users the choice of what they use.
Still relevant today: http://www.islinuxaboutchoice.com/
Quoting:
"Software is hard.  The way to fix it is to fix it, not sweep it under the rug."

I'm not opposed to this, but I'm not fond of either. I prefer to only
have one codepath and fix it instead of two unfixed.

So to be more accurate, I don't think the recent issue raised by
akmods users can be solved by dkms.
- Users reboot before the kmod is built by akmod for the next kernel
(we need to implement inhibitor for that).

I'm still experimenting with my setup to use a systemd service instead of just running the akmods script via kernel posttrans. So far it seems to work but I'm nervous about implementing it without wider testing. I may create a test package for some brave souls. It does specifically have a conflict with the shutdown target but I'm not sure if that would inhibit and attempted shutdown/reboot or not. 

 
- module isn't loaded if build/install is occurring during boot.
(previous workaround was to have an explicit modprobe nvidia after
akmod.service, there is a need for a better workaround).
I've tried to contact some at #nouveau, there is a need to dive into
the nouveau drm code. What I would expect is a userspace tool to
trigger (again) the kernel module loading mechanism on related
hardware.

Are you completely against the modprobe method universially or because it was done blindly? I could come up with a script that would only perform the modprobe if there was a module to load (and make it more universal)...

for module in $(ls /usr/lib/modules/$(uname -r)/extra/)
    do modprobe $module
done

Or something to that effect.

 
- Probably the akmod script should be triggered earlier (as soon as
the kernel-devel is installed , instead of a kernel postrans). Then
hold a lock on dnf so it can install right after the transaction ends.
- Need better testing with offline update, but assuming dkms work
wihtout testing it is not an acceptable argument.

Even better would be a way to add a package to the current transaction but that would be very complicated...

Thanks,
Richard