No hardware working on Ubuntu 16.04 kernel 4.4.0-78-generic

On Ubuntu 16.04 I use kernel 4.4.0-78-generic for compatibility with Cuda 9 but since switching to this kernel my mouse, keyboard, wireless adapter and speakers don't work. I managed to switch to a newer mouse and keyboard temporarily which worked out the box but the speakers don't work still and I'm having to use an ethernet cable to access the internet.

I've tried for many hours to resolve each issue independently to no avail. My sense is it's somehow related to the kernel as when I do certain sudo modprobe commands I get told things like FATAL: Module snd-hda-intel not found in directory /lib/modules/4.4.0-78-generic but when I look in the 4.13.0-38-generic folders then the files are consistently there.

Any help appreciated, I'm at my wits end.


Solution 1:

This answer is now a duplicate of How do I install NVIDIA and CUDA drivers into Ubuntu?


NOTE: I have only verified this works with 16.04 and 17.10. Just tried 18.04 and it does not work.


Try installing the Cuda by doing the repo installation instead of the .deb installation.

First, remove any cuda PPAs that may be setup and also remove the nvidia-cuda-toolkit if installed:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit

Might also want to remove all nvidia drivers too before installing new drivers:

sudo apt remove nvidia-*

Then update the system:

sudo apt update

Install the key:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

Add the repo:

16.04

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

17.10

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

Update the system again:

sudo apt update

Now you should be able to install the cuda-9-1:

sudo apt install cuda-9-1

There are CUDA 9.0 and CUDA 9.2 as well, and they are listed at the bottom.

It should be installing the nvidia-396 (396.44) drivers with it as those are what are listed in the repo. See: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/

Verify that Cuda 9.1 was installed:

~$ ls /usr/local/cuda-9.1/
bin     include    libnvvp           nvml    samples  targets
doc     lib64      LICENSE           nvvm    share    tools
extras  libnsight  nsightee_plugins  README  src      version.txt

Now, add the following to your ~/.profile for the PATH and LD_LIBRARY. You can use the command gedit ~/.profile for editing:

# set PATH for cuda 9.1 installation
if [ -d "/usr/local/cuda-9.1/bin/" ]; then
    export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Reboot your system.

sudo reboot

Once the system is up, you can verify the installation by typing in the following:

nvcc -V

You should see the following:

~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

And you should see the 396.44 drivers installed:

~$ nvidia-smi
Thu May 17 07:38:54 2018        
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 760     Off  | 00000000:02:00.0 N/A |                  N/A |
| 49%   53C    P0    N/A /  N/A |    187MiB /  1999MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

EDIT 05/28/2018: The following steps work fine for Cuda 9.2 as well. Just change the installation to

sudo apt install cuda-9-2

and make sure you change the .profile section to:

# set PATH for cuda 9.2 installation
if [ -d "/usr/local/cuda-9.2/bin/" ]; then
    export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

EDIT 07/11/2018: The following steps work fine for Cuda 9.0 as well. Just change the installation to

sudo apt install cuda-9-0

and make sure you change the .profile section to:

# set PATH for cuda 9.0 installation
if [ -d "/usr/local/cuda-9.0/bin/" ]; then
    export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Hope this helps!