On 01/23/17 20:59, Nicolas Chauvet wrote:
2017-01-23 9:43 GMT+01:00 Leigh Scott
<leigh123linux(a)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).
- 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.
- 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.
Those issues affect all akmod users, so they won't be perfectly hidden
under the carpet by just migrating nvidia.
So I'm not fund of moving to dkms, but I won't hold the proposition
either. It means +0 for me.
I don't see a need for adding dkms support either. But the akmods method does need
enhancement.
1. Yes, users reboot before kmod is built. Then they panic when they have a flashing
cursor as it is being built on reboot. So, there needs to be either an inhibitor as you
mention and/or a way to inform the user on reboot that the kmod is being built.
2. Some folks will have the dnf "tracer" plugin installed. This is supposed to
tell the
user what processes need to be restarted or if a reboot is needed after updates are done.
But with this plugin enabled the kmods will fail to install. So, even if the user waits
enough time for the kmods to build they won't be installed. This will again result in
a
flashing cursor at reboot and panic the user that is accustomed to a quick boot process.