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 もブラックリストに登録しました。Nvidia ドライバーを deb パッケージ経由でインストールしたり、Nvidia ドライバーの Web サイトからダウンロードしたりしてみました。また、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 には、nouveau ドライバーをブラックリスト化し、エイリアスを削除する行を含む nvidia-375_hybrid.conf と nvidia-375_hybrid.conf の 2 つのファイルが必要です。/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) があります。

関連情報