![在 Ubuntu 16.04.02 上禁用 Nouveau 内核驱动程序](https://linux22.com/image/1000451/%E5%9C%A8%20Ubuntu%2016.04.02%20%E4%B8%8A%E7%A6%81%E7%94%A8%20Nouveau%20%E5%86%85%E6%A0%B8%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我尝试了各种论坛上的所有解决方案。目前,我已经无计可施,无法禁用 Nouveau 驱动程序并安装 Nvidia 驱动程序。我尝试过清除/删除以前的 Nvidia、黑名单文件等,但我无法禁用 nouveau。
输出lspci -vnn | grep -i VGA -A 12
lspci: Unable to load libkmod resources: error -12
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107GL [Quadro K620] [10de:13bb] (rev a2) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company GM107GL [Quadro K620] [103c:1098]
Physical Slot: 2
Flags: bus master, fast devsel, latency 0, IRQ 30
Memory at f2000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at 1000 [size=128]
Expansion ROM at f3080000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nouveau
02:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc] (rev a1)
我还将 nouveau 列入了黑名单。我尝试通过 deb 包安装 Nvidia 驱动程序,并从 Nvidia 驱动程序网站下载。我还更新了 intramfs 以通过 noveau 进行修剪。
我的 Ubuntu 发行版的详细信息
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
PS - Mu 的最终目标是安装 CUDA 驱动程序和工具包。
答案1
首先,请确保您已启用受限存储库。它们位于 /etc/apt/sources.list 中,可能已用 # 注释掉。删除行首的 #。您可能会看到以下几个类似内容:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe multiverse restricted #Added by software-properties
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main universe multiverse restricted #Added by software-properties
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb-src http://security.ubuntu.com/ubuntu xenial-security main universe multiverse restricted #Added by software-properties
然后更新你的包索引:
sudo apt-get update
nvidia 375 包是标准存储库中最新的包,但是如果您想尝试,也可以使用 381 包——它修复了一些睡眠引起的瑕疵,但还没有经过充分的测试。
我的设置是 quadro 1000M,并且我拥有的 nvidia 375 包是:
nvidia-375
nvidia-375-dev
nvidia-modprobe
nvidia-opencl-icd-375
nvidia-prime
nvidia-设置
清除所有以前安装的 nvidia 包,并检查 /etc/modprobe.d 中的任何文件中是否有 nvidia 的黑名单行,
使用以下命令安装以上所有内容:
sudo apt-get install nvidia-375 nvidia-375-dev nvidia-modprobe nvidia-opencl-icd-375 nvidia-prime nvidia-settings
重新启动并查看 nvidia 驱动程序是否正在被使用:
sudo lshw -C video
您应该在 /etc/modprobe.d 中有两个文件,nvidia-375_hybrid.conf 和 nvidia-375_hybrid.conf,其中有几行将 nouveau 驱动程序列入黑名单并删除任何别名。检查 /etc/modules 中是否没有 nouveau,以及 /etc/rc.local 中是否没有任何加载 nouveau 的内容。最后,检查 dmesg 输出,应该看不到 nouveau:
dmesg |grep nouveau
nvidia 的 dmesg 输出看起来应该类似于:
$ dmesg |fgrep -i nvidia
[ 1.145050] nvidia: module license 'NVIDIA' taints kernel.
[ 1.150438] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 1.154278] nvidia 0000:01:00.0: enabling device (0000 -> 0003)
[ 1.154407] nvidia-nvlink: Nvlink Core is being initialized, major device number 244
[ 1.154417] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 375.39 Tue Jan 31 20:47:00 PST 2017 (using threaded interrupts)
[ 1.155859] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 375.39 Tue Jan 31 19:41:48 PST 2017
[ 1.156840] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 14.454118] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 240
[ 35.821752] nvidia-modeset: Allocated GPU:0 (GPU-821d0db5-a56d-9fdf-72cc-d0eab575873a) @ PCI:0000:01:00.0
最后,lsmod 应该包含几个 nvidia 模块,但没有 nouveau。
安装 nvidia 驱动程序后,您应该能够安装 Intel cuda .deb 包。dpkg -i
然后使用 apt-get 安装 cuda 和 cuda-toolkit,它们应该会引入许多其他 cuda 包。
阅读英特尔说明,将 CUDA 位置添加到您的 PATH 和 LD_LIBRARY_PATH
将示例从 cuda 安装目录复制到您的主目录或您有写入权限的任何地方,以便您可以运行 make 来构建示例。另外,我假设您已经安装了 g++,也许还安装了 build-essential gcc 应该默认存在,并且 16.04 具有适合编译器的正确版本 (5)。