我已經嘗試了各種論壇上的所有解決方案。目前,我束手無策,無法停用 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)。