web-dev-qa-db-ja.com

IntelからNVIDIA GPUに切り替えられなくなりました

[Ubuntu 14.04 64bit]

Intel/NVIDIAグラフィックスと異なるNVIDIAドライバーを切り替えた後、Intel GPUが突然使用できなくなりました。以前は、この2つの間の切り替えはまったく問題ありませんでした。何が突然問題を引き起こしているのか、はっきりとは言えません。私が最後にしたことは、「X.Org Xサーバー」ドライバーに切り替えることだと思います-そして、何かが壊れました。 切り替えは、セカンダリ画面のセットアップに関する問題のトラブルシューティングを試みる私の一部でした

enter image description here

NVIDIAに切り替えようとするたびに、この非常に表現力豊かなエラーメッセージが表示され、Intelに戻ります:/

トラブルシューティングや、何を試すべきかについてのアドバイスを利用できます。

これまでのところ、さまざまなパッケージ「nvidia-settings」/「nvidia-current」/「nvidia-current-updates」/「nvidia-331」/「nvidia-331-updates」を(アン/再)インストールしました。無駄に。

> lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1)

/ etc/apt/sources.list:Pastebin.comにあります


カシムによる提案について:

raffael@raffael-GT60~> Sudo prime-select nvidia
[Sudo] password for raffael: 
Error: alternatives are not set up properly
Error: nvidia mode can't be enabled
raffael@raffael-GT60~> Sudo prime-select intel
Error: alternatives are not set up properly
Error: intel mode can't be enabled

Qasimによる2番目の提案について:

Sudo apt-get purge nvidia*
[reboot]
Sudo apt-get install nvidia-319-updates nvidia-settings-319-updates nvidia-prime
[reboot]
[tried to switch to NVIDIA]

奇妙なことは-これは実際に初めて働いた!?その後、Intelに切り替え-ログオフ/オン-NVIDIAに切り替え-ログオフ/オン->システムクラッシュ-上記のエラー。


Louis Matthijssenによる提案について:

raffael@raffael-GT60:~$ Sudo update-alternatives --set /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf /usr/lib/nvidia-331-updates-prime/ld.so.conf
update-alternatives: error: alternative name (/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf) must not contain '/' and spaces
raffael@raffael-GT60:~$ ls -la /usr/lib/nvidia-331-updates-prime
total 44
drwxr-xr-x   2 root root  4096 Mai  2 22:45 .
drwxr-xr-x 196 root root 32768 Mai  3 10:57 ..
-rw-r--r--   1 root root     0 Apr  4 11:50 alt_ld.so.conf
-rw-r--r--   1 root root    60 Apr  4 11:50 ld.so.conf

アルゴを2回繰り返した-再び機能しなかった:/

今ではうまくいくようです:

raffael@raffael-GT60:~$ Sudo update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/nvidia-331-updates-prime/ld.so.conf 
update-alternatives: using /usr/lib/nvidia-331-updates-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

raffael@raffael-GT60:~$ Sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/nvidia-331-updates-prime/alt_ld.so.conf
update-alternatives: using /usr/lib/nvidia-331-updates-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

その後、NVIDIAに切り替えることができましたが、拡張された「NVIDIA Xサーバー設定」は提供されませんでした-今すぐ再起動し、何が起こるかを確認します。フォローアップ:再起動​​後にIntelに戻り、通常どおりNVIDIAに切り替えることができません。私には、あなたの方法であるLouisがOSをだましてNVIDIAを使用していると信じ込ませているようですが、実際はそうではありません。

40
Raffael

次のエラーが表示されたら:

Error: alternatives are not set up properly

自分で選択肢を設定してみてください。

to Intelに切り替えると、次のように表示されます。

update-alternatives: using /usr/lib/nvidia-331-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-331-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

to NVIDIAに切り替えると、次のように表示されます。

update-alternatives: using /usr/lib/nvidia-331/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-331/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

したがって、これを試して、to Intelに切り替えることができます。

Sudo update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/nvidia-331-prime/ld.so.conf
Sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/nvidia-331-prime/alt_ld.so.conf

明らかに、331を独自のバージョンに置き換える必要があります。

これで、スイッチをトリガーするためにいくつかのことを試すことができます。

  • ログアウトして再度ログインする

    通常のようにXサーバーを再起動します

  • PC全体を再起動する

    上記と同じ目的で

  • Sudo prime-select nvidiaを実行します

    あなたの代替がIntel用に設定されているので、これが他の設定も修正して、すべてが元どおりになるようにすることを願っています(明らかにXサーバーを再起動する必要があります)

エラーを正しく解釈したことを願っています。

また、prime-select queryを使用して、現在選択されているカードを確認し、そのカードの代替(NVIDIAなど)を修正することができます。まだ他のカード(NVIDIAなど)を使用していると考えているため、代替が適切に設定されていないというエラーが表示されます。

18

少なくとも回避策を見つけたと思います。

update-alternativesがすべてです。
両方に気づきました

Sudo update-alternatives --config i386-linux-gnu_gl_conf

そして

Sudo update-alternatives --config x86_64-linux-gnu_gl_conf

/usr/lib/i386-linux-gnu/mesa/ld.so.confなどを含むリストを返します。

再起動するたびに、手動で変更した場合でも、/usr/lib/i386-linux-gnu/mesa/ld.so.confが選択されたように設定されました。

私はそのリストの順序を変更しようとしましたが、最終的に解決策はそれを削除することでした

Sudo update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf

そして

Sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf

それで十分でしょう。
そうでない場合は、「i386」と「x86_64」の両方を同じオプションに設定します。

Sudo update-alternatives --config x86_64-linux-gnu_gl_conf

そして

Sudo update-alternatives --config x86_64-linux-gnu_gl_conf

その後再起動します。

いつでも元の状態に復元できます

Sudo update-alternatives --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf 500  

そして

Sudo update-alternatives --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500

それがあなたにも役立つことを願っています。

5
kcpr

私のために働いたもの、私はまだ彼の投稿を見つけようとしています。私は見ていましたがたくさんありました:

ここで、これは私のために働いたものです:

私は試した:

Sudo update-alternatives --config x86_64-linux-gnu_gl_conf
Sudo ldconfig -n
Sudo update-initramfs -u

そして、変更なしで再起動しました。だから私は試しました:

Sudo apt-get purge libvdpau-va-gl1 bumblebee* nvidia*
Sudo apt-get install linux-headers-generic
Sudo apt-get install nvidia-331 nvidia-settings nvidia-prime

リブート。それでも、変更せず、nvidiaカードに切り替えようとすると、nvidia-settingsに同じ空白のエラーメッセージが表示されます。

Sudo prime-switch nvidiaを使用して手動で切り替えてみましたが、構成情報が更新されました。もう一度試してみたところ、nvidia-settingsからログアウトしてからログインし直して...と言われました。うまくいきました!

私の場合、nvidia-settings UIを使用して切り替える前に、適切な構成を生成するために、最初にスーパーユーザーとして手動で切り替える必要がありました!

他のドライバーをインストールするのを試してみたか、いまだにいじくり回していました!これが他の誰かに役立つことを願っています!

4
Michael

事前の回答に従ってください、これは私のLinux Mint 17.2で正しい方法です。

最初に私がやる:

Sudo update-alternatives --config x86_64-linux-gnu_gl_conf

「nvidia-prime」のあるものを選択します。

Sudo prime-select nvidia

その後、再起動します。

Sudo init 6
4
realhu

同じように見える問題がありましたが、その答えはまだbumblebee-nvidiaがインストールされていたということでした。

「NVIDIAのすべて」をSudo apt-get purge nvidia*でパージしていることに注意してください。上記のパッケージはそのワイルドカードと一致しません。

だから、コマンドを実行します:

apt-get purge bumblebee-nvidia nvidia*

次に、再起動して、関連するnvidia-xxxnvidia-settingsおよびnvidia-primeパッケージをインストールします(現在、 xorg-edgers のバージョン340.24を使用しています)。

これで、このインストール中に、update-alternativesファイルに関する*gnu_gl_confメッセージが表示されます。

2
Dmitry

私は解決策を見つけました。

何が問題だったのかはわかりませんが、16.04の新規インストールでこの問題は消えたようです。おそらく、彼らはその依存関係を適切に更新しましたか?よく分かりません。

しかし、これは16.04ではもはや問題ではないことを個人的に確認できます。 14.04でも同じ問題が発生していました。しかし、16.04では、問題ではなくなりました。

0
Rakshith Ravi