Kernel 4.4.172 on Slackware64 and NVIDIA
Today, I noticed the kernel update to 4.4.172 from Security Advisories and updated my system. After rebooting the system, it couldn't start my X-Window system! It just failed. From the log file, I was able to determine that there was some kind of incompatibility with current NVIDIA driver.
After much of trial-and-error, I was able to install the correct NVIDIA driver for my system and got X-Window system running again. This is just a note to myself and others who might face the same issues, and hopefully they don't need to go through all the troubles.
Disclaimer:
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.
First of all, I just go though the ways to install package updates from the slackware website, just for a formality. The procedure was pretty simple and I followed the instruction in that page (well, most of the part).
$ cd /tmp/patches
$ wget ftp://ftp.slackware.com/pub/slackware/slackware64-14.2/patches/packages/*.txz
# upgradepkg *.txz
...
#
Now, download the kernel packages:$ wget ftp://ftp.slackware.com/pub/slackware/slackware64-14.2/patches/packages/linux-4.4.172/*.txz
# upgradepkg kernel-*.txz
...
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.172 | bash
...
The instruction says to run the lilo command to reinstall lilo:# lilo
Fatal: open /boot/vmlinuz-generic=4.4.xx: No such file or directory
Oops, it looks like I do need to update the lilo.conf file to reflect with new updated kernel image and version. To do this, open the /etc/lilo.conf file and point to the right image name and label:# nvim /etc/lilo.conf
...
image = /boot/vmlinuz-generic-4.4.xx <-- Change this to /boot/vmlinuz-generic-4.4.172
initrd = /boot/initrd.gz
root = /dev/sda2
label = 4.4.xx <-- Change this to 4.4.172
read-only
...
Then, re-run the lilo command:# lilo
Added 4.4.172 + *
# reboot
After rebooting and loging in, startx failed.
The log, /var/log/Xorg.0.log, indicates something about nvidia driver missing, so I figured there was an incompatibility with the updated kernel. Then, I google'ed for a solution and learned that SlackBuilds.org had NVIDIA driver packages (418.43).
I downloaded and installed. During the installation, it warned that this driver packages were not compatible with my NVIDIA card, GeForce GTS 450, and recommended to use 390.xx. Of course, installation of this packages didn't fix the problem.
Then, I searched the nvidia site for the correct driver for my card and found 390.87. But this driver always failed to build against the kernel 4.4.172. I desperately searched the Net for a solution but couldn't find any. So, I went back to the nvidia site for older drivers to try on. Under the Beta and older version link, I found the newer version 390.116, which was released a few weeks ago. This driver set does support my old card, GeForce GTS 450, so I gave it a shot.# sh NVIDIA-Linux-x86_64-390.116.run
...
The installation went successful without any issues. Moreover, startx was able to bring up the X-Window system!
That's all!
-gibb