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

Ord*_*man 5 nvidia nvidia-optimus nvidia-prime 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
Run Code Online (Sandbox Code Playgroud)

然后

nvidia-settings
Run Code Online (Sandbox Code Playgroud)

或者

sudo prime-select nvidia
Run Code Online (Sandbox Code Playgroud)

或者

sudo prime-switch nvidia
Run Code Online (Sandbox Code Playgroud)

并重新启动,但这些都不适合我。

当我尝试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.
Run Code Online (Sandbox Code Playgroud)

当我尝试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
Run Code Online (Sandbox Code Playgroud)

如果我尝试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
Run Code Online (Sandbox Code Playgroud)

最后一个看起来很有希望,如果我sudo prime-select query之后尝试,我会得到:

nvidia
Run Code Online (Sandbox Code Playgroud)

伟大的。除非我重新启动,否则它会回到英特尔,好像什么也没发生。或者,如果我nvidia-settings后来尝试,同样的错误。

我已经完全禁用了安全启动。

如果我通过输入software-properties-gtk --open-tab=4选择的选项打开其他驱动程序设置为:

Using NVIDIA binary driver - version 387.22 from nvidia-387 (open source)
Run Code Online (Sandbox Code Playgroud)

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

我正在启动到 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
Run Code Online (Sandbox Code Playgroud)

唯一的问题是该驱动程序与 CUDA 9.1 不兼容

* 更新 *

问题是(就我而言)内核。安装驱动程序时,我在 DKMS 编译期间遇到错误,编译会生成位于/var/lib/dkms/nvidia-387/387.26/build/make.log
的日志 。

您可以尝试为当前运行的内核编译DKMS

sudo dpkg-reconfigure nvidia-387
Run Code Online (Sandbox Code Playgroud)

看看是否有错误

我解决了从旧内核4.13.0-21-generic而不是最新的4.13.0-25-generic启动的问题

这是我的系统详细信息

图形处理器:

root@sebapc:/home/sebastian# lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Run Code Online (Sandbox Code Playgroud)

操作系统版本:

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
Run Code Online (Sandbox Code Playgroud)


小智 0

不确定这是否适用于您的情况,但就在今天,我在配备混合 GPU(Windows 7 操作系统)的 Dell Inspiron 15 上遇到了类似的问题,在 BIOS 升级后我无法加载 nVidia 驱动程序。原来BIOS升级后必须清除CMOS。一旦我这样做了,就会检测到 nVidia 卡并加载驱动程序。我想您可能已经检查过是否检测到 nVidia 卡,但想分享一下我的经验,以防万一您没有检测到。


归档时间:

查看次数:

5478 次

最近记录:

8 年,3 月 前