ubuntu@xenialoem:~$ grep -i dkms /var/log/syslog
Dec 15 20:39:00 xenialoem sh[1057]: Creating symlink /var/lib/dkms/nvidia-384/384.90/source ->
Dec 15 20:39:00 xenialoem sh[1057]: DKMS: add completed.
Dec 15 20:39:00 xenialoem sh[1057]: * dkms: running auto installation service for kernel 4.4.0-103-generic
Dec 15 20:40:29 xenialoem sh[1057]: DKMS: build completed.
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/4.4.0-103-generic/updates/dkms/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/4.4.0-103-generic/updates/dkms/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/4.4.0-103-generic/updates/dkms/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/4.4.0-103-generic/updates/dkms/
Dec 15 20:40:32 xenialoem sh[1057]: DKMS: install completed.
ubuntu@xenialoem:~$ last | grep boot
reboot system boot 4.4.0-103-generi Fri Dec 15 20:38 still running
reboot system boot 4.4.0-103-generi Fri Dec 15 20:12 still running
But I hear about a use case where a user might not be running the display-manager.service or oem-config.service on which this dkms deferred build systemd service depends on. I am waiting to get more details.
I tested this in a VM using the default xenial cloud image (ie. "uvt-kvm create xenialoem release=xenial").
With the current nvidia-384 384.90- 0ubuntu0. 16.04.2 package, the nvidia dkms module doesn't get built after the reboot:
$ sudo apt update not_build_ dkms_module
$ sudo touch /tmp/do_
$ sudo apt install nvidia-384
$ dkms status
bbswitch, 0.8, 4.4.0-103-generic, x86_64: installed
$ sudo reboot
$ dkms status
bbswitch, 0.8, 4.4.0-103-generic, x86_64: installed
With the new nvidia-384 384.90- 0ubuntu0. 16.04.3 package, the nvidia dkms module DOES get built after the reboot:
$ sudo apt update not_build_ dkms_module sources. list # adding xenial-proposed
$ sudo touch /tmp/do_
$ sudo vi /etc/apt/
$ sudo apt update
$ sudo apt install nvidia-384
$ dkms status
bbswitch, 0.8, 4.4.0-103-generic, x86_64: installed
$ sudo reboot
$ dkms status
bbswitch, 0.8, 4.4.0-103-generic, x86_64: installed
nvidia-384, 384.90: added
ubuntu@xenialoem:~$ grep -i dkms /var/log/syslog dkms/nvidia- 384/384. 90/source -> 4.4.0-103- generic/ updates/ dkms/ 4.4.0-103- generic/ updates/ dkms/ 4.4.0-103- generic/ updates/ dkms/ 4.4.0-103- generic/ updates/ dkms/
Dec 15 20:39:00 xenialoem sh[1057]: Creating symlink /var/lib/
Dec 15 20:39:00 xenialoem sh[1057]: DKMS: add completed.
Dec 15 20:39:00 xenialoem sh[1057]: * dkms: running auto installation service for kernel 4.4.0-103-generic
Dec 15 20:40:29 xenialoem sh[1057]: DKMS: build completed.
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/
Dec 15 20:40:29 xenialoem sh[1057]: - Installing to /lib/modules/
Dec 15 20:40:32 xenialoem sh[1057]: DKMS: install completed.
ubuntu@xenialoem:~$ last | grep boot
reboot system boot 4.4.0-103-generi Fri Dec 15 20:38 still running
reboot system boot 4.4.0-103-generi Fri Dec 15 20:12 still running
But I hear about a use case where a user might not be running the display- manager. service or oem-config.service on which this dkms deferred build systemd service depends on. I am waiting to get more details.