Ubuntu 16.04
uname -a
の出力:
Linux Host 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
デスクトップグレード:
私が欲しいもの:
私の問題:
nvidia-smi
もnvidia-settings
も動作せず、nvidia GPUを制御できません(エラーはさらに下に引用されています)私の物語:
私の問題の短い要約の後、トピックに飛び込みたい。 Ubuntu 16.04のリリース以来、私はいじくり回しており、次のことを達成できていません。
私の初期状態の短い要約:
Apt-getを介してnvidiaとintel(intel-microcodeとnvidia-361.42)の専用ドライバーをインストールし、mokutul --disable-validationを介してセキュアブートを無効にしました。
次に、Intelカードを使用するようにnvidia-primeを設定しました。
次に、xorg.confを編集して、intel gpuとintelドライバーを含む1つの画面のみを表示しました。 (必要に応じて詳細をお尋ねください)
GPUをBlenderでレンダリングするためにテストしたところ、すべてが正常に見えましたが、gpuの統計情報を取得できず、nvidia-settingsが空に見えました。
エラー:
Sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
リリース以来、これまでのすべての試みと研究を通して学んだこと(短いバージョン、いつでも詳細を尋ねる):
私の2つの問題は関連していますが、同じではありません。
Nvidia-settings Empty:
Nvidia-smiが機能しない:
/usr/lib/nvidia-361/ld.so.conf
(nvidia GPUを選択)または/usr/lib/nvidia-361-prime/ld.so.conf
(intel GPUを選択)に変更します私の仮定:
私の試み:
私の質問:
1)nvidia-smi問題を解決するにはどうすればよいですか?私は正しい軌道に乗っていますか?誰かが私がどのように進めることができるかについての指示を持っていますか?
2)gpuのXserverなしで(xorg.confのgpuの画面なしで)nvidia gpu(xorg.confのcoolbits)のファン制御と追加制御を有効にすることは可能ですか?
返事に対して事前に感謝します。私は文字通りウェブをとかしました、くしは私の問題です。
重要な情報を見逃した場合は、ログファイルなどを要求することをtellしないでください。
ありがとう
受け入れられた回答は、Xサーバーを使用してNvidiaデバイスを有効にします。これは必要ではなく、Xサーバーがカードのメモリを使用することを意味します。
代わりに、ドライバーFAQで説明されているようにnvidia-modprobe
をインストールする必要があります(以下のリンクにあります)。
私の推奨する解決策は次のとおりです。
1) ftp://download.nvidia.com/XFree86/Linux-x86_64/ のrunfileを使用して、--no-opengl-files
および--dkms
フラグを指定して、最新のNvidiaドライバーをインストールします。
2) ftp://download.nvidia.com/XFree86/nvidia-modprobe/ からnvidia-modprobe
およびmake all
を介して対応するSudo make install
バージョンをインストールします
--dkms
フラグは、カーネルをアップグレードするときにカーネルモジュールが確実に再コンパイルされるようにします。
私(この投稿の作成者)は、自分で必要な解決策を見つけました!
同様の状況にあり、このヘルプを必要とする他の人のためのソリューションを説明します!
解決:
NVIDIAドライバーのインストールVIA提供されるRUNFILE AT http://www.nvidia.com/object/unix.html FLAG "--no-opengl-files" !!
これは、nvidia openglファイルが既存のmesaファイルを上書きするのを防ぐだけでなく、nvidia primeなしでドライバーをインストールします!!
したがって、リポジトリからドライバーをインストールするのではなく、ドライバーを手動でインストールするだけで、私の問題はすべて解決されます。リポジトリからのパッケージは「Optimus-Friendly」であるため、無駄なトラブルメーカーがすべてバンドルされています。
二度目
xorg.confを専用GPU用の別の画面で拡張して、nvidia-settingsにエントリがあるようにします。
私のはこんな感じ
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "intel" 0 0
Screen 1 "nvidia550ti" 3000 0
EndSection
Section "Device"
Identifier "intel"
Driver "intel"
BusID "PCI:0@0:2:0"
EndSection
Section "Device"
Identifier "nvidia550ti"
Driver "nvidia"
BoardName "GeForce GTX 550ti"
BusID "PCI:2@0:0:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Screen"
Identifier "nvidia550ti"
Device "nvidia550ti"
Option "AllowEmptyInitialConfiguration" "on"
Option "Coolbits" "4"
Option "ConstrainCursor" "on"
EndSection
上記のソリューションで述べたように、openglなしでnvidiaドライバーを再インストールしましたが、うまくいきませんでした。さらに、これらのソリューションは、ドライバの一部の機能(opengl)を削除することを意味するため、非常に不十分です。
ドライバーを再インストールする必要のない、はるかに簡単なソリューションを見つけました。
export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH
インストールされているドライバーによっては、ライブラリパスに別のフォルダーを追加する必要がある場合があることに注意してください(例:/ usr/lib/nvidia-384)。
このコマンドをファイル〜/ .bashrcに追加して、新しいbashをロードするときにパスを自動的にエクスポートできます。
私はあなたが望む設定を取得しました(私もそれが欲しかったです;)):
- intel GPUは、オンボードDPに接続されているxserverとモニターを実行します。
- nvidia GPUは、CUDA固有の計算などにのみ使用されます。
- nvidia GPUを完全に制御(リアルタイム、統計、温度ファンの速度...)
bumblebee
を使用します。
ただし、詳細を説明する前に、nvidia-settingsまたはxorg.confまたはnvidia primeの構成を変更する場合、システムを再起動する必要があることを警告する必要があります(おそらく既に知っています)。再起動しないと、システムが一貫性のない状態になる可能性があります。
私の構成では、xorg.conf
には触れませんでした。私にとってそうすることは、常に痛みの原因でした。元の状態のままにしてください。新規インストールを実行したくない場合は、/etc/X11/
(ls /etc/X11/xorg.conf*
)でいくつかのバックアップを見つけることができます。
最初のステップは、nvidia-settings
を機能させることです。成功した場合は、すでに述べたように、nvidia PRIMEを使用してIntel GPUに切り替えることができます。 NVIDIA GPUをCUDA計算にのみ使用する場合は、NVIDIA GPUをインテルGPUにポイントする必要があります(CUDAデバッガーcuda-gdb
を使用する場合は特に必要です)。
その後、 bumblebee をインストールしてみてください:
Sudo apt install bumblebee
リブート。を使用してバンブルビーの状態を監視できます
Sudo service bumblebeed status
または
bumblebeed -vv
Bumblebeeは、NVIDIA GPUをアクティブにし、必要な場合にのみカーネルにnvidiaドライバーを挿入しようとします。実行するコマンドの前にoptirun
を追加することにより、bumblebeeを使用できます。
マルハナバチを機能させるには、/etc/bumblebee/bumblebee.conf
を手動で編集して、nvidiaドライバーの名前とパスを正しく設定する必要がありました。
[...]
Driver=nvidia
[...]
KernelDriver=nvidia_361
[...]
LibraryPath=/usr/lib/nvidia-361:/usr/lib32/nvidia-361
その後、Sudo service bumblebeed restart
の後、バンブルビーシステムをアクティブにすることができました。
実際、nvidia-smi
は戻ります
$ nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
しかしoptirun nvidia-smi
:
$ optirun nvidia-smi
Fri Jun 17 11:47:48 2016
+------------------------------------------------------+
| NVIDIA-SMI 361.42 Driver Version: 361.42 |
|-------------------------------+----------------------+----------------------+
| 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 970M Off | 0000:01:00.0 Off | N/A |
| N/A 53C P1 18W / N/A | 18MiB / 3071MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 20678 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+
お役に立てれば。
主にリマインダーとして:ubuntu 18.04でレンダリングにigpuを使用し、cudaにnvidia gpuを使用し、デフォルトのnvidiaドライバーをインストールし、nvidia-settingsを開き、intel gpuを使用するように設定します。その後、nouveauドライバーとnvidiaドライバーの一部をブラックリストに追加します。
/etc/modprobe.d/blacklist-nvidia.confを開き、次のように行をコメントします。
#blacklist nvidia
blacklist nvidia-drm
#blacklist nvidia-modeset
#alias nvidia off
alias nvidia-drm off
#alias nvidia-modeset off
その後、/ etc/modprobe.d/blacklist-nvidia-nouveau.confを開き、次の行を追加します。
blacklist nouveau
options nouveau modeset=0
nouveauが無効になっていることを確認するには、/ etc/modprobe.d/blacklist.confでそれらをブラックリストに追加することもできます。最後に追加します。
#Blacklist nouveau drivers
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off
その後再起動します。
nvidia-smi
と入力してnvidiaがロードされていることを確認し、lspci -nnk | grep -iA2 3D
と入力して使用中のドライバーを確認するとnvidiaであり、nouveauではありません。