前提

前提

前提

我几乎尝试了所有能找到的方法,我将在下面列出这些尝试。

问题结构如下:前提、问题、问题、尝试。

我的电脑:

  • 技嘉 X570 I AORUS PRO WIFI Mini ITX AM4
  • AMD 锐龙 5 5600x (Zen3)
  • Palit Dual GeForce RTX3060Ti 8GB
  • MX500 1TB(Ubuntu)
  • Sabrent Rocket 4.0 500GB(Windows)
  • MX500 2TB(存储)

还:

  • 安全启动已禁用(因此 CSM 也已禁用)

客观的

Ubuntu 22.04 LTS 安装用于机器学习开发,主要是 GPU 加速:

  1. 需要 CUDA
  2. Nouveau 驱动程序不是最佳的,因此目前已被列入黑名单
  3. 需要 NVIDIA 驱动程序
blacklist nouveau
options nouveau modeset=0

问题

司机被认定为:

  • 它在软件和更新中显示为已安装

软件和更新截图链接。

但显然不曾用过因为我是在 1024x768 (4:3) 分辨率下写这篇文章的。

看看司机/公认的

teniu@AW-PC:~$ sudo lshw -c video
[sudo] password for teniu: 
  *-display                 
       description: VGA compatible controller
       product: GA104 [GeForce RTX 3060 Ti]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:09:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:108 memory:fb000000-fbffffff memory:d0000000-dfffffff memory:e0000000-e1ffffff ioport:e000(size=128) memory:fc000000-fc07ffff
  *-graphics
       product: EFI VGA
       physical id: 1
       logical name: /dev/fb0
       capabilities: fb
       configuration: depth=32 resolution=1024,768
teniu@AW-PC:~$ modinfo $(modprobe --resolve-alias nvidia)
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.19.0-41-generic
modinfo: ERROR: missing module or filename.

尝试去使用自动安装安装驱动程序,输出

raceback (most recent call last):
  File "/usr/bin/ubuntu-drivers", line 513, in <module>
    greet()
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/bin/ubuntu-drivers", line 432, in autoinstall
    command_install(config)
  File "/usr/bin/ubuntu-drivers", line 187, in command_install
    UbuntuDrivers.detect.nvidia_desktop_pre_installation_hook(to_install)
  File "/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py", line 839, in nvidia_desktop_pre_installation_hook
    with_nvidia_kms = version >= 470
UnboundLocalError: local variable 'version' referenced before assignment

忽略这意味着安装指定版本的驱动程序,因此:

sudo apt install nvidia-driver-530-open

它做它的事,然后尝试 nvidia-smi,输出

No devices were found

内核模块是否已加载?似乎已加载:

teniu@AW-PC:~$ lsmod | grep nvidia
nvidia_uvm           1441792  0
nvidia_drm             77824  1
nvidia_modeset       1404928  1 nvidia_drm
nvidia               6234112  5 nvidia_uvm,nvidia_modeset
drm_kms_helper        200704  1 nvidia_drm
drm                   581632  5 drm_kms_helper,nvidia,nvidia_drm

再次尝试查看是否看到 nvidia:

lspci | grep -i nvidia
teniu@AW-PC:~$ lspci | grep -i nvidia
09:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti] (rev a1)
09:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)

看起来是这么回事。

问题与回顾

nvidia-smi

不起作用,但可以看到驱动程序?我现在一头雾水。

用于此的 Ubuntu 22.04 LTS 是全新安装。

我认为这个输出可以作为一个重要的提示,因为在内核模块目录中找不到 NVIDIA 模块。

teniu@AW-PC:~$ modinfo $(modprobe --resolve-alias nvidia)
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.19.0-41-generic
modinfo: ERROR: missing module or filename.
  • 我现在该怎么办?

尝试(全部失败)

  • 清除并重新安装(多个)
  • 将 530 驱动程序更改为 515(两次)
  • (我安装错了版本吗……?)
  • 禁用安全启动(并重试一切)
  • 全新安装 Ubuntu
  • 在 Windows 上测试(它可以在那里运行,没有硬件问题)
  • 标题更新,0 个更新
sudo apt install linux-headers-$(uname -r)
  • (我想避免通过下载手动安装)
  • 放弃(不是一个选择)

有用但不相关的信息

当我组装 PC 时,我必须更新 BIOS由于主板不提供对Zen3Ryzen 5系列的架构。

我提到这一点只是因为在启动时,我看到快速终端乱码,顶部写着一些关于 AMD 未被识别的内容。尽管我非常怀疑它是否在某种程度上相关或重要,因为它之后才起作用。

答案1

解决方案

驱动程序版本检查是在名称末尾完成的,因此如果“-open”位于末尾,可能会混淆某些脚本,如@ubfan1 所指出的。

因此,您只需检查受到推崇的适用于您的特定卡的版本此处(NVIDIA 官方驱动程序)并查看版本。

在软件和更新中,您可以找到不以“-open”结尾的正确驱动程序版本并安装该版本。

解决我的问题的正确版本的屏幕截图,您的可能有所不同。

笔记: 它可能需要一段时间。

我可能想要添加“ autoinstallforubuntu-drivers没有起作用”,这似乎是内部错误。

我建议不要手动(直接下载和)安装驱动程序,因为它们更难维护。

相关内容