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

Use*_*789 5 mouse sound kernel drivers 16.04

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

我已经尝试了很多小时来独立解决每个问题,但无济于事。我的感觉是它与内核有某种关系,因为当我执行某些sudo modprobe命令时,我会被告知诸如此类的事情,FATAL: Module snd-hda-intel not found in directory /lib/modules/4.4.0-78-generic但是当我查看 4.13.0-38-generic 文件夹时,这些文件始终存在。

任何帮助表示赞赏,我无能为力。

Ter*_*nce 7

这个答案现在是如何在 Ubuntu 中安装 NVIDIA 和 CUDA 驱动程序的副本


注意:我仅在 16.04 和 17.10 上验证过此功能。刚试过 18.04 还是不行。


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

首先,删除任何可能设置的 cuda PPA,并删除nvidia-cuda-toolkitif 安装:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)

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

sudo apt remove nvidia-*
Run Code Online (Sandbox Code Playgroud)

然后更新系统:

sudo apt update
Run Code Online (Sandbox Code Playgroud)

安装密钥:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
Run Code Online (Sandbox Code Playgroud)

添加回购:

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'
Run Code Online (Sandbox Code Playgroud)

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'
Run Code Online (Sandbox Code Playgroud)

再次更新系统:

sudo apt update
Run Code Online (Sandbox Code Playgroud)

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

sudo apt install cuda-9-1
Run Code Online (Sandbox Code Playgroud)

还有 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
Run Code Online (Sandbox Code Playgroud)

现在,将以下内容添加到您~/.profilePATHLD_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
Run Code Online (Sandbox Code Playgroud)

重新启动系统。

sudo reboot
Run Code Online (Sandbox Code Playgroud)

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

nvcc -V
Run Code Online (Sandbox Code Playgroud)

您应该看到以下内容:

~$ 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
Run Code Online (Sandbox Code Playgroud)

您应该会看到已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                                       |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

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

sudo apt install cuda-9-2
Run Code Online (Sandbox Code Playgroud)

并确保您将该.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
Run Code Online (Sandbox Code Playgroud)

编辑 07/11/2018: 以下步骤Cuda 9.0也适用。只需将安装更改为

sudo apt install cuda-9-0
Run Code Online (Sandbox Code Playgroud)

并确保您将该.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
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 特伦斯,谢谢你。我实际上尝试了内核 4.13,它似乎解决了这个问题。进一步阅读后,我认为这是因为我实际上安装了 cuda 9.0(不是 9.1)……我认为 4.13 确实存在问题,如下所示:https://devtalk.nvidia.com/default/topic/1028802/cuda- setup-and-installation/problems-with-cuda-9-1-in-ubuntu-16-04/2 (3认同)