Nvidia 无法在 Xorg 上的 Ubuntu 17.10 上运行

Nvidia 无法在 Xorg 上的 Ubuntu 17.10 上运行

我有一台配备混合显卡的 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)

有很多类似的问题,但没有一个能提供超出我上述尝试的解决方案。

我正在启动 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 卡是否被检测到,但我想分享我的经验,以防万一你没有这样做。

相关内容