使用 NVIDIA 驱动程序启动时内部显示器冻结

使用 NVIDIA 驱动程序启动时内部显示器冻结

问题

我的内置显示器在启动时冻结。在启动过程中,只有内置显示器可以工作,但在登录屏幕之前,它会在 ubuntu 启动屏幕上冻结。内置显示器停止工作时,外接显示器会连接并显示桌面。

问题是如何引起的

在首次设置 eGPU 和 RTX 3070 后,整个操作系统会在登录屏幕前挂起。也就是说,内部显示器会像上面描述的那样冻结,而外部显示器不会显示任何内容。我不得不遵循本指南,其中包括nomodeset在 grub 中添加为启动选项。

此后,即使安装了所有当前的 Nvidia 驱动程序,也只有内部显示器可以工作。在运行 时nvidia-smi,进程选项卡显示No running processes found。为了解决这个问题,我下载并运行了这个脚本,'egpu-switcher'这会将 更改etc/X11/xorg.conf为(我假设)支持使用 eGPU 运行外部显示器。执行这些步骤后,重新启动时内部显示器会像最初描述的那样冻结。

尝试过的解决方案

  • 刷新 BIOS,无效果
  • 重新安装所有 NVIDIA 驱动程序,无效
  • 安装bumblebee,没效果(虽然不知道怎么用)
  • 删除后egpu-switcher,恢复到以前只有内部显示器正常工作的行为

我想要的解决方案

要么 GPU/NVIDIA 驱动程序驱动内部显示器,要么内部显示器由我的集成显卡供电,然后外部显示器由我的专用 GPU 供电。这可能吗?

我的规格

Ubuntu 20.04
Dell Latitude 7390(英特尔集成显卡)
Razer Core X Chroma eGPU
NVIDIA RTX 3070
显示器通过 DisplayPort 连接到 GPU

其他说明

输出nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39       Driver Version: 460.39       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 RTX 3070    Off  | 00000000:08:00.0  On |                  N/A |
|  0%   37C    P8    15W / 220W |    482MiB /  7982MiB |     10%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1601      G   /usr/lib/xorg/Xorg                 53MiB |
|    0   N/A  N/A      2810      G   /usr/lib/xorg/Xorg                231MiB |
|    0   N/A  N/A      2947      G   /usr/bin/gnome-shell               38MiB |
|    0   N/A  N/A      3423      G   /proc/self/exe                     13MiB |
|    0   N/A  N/A      3667      G   ...AAAAAAAA== --shared-files       30MiB |
|    0   N/A  N/A      8362      G   ...AAAAAAAAA= --shared-files       96MiB |
|    0   N/A  N/A      8793      G   gnome-control-center                3MiB |
+-----------------------------------------------------------------------------+

如果需要,我很乐意提供更多详细信息。提前感谢大家的回答,我是 Ubuntu 新手,所以最近这真的让我很沮丧。

答案1

我找到了解决方案在 NVIDIA 论坛上提问出于某种原因,我所要做的就是

  • 消除/etc/X11/xorg.conf
  • 卸载egpu-switcher或运行egpu-switcher cleanup(如果已经安装/正在运行)
  • /etc/X11/xorg.conf.d/10-nvidia-egpu.conf仅使用以下内容创建:
Section "OutputClass"
    Identifier "nvidia-egpu"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowExternalGpus" "True"
EndSection
  • nomodeset然后从启动选项中删除该参数

相关内容