GPU(GTX 1060)からIGPU(Intel 530)に切り替えるたびに、起動できません。ロード画面に次のメッセージが表示されたままになります。
[失敗] NVIDIA Persistence Daemonの起動に失敗しました。詳細については、「systemctl status nvidia-persistenced.service」を参照してください。
ただし、Nvidia GPUに切り替えて、IGPUに切り替えると、一時的に再起動せずに起動できます。 Kubuntu 16.10を使用していますが、内部のラップトップディスプレイのみを使用しています。これは、igpuに切り替えたときの出力です。
Sudo prime-select intel
Info: the current GL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: the current EGL alternatives in use are: ['nvidia-378', 'nvidia-378']
Info: selecting nvidia-378-prime for the intel profile
update-alternatives: using /usr/lib/nvidia-378-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode
Sudo prime-select nvidia
Info: the current GL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: the current EGL alternatives in use are: ['nvidia-378-prime', 'nvidia-378-prime']
Info: selecting nvidia-378 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-378/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-378/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode
Lspci -kの結果| grep -EA2 'VGA | 3D'
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
DeviceName: Onboard IGD
Subsystem: CLEVO/KAPOK Computer HD Graphics 530
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060] (rev a1)
Subsystem: CLEVO/KAPOK Computer Device 6a03
Kernel driver in use: nvidia
私はこの問題を1週間以上自分で解決しようとしましたが、何をすべきか手がかりがありません。私が試みたすべてが失敗しました。
手伝っていただけませんか?
PDATE 5.2.2017:
今日、もう一度テストしましたが、375と378でIntel GPUへの切り替えがまったく機能しないことがわかりました。ログアウトすると画面がフリーズします。それで、なぜそれは一度働いたのですか?古いドライバーを削除した後ですべてのドライバーを再度インストールし、その後で再起動せずにprime-selectインテルを使用すると、prime-selectはプライムプロファイルを更新しません->古い非nvidiaプロファイル(mesaプロファイル)の1つを選択しますnvidiaの代わりに)動作します。しかし、nvidiaプロファイルに切り替えるか再起動するとすぐに、プライムプロファイルが更新され、機能しなくなります。インテルGPUのEGlの代替には何か問題があると思いますか?ご不便をかけて申し訳ありません。
更新12.2.2017:
昨日、nvidia-primeソフトウェアを修正し、バグを修正しました。私はすぐに(おそらく来週)変更したバージョンを公開し、ここにリンクを貼り付けますが、まだ問題が発生します:Sudo prime-select intel
を実行した後にPCをシャットダウンすると:
ksmserverがクラッシュします(私はKubuntuを使用していますが、おそらくUbuntuの問題ではありません)
-> PCを完全にシャットダウンできず、Intel GPUの古い(間違った)アップデート代替が復元されます
->起動できません。
ただし、リカバリモードでシャットダウンした後にSudo prime-select intel
を実行すると、すべて正常に機能し、Intel GPUを使用できます。
更新17.2.2017:
回避策を投稿しましたが、公式リポジトリでバグを修正しようとしています。ただし、これはおそらくupdate-alternativesのバグであるため、次にバグレポートを投稿する必要があります。
それまでの間、私の回避策をお楽しみください!私もそれがあなたのために働くことを願っています。質問がある場合は、コメントを残してください。
更新26.2.2017
@whizzzkidが指摘したように、nvidiaグラフィックカードは、私のパッチを適用した後もアクティブのままです。しかし、今日、私はこの問題を解決することができました。来週、2番目のパッチを含めるように回答を更新するでしょう。私が実行したいくつかのテストは次のとおりです。
NVIDIA:43-45W
Intel(nvidia on):29-31W
Intel(nvidia off):15-17W
Nvidia-primeの代わりにbumblebeeを使用する場合は、以下の @ whizzzkid で提供される回答をご覧ください。
KDE Plasmaバージョン.7.5およびKDEフレームワークバージョン5.26.0を使用して、Kubuntu 16.10 64ビットでテスト済み。次の手順が役立ちます。彼らもあなたのために働くことを願っていますが、もし彼らがそうしなければ、私はそれを保証できず、責任を負いません。しかし、あなたがコメントを残すならば、私はあなたを助けてうれしいです。
私の場合、問題はupdate-alternative/usr/lib/nvidia-XYZ-prime /がまったく機能しなかったことです。呼び出しをintel-mesaドライバーにリダイレクトすることになっていますが、何らかの理由でリダイレクトされませんでした。それはおそらく更新後の代替案のバグでしょうか? update-alternativesのバグを報告する場所がまだ見つかりません。あなたが私を助けることができるかどうかコメントしてください。
基本的にnvidia-primeを少し変更して、update-alternativesを/ usr/lib/nvidia-XYZ-prime /ではなくintel-mesaドライバーに直接変更しました。
重要:
これらの手順のいずれかを適用する前に、PCの回復モードにアクセスする方法を確認してください。このガイドのために起動できなくなった場合でも、このガイドの最後のセクションのコマンドを使用して、リカバリモードでの変更を元に戻すことができます。詳細については、こちらをご覧ください 復旧モードへのアクセス方法に関するウェブサイト .
32ビットオペレーティングシステムを使用する場合、x86_64を含むすべてのコマンドを除外する必要がありますステップ4およびセクションこれらの変更をすべて元に戻す方法。
ステップ1:
以下の回答で@whizzzkidが提供する簡単な方法を使用して、私のパッチをインストールします。
cd /usr/bin
Sudo mv prime-select prime-select.bkup
Sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
Sudo chmod 755 prime-select
ステップ2:
2番目のパッチを適用して、Intelモードでの消費電力を削減します。
使用しているnvidia-driverバージョンを確認してください。たとえば、次のコマンドを使用します。
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017
GCC version: gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)
この場合、nvidia-XYZはnvidia-378です。こちらをご覧ください Stackoverflow thread 。
たとえばpoweroff.shという名前の次のコンテンツを含むbashファイルを作成します
#!/bin/bash
line=$(</etc/prime-discrete)
if [ "$line" == "off" ]
then
rmmod nvidia-drm
rmmod nvidia-modeset
rmmod nvidia
bash -c 'echo OFF > /proc/acpi/bbswitch'
fi
たとえばpoweron.shという名前の次のコンテンツを含む2番目のbashファイルを作成し、XYZをnvidiaドライバーのバージョン番号に置き換えます。
#!/bin/bash
modprobe nvidia-XYZ
modprobe nvidia-XYZ-modeset
modprobe nvidia-XYZ-drm
modprobe nvidia-XYZ-uvm
echo ON > /proc/acpi/bbswitch
Intelモードでは、Sudoでログインした後に最初のスクリプトを実行し、Sudoで2番目のスクリプトbeforeをログアウトする必要があります(そうしないと、ラップトップはおそらくクラッシュします。私の場合)。 Sudo bash FILENAME
で実行します。
これまでのところ、ログイン時およびログアウト前に、これらのスクリプトをルートとして自動的に自動起動することはできませんでした。ただし、 @ Fiximan が指摘したように、upstartでは可能かもしれません。私がそうすることができたならば、私は将来いつかこの答えを再び更新するかもしれません。
KDE Plasmaで修正できなかったバグがまだあります。nvidia-modeでPCを起動した後、NvidiaからIntelに切り替えるたびに、ksmserverクラッシュしてPCが使用できなくなった場合、電源ボタンを約5〜10秒間押して電源を切る必要があります。これにより、update-alternativesがintel-mesaではなくnvidia-primeに変更され、起動時にブラックスクリーンが表示されることがあります。
Ksmserverのバグの影響を受けた場合は、 bugs.kde.orgの公式バグレポート に貢献してください。
ただし、PCがシャットダウンしないという問題は、シャットダウン前に常にIntelモードを選択することで回避できます、nvidia-modeを使用する場合でも。これを行うと、すべてがそもそも正常に機能し、nvidiaモードでこのガイドを適用した後を除き、電源ボタンを長押ししてPCの電源をオフにする必要はありません。
black-screen-upon-startup-bugの簡単な回避策は、動作していないupdate-alternativesを完全に削除することです:
ステップ1:
回復モードに入ってからルートコマンドシェルを選択し、次の2つのコマンドを実行すると、PCに再度アクセスできます。
mount -o remount,rw /
prime-select nvidia
ステップ2:
次のコマンドを実行します。
Sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
Sudo update-alternatives --remove i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf
Sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf
Sudo update-alternatives --remove x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf
次のコマンドを実行するだけです:
Sudo rm /usr/bin/prime-select
Sudo mv /home/YOUR-USERNAME/prime-select.backup /usr/bin/prime-select
Sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
Sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf i386-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/alt_ld.so.conf 8603
Sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603
Sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf x86_64-linux-gnu_egl_conf /usr/lib/nvidia-XYZ-prime/ld.so.conf 8603
Intelビデオカードに切り替えた後に起動しない場合の解決策:
カーネルブートパラメータを追加します。
acpi_osi=! acpi_osi="Windows 2009"
この問題の理由: bug#156341 カーネル
ソリューションソース: link
@ C11235によるパッチは機能し、nvidiaとIntelを切り替えることができるようになりましたが、これは消費電力を削減しません。 :-/これは、両方がまだ実行されていることを意味します。
ところで、これはこれを行う簡単な方法です。
cd /usr/bin
Sudo mv prime-select prime-select.bkup
Sudo wget https://raw.githubusercontent.com/C11235/nvidia-prime-bugfix/master/prime-select
Sudo chmod 755 prime-select
2番目の修正で考えられる問題:「poweroff」スクリプトプロンプトの最後のコマンド
bash: /proc/acpi/bbswitch: No such file or directory
どうやら、Intelモードで再起動すると(モードを変更してもrebbootまでは有効にならず、これが正常かどうかわからない)、bbswitch-Moduleがロードされません。そのため、bbswitch-fileはなく、nvidia GPUをオフにする方法もありません。
私は使用しています:
この問題の解決策:
ファイル/ etc/modulesを編集し(ルート権限を使用)、次の行を追加します
bbswitch
これで、インテルモードで起動してもbbswitchが動作するようになり、C11235の2番目の修正は問題なく機能します。