无法使用 nvidia 卡

无法使用 nvidia 卡

我有双显卡 Intel 520 集成显卡和 nVidia 930MX 专用显卡。我运行的是 20.04.2,nvidia-driver-460通过附加驱动程序和intel-media-va-driver-non-free终端进行安装。目前,我只能在英特尔 GPU 上显示(并成功启动)。运行sudo prime-select nvidia并重新启动后,我无法再启动,必须​​通过 TTY 恢复到英特尔。运行时nvidia-smi出现以下错误:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

生成nvidia-xconfig一个 xorg.conf,其中“文件”部分为空。

nvidia-settings给出错误:

ERROR: NVIDIA driver is not loaded
ERROR: Unable to load info from any available system
(nvidia-settings:10549): GLib-GObject-CRITICAL **: 18:16:11.739: g_object_unref: assertion 
'G_IS_OBJECT (object)' failed
** Message: 18:16:11.749: PRIME: Requires offloading
** Message: 18:16:11.749: PRIME: is it supported? yes
** Message: 18:16:11.857: PRIME: Usage: /usr/bin/prime-select nvidia|intel|on-demand|query
** Message: 18:16:11.857: PRIME: on-demand mode: "1"
** Message: 18:16:11.857: PRIME: is "on-demand" mode supported? yes

跑步whereis nvidia可得:

nvidia: /usr/lib/x86_64-linux-gnu/nvidia /usr/lib/nvidia /usr/share/nvidia /usr/src/nvidia-460.73.01/nvidia

驱动程序已安装但未加载。如何让驱动程序工作?我也想保留英特尔。

编辑:运行sudo prime-select nvidia,用重新启动nomodeset,然后nvidia-smi从 TTY 运行(因为没有 GUI)会给出以下输出:

Tue May 25 18:33:17 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce 930MX       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   39C    P8    N/A /  N/A |     10MiB /  2004MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1063      G   /usr/lib/xorg/Xorg                  6MiB |
|    0   N/A  N/A      1292      G   /usr/bin/gnome-shell                2MiB |
+-----------------------------------------------------------------------------+

这表明 nvidia 驱动程序正在加载并运行,但我不知道为什么 GUI 不运行。

编辑2:运行nvidia-settings并从 PRIME 配置文件中选择任何图形都会导致分段错误。

答案1

回答由 Celebre Asm 发表,对我有用。

首先从 中删除所有出现的xorg.conf和。xorg.conf.old/etc/X11/

然后运行inxi -Fxzc0并记下BusID你的 GPU。在我的例子中,intel 是00:02.0= 0:2:0,nvidia 是01:00.0= 1:0:0

然后创建一个xorg.conf.d文件夹,并20-intel.conf在其中创建包含以下内容的文件:

Section "Device"
    Identifier  "Intel Graphics"
    Driver "intel"
    Option "AccelMethod" "sna"
EndSection 

并且90-nvidia.conf文件内容如下:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "iGPU"
    Option "AllowNVIDIAGPUScreens"
EndSection
    
Section "Device"
    Identifier "iGPU"
    Driver "modesetting"
    BusID "PCI:0:2:0"  
EndSection
    
Section "Screen"
    Identifier "iGPU"
    Device "iGPU"
EndSection

Section "Device"
    Identifier "dGPU"
    Driver "nvidia"
    BusID "PCI:1:0:0"  
EndSection

另外,我还删除了它,xserver-xorg-video-intel因为不知何故我在桌面上得到了对角绘制的矩形和难以阅读的字体,删除它解决了这个问题。

重启。

**脚注:发生这种情况的原因是,我尝试使用 nvidia 启动我的笔记本电脑以使用 VDPAU。到目前为止,GM108nvidia GPU 系列不支持解码,并将解码卸载到英特尔对应产品。只要我不更改自首次安装 Ubuntu 以来默认的“按需”选项,一切都很顺利。

答案2

犹豫要不要问这个问题,但是……如果你的电脑是台式机,那么电脑背面可能有两个不同的插槽,一个用于主板上的英特尔显卡,另一个用于插入 nvicia 卡。如果你只插入主板上的一个插槽,你就无法运行 nvidia 显卡。你觉得这有道理吗?

相关内容