Raf*_*ael 39 nvidia graphics drivers nvidia-prime
[Ubuntu 14.04 64 位]
在 Intel / NVIDIA 显卡和不同的 NVIDIA 驱动程序之间切换后,我现在突然卡在了 Intel GPU 上。过去在两者之间切换根本没有问题 - 我无法确定是什么突然导致了问题。我想我做的最后一件事是切换到“X.Org X 服务器”驱动程序 - 然后出现问题。切换是我尝试解决设置辅助屏幕问题的一部分。
每次我尝试切换到 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)
Run Code Online (Sandbox Code Playgroud)
/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
Run Code Online (Sandbox Code Playgroud)
关于 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]
Run Code Online (Sandbox Code Playgroud)
奇怪的是 - 这实际上是第一次起作用!?然后我切换回 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
Run Code Online (Sandbox Code Playgroud)
重复算法两次 - 没有再次工作:/
现在它似乎工作:
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
Run Code Online (Sandbox Code Playgroud)
之后我可以切换到 NVIDIA - 但没有提供扩展的“NVIDIA X 服务器设置” - 现在重新启动,看看会发生什么。后续:重启后切换回Intel,无法正常切换到NVIDIA。对我来说,Louis 的方法似乎让操作系统相信它使用了 NVIDIA,而实际上并非如此。
Lou*_*sen 18
当您收到以下错误时:
Error: alternatives are not set up properly
Run Code Online (Sandbox Code Playgroud)
您可以尝试自己设置备选方案。
当我切换到英特尔时,我看到:
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
Run Code Online (Sandbox Code Playgroud)
当我切换到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
Run Code Online (Sandbox Code Playgroud)
所以你可以试试这个切换到英特尔:
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
Run Code Online (Sandbox Code Playgroud)
显然你应该用你自己的版本替换 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
Run Code Online (Sandbox Code Playgroud)
和
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
Run Code Online (Sandbox Code Playgroud)
返回包含/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
Run Code Online (Sandbox Code Playgroud)
和
sudo update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf
Run Code Online (Sandbox Code Playgroud)
那应该就够了。
如果没有,将 'i386' 和 'x86_64' 设置为相同的选项
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
Run Code Online (Sandbox Code Playgroud)
和
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
Run Code Online (Sandbox Code Playgroud)
之后重启。
您始终可以通过以下方式将其恢复到原始状态
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
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
希望它也适用于您。
归档时间: |
|
查看次数: |
80261 次 |
最近记录: |