我有一台配备混合显卡的 Dell Mobile Precision 5510,既有 Intel HD Graphics 530 芯片,也有 Nvidia Quadro M1000M。
我想切换到 Nvidia 芯片来在 SteamOS 上运行一些游戏,但无法让它工作。
戴尔提供本指南,即:
sudo apt-get purge libvdpau-va-gl1 bumblebee* nvidia*
sudo apt-get install nvidia-387 nvidia-settings nvidia-prime
sudo reboot
然后
nvidia-settings
或者
sudo prime-select nvidia
或者
sudo prime-switch nvidia
并重新启动,但这些对我都不起作用。
当我尝试时nvidia-settings
:
ERROR: Error querying enabled displays on GPU 0 (Missing Extension).
ERROR: Error querying connected displays on GPU 0 (Missing Extension).
** Message: PRIME: No offloading required. Abort
** Message: PRIME: is it supported? no
ERROR: nvidia-settings could not find the registry key file. This file
should have been installed along with this driver at
/usr/share/nvidia/nvidia-application-profiles-key-documentation.
The application profiles will continue to work, but values cannot be
prepopulated or validated, and will not be listed in the help text.
Please see the README for possible values and descriptions.
当我尝试时sudo-prime-switch nvidia
:
/etc/modprobe.d is not a file
/etc/modprobe.d is not a file
/etc/modprobe.d is not a file
/etc/modprobe.d is not a file
/etc/modprobe.d is not a file
Error: can't open /lib/modules/4.13.0-16-lowlatency/updates/dkms
Error: can't open /lib/modules/4.13.0-16-lowlatency/updates/dkms
Error: can't open /lib/modules/4.13.0-16-lowlatency/updates/dkms
update-alternatives: error: no alternatives for x86_64-linux-gnu_gfxcore_conf
如果我尝试sudo prime-select nvidia
:
Info: the current GL alternatives in use are: ['mesa', 'mesa']
Info: the current EGL alternatives in use are: ['mesa-egl', 'nvidia-387']
Info: selecting nvidia-387 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-387/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-387/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-387/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 prime-select query
随后尝试,我会得到:
nvidia
太棒了。除非我重新启动,否则它会回到英特尔,就像什么都没发生一样。或者如果我nvidia-settings
稍后再尝试,还是同样的错误。
我已经完全禁用安全启动。
如果我通过输入打开附加驱动程序,则software-properties-gtk --open-tab=4
选定的选项设置为:
Using NVIDIA binary driver - version 387.22 from nvidia-387 (open source)
有很多类似的问题,但没有一个能提供超出我上述尝试的解决方案。
- 无法让 nVidia 驱动程序与 16.04 配合使用,登录后立即退出
- Nvidia 驱动程序已安装,但不工作!
- Ubuntu 16.04 nvidia 驱动程序不起作用
- 安装带有 NVIDIA 显卡的 Ubuntu 16.04/16.10 后/期间出现图形问题
- Nvidia 驱动程序不工作(查询 GPU 0 上启用的显示器时出错(缺少扩展)。)
我正在启动 Ubuntu Xorg。当我运行“nvidia-settings”时,程序运行并显示上述错误消息,但我没有看到任何切换显卡的选项(没有“PRIME Profiles”选项)。
有任何想法吗?
答案1
我在使用 nvidia-387 驱动程序时遇到了同样的问题。在系统更新之前,它可以正常工作。
对我有用的唯一方法是使用较旧的驱动程序:nvidia-384
root@sebapc:/home/sebastian# dpkg -l | grep -i -e nvidia
ii bbswitch-dkms 0.8-4ubuntu1 amd64 Interface for toggling the power on NVIDIA Optimus video cards
ii cuda-nvtx-9-1 9.1.85-1 amd64 NVIDIA Tools Extension
ii libcuda1-384 384.111-0ubuntu1 amd64 NVIDIA CUDA runtime library
ii nvidia-384 384.111-0ubuntu1 amd64 NVIDIA binary driver - version 384.111
rc nvidia-387 387.26-0ubuntu1 amd64 NVIDIA binary driver - version 387.26
ii nvidia-modprobe 387.26-0ubuntu1 amd64 Load the NVIDIA kernel driver and create device files
ii nvidia-opencl-icd-384 384.111-0ubuntu1 amd64 NVIDIA OpenCL ICD
rc nvidia-opencl-icd-387 387.26-0ubuntu1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.5 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 387.26-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver
唯一的问题是这个驱动程序与 CUDA 9.1 不兼容
* 更新 *
问题出在内核上(就我而言)。
安装驱动程序时,我在 DKMS 编译过程中遇到错误,编译会生成一个位于
/var/lib/dkms/nvidia-387/387.26/build/make.log。
您可以尝试为当前正在运行的内核编译 DKMS
sudo dpkg-reconfigure nvidia-387
看看是否出现错误
我解决了从旧内核启动的问题4.13.0-21-通用而不是最新的4.13.0-25-通用
这是我的系统详细信息
图形处理器:
root@sebapc:/home/sebastian# lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
操作系统版本:
root@sebapc:/home/sebastian# uname -a
Linux sebapc 4.13.0-21-generic #24-Ubuntu SMP Mon Dec 18 17:29:16 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
答案2
不确定这是否适用于您的情况,但就在今天,我遇到了类似的问题,我的戴尔 Inspiron 15 带有混合 GPU(Windows 7 操作系统),在 BIOS 升级后我无法加载 nVidia 驱动程序。原来,在 BIOS 升级后必须清除 CMOS。我这样做后,nVidia 卡被检测到,驱动程序被加载。我想你已经检查过 nVidia 卡是否被检测到,但我想分享我的经验,以防万一你没有这样做。