當前位置: 首頁>>技術問答>>正文


無法再從英特爾切換到NVIDIA GPU

, , , ,

問題描述

[Ubuntu 14.04 64bit]

在英特爾/NVIDIA顯卡和不同的NVIDIA驅動程序之間切換後,我現在突然陷入了英特爾GPU。以前在兩者之間切換都沒問題 – 我不能肯定地說是突然造成問題的原因。我認為我做的最後一件事就是切換到“X.Org X服務器”驅動程序 – 然後出現了問題。 The switching was part of me trying to troubleshoot issues with setting up a secondary screen

drivers,nvidia,graphics,nvidia-prime,ubuntu

每當我嘗試切換到NVIDIA時,我都會收到這個非常有表現力的錯誤消息然後切換回英特爾:/

我可以使用一些幫助進行故障排除或建議嘗試。

到目前為止,我(un /re)安裝了各種軟件包”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: may be found at pastebin.com


關於Qasim的建議:

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的第二個建議:

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]

奇怪的是 – 這實際上是第一次工作!然後我切換回英特爾 – 注銷/開啟 – 切換回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

重複算法兩次 – 沒有再次工作:/

現在它似乎工作:

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。對我來說,似乎你的方法,路易斯,欺騙操作係統相信它使用NVIDIA,而事實並非如此。

最佳解決辦法

當您收到以下錯誤時:

Error: alternatives are not set up properly

您可以嘗試自己設置備選方案。

當我切換到英特爾時,我看到:

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

當我切換到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

所以你可以嘗試這個切換到英特爾:

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,因為你現在為英特爾設置了替代方案,我希望這也將修複任何其他設置,以便所有內容都應該再次顯示(顯然你應該重新啟動X服務器)

我希望我能正確解釋錯誤。

此外,您可以使用prime-select query來檢查當前選擇的卡,並修複該卡的替代品(例如NVIDIA),因為您可能以某種方式設置了另一張卡的替代品(例如Intel),但該工具仍在考慮您正在使用另一張卡(例如NVIDIA),因此會出現錯誤消息,說明備選方案未正確設置。

次佳解決辦法

我想我至少找到了一個解決方法。

這一切都與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

希望它也適合你。

第三種解決辦法

什麽對我有用,我仍然試圖找到他的職位。我看到了這麽多人:

在這裏,這對我有用:

我試過了:

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切換之前,我必須先以超級用戶手動切換,以便生成正確的配置!

我嘗試過的好事,或者我還在修修補丁,安裝其他驅動程序!希望這證明對別人有用!

第四種辦法

按照預先答案,這是我在我的linux薄荷17.2上得到它的方式。

我先做:

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

選擇’nvidia-prime’:

sudo prime-select nvidia

然後重啟:

sudo init 6

第五種辦法

我有一個看起來相同的問題,答案是我仍然安裝了bumblebee-nvidia

請注意,您正在使用sudo apt-get purge nvidia*清除”everything NVIDIA”,並且上麵的包與該通配符不匹配。

所以,運行命令:

apt-get purge bumblebee-nvidia nvidia*

然後重新啟動,然後安裝相關的nvidia-xxxnvidia-settingsnvidia-prime軟件包(我目前正在使用xorg-edgers版本的340.24)。

現在,在此安裝過程中,您應該看到有關*gnu_gl_conf文件的相關update-alternatives消息。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/2144.html,未經允許,請勿轉載。