在 Ubuntu 16.04.02 上停用 Nouveau 核心驅動程式

在 Ubuntu 16.04.02 上停用 Nouveau 核心驅動程式

我已經嘗試了各種論壇上的所有解決方案。目前,我束手無策,無法停用 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 驅動程式網站下載。我還更新了要由 noveau 修剪的 Intramfs。

我的 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-settings

清理之前安裝的所有 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 軟體包。

閱讀 Intel 說明,將 CUDA 位置新增至您的 PATH 和 LD_LIBRARY_PATH
將範例從 cuda 安裝目錄複製到您的家庭或您有寫入權限的任何位置,以便您可以執行 make 來建立範例。另外,我假設您已經安裝了 g++,並且可能是 build-essential gcc 預設應該存在,並且 16.04 具有適合編譯器的正確版本 (5)。

相關內容