Ubuntu 16.04 内核 4.4.0-78-generic 上没有硬件可以工作

Ubuntu 16.04 内核 4.4.0-78-generic 上没有硬件可以工作

在 Ubuntu 16.04 上,我使用内核 4.4.0-78-generic 来兼容库达 9但自从切换到这个内核后,我的鼠标、键盘、无线适配器和扬声器就无法工作了。我设法暂时换了新的鼠标和键盘,虽然可以正常工作,但扬声器仍然无法工作,我不得不使用以太网电缆来访问互联网。

我尝试了好几个小时来单独解决每个问题,但都无济于事。我的感觉是它与内核有某种关系,因为当我执行某些sudo modprobe命令时,我会收到类似这样的提示FATAL: Module snd-hda-intel not found in directory /lib/modules/4.4.0-78-generic,但当我查看 4.13.0-38-generic 文件夹时,这些文件始终在那里。

任何帮助都值得感激,我已经束手无策了。

答案1

此答案现在与如何在 Ubuntu 中安装 NVIDIA 和 CUDA 驱动程序?


笔记:我只验证了它在 16.04 和 17.10 上有效。刚试过 18.04,它不起作用。


尝试通过 repo 安装而不是安装来安装 Cuda .deb

首先,删除所有可能安装的 cuda PPA,并删除nvidia-cuda-toolkit已安装的:

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

在安装新驱动程序之前可能还需要删除所有 nvidia 驱动程序:

sudo apt remove nvidia-*

然后更新系统:

sudo apt update

安装密钥:

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

添加仓库:

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'

再次更新系统:

sudo apt update

现在您应该可以安装 cuda-9-1:

sudo apt install cuda-9-1

还有 CUDA 9.0 和 CUDA 9.2,它们列在底部。

它应该会安装 nvidia-396 (396.44) 驱动程序,因为这些驱动程序在 repo 中列出。请参阅: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/

验证 Cuda 9.1 是否已安装:

~$ 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

现在,将以下内容添加到您的~/.profileforPATH和中LD_LIBRARY。您可以使用命令gedit ~/.profile进行编辑:

# 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

重新启动系统。

sudo reboot

系统启动后,您可以通过输入以下内容来验证安装:

nvcc -V

您应该看到以下内容:

~$ 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

您应该看到396.44已安装的驱动程序:

~$ 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                                       |
+-----------------------------------------------------------------------------+

编辑于 2018/05/28: 以下步骤同样适用Cuda 9.2。只需将安装更改为

sudo apt install cuda-9-2

并确保将该.profile部分更改为:

# 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

编辑于 2018 年 7 月 11 日: 以下步骤同样适用Cuda 9.0。只需将安装更改为

sudo apt install cuda-9-0

并确保将该.profile部分更改为:

# 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

希望这可以帮助!

相关内容