视频输出端口无法识别(最近的 22.04 更新?)

视频输出端口无法识别(最近的 22.04 更新?)

我在一台相当老旧的戴尔笔记本电脑上运行 Ubuntu 22.04.3。它(通常)有四个 DP 端口,DP-1 到 DP-4,HDMI 插槽显示为 DP-4。最近我去做演讲,发现 HDMI 上根本无法输出任何内容。当时,我以为我的老旧硬件坏了。VGA 端口工作正常,所以我们就这么过了。

但是,我妻子的笔记本电脑型号几乎相同(老一代),一周前她使用 HDMI 输出进行演示,但今天去使用它时,它也没有产生任何输出。这时我开始怀疑并开始进一步调查,这时我注意到 xrandr 的输出列出了内部显示器、VGA 端口和 HDMI 端口(这不是实际的 HDMI 端口,从来都不是),只有 DP-1、DP-2 到 DP-4 不存在。这反映了“设置”工具的行为,它根本没有显示任何连接。

然后,我从旧的 Ubuntu 18.04 安装盘启动,外部屏幕(当 22.04 拒绝识别任何东西时仍然连接)完美地弹出。

我妻子的机器在上周左右停止驱动这个端口,这让我认为这是一种更新问题(我的机器比她的机器更晚从头重建,而且我不确定自从全新安装 22.04.3 以来我是否尝试过使用 HDMI 端口)。

我需要报告什么才能帮助别人帮助我弄清楚发生了什么,并找到解决方法和/或在更新中修复问题?

初步猜测可能有帮助的是“hwinfo --gfxcard”的输出:

    13: PCI 100.0: 0300 VGA compatible controller (VGA)             
  [Created at pci.386]
  Unique ID: VCu0.q87dynqFfH7
  Parent ID: vSkL.uHVYA+EuUr0
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia GK107GLM [Quadro K1100M]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x0ff6 "GK107GLM [Quadro K1100M]"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x15cc 
  Revision: 0xa1
  Memory Range: 0xf4000000-0xf4ffffff (rw,non-prefetchable,disabled)
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable,disabled)
  Memory Range: 0xf0000000-0xf1ffffff (ro,non-prefetchable,disabled)
  I/O Ports: 0xe000-0xe07f (rw,disabled)
  Memory Range: 0xf5000000-0xf507ffff (ro,non-prefetchable,disabled)
  IRQ: 11 (no events)
  Module Alias: "pci:v000010DEd00000FF6sv00001028sd000015CCbc03sc00i00"
  Driver Info #0:
    Driver Status: nvidiafb is not active
    Driver Activation Cmd: "modprobe nvidiafb"
  Driver Info #1:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #10 (PCI bridge)

26: PCI 02.0: 0300 VGA compatible controller (VGA)
  [Created at pci.386]
  Unique ID: _Znp.Ucbde_kbrc3
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "Onboard IGD"
  Model: "Intel 4th Gen Core Processor Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0416 "4th Gen Core Processor Integrated Graphics Controller"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x05cc 
  Revision: 0x06
  Driver: "i915"
  Driver Modules: "i915"
  Memory Range: 0xf5400000-0xf57fffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 37 (57500 events)
  Module Alias: "pci:v00008086d00000416sv00001028sd000005CCbc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Primary display adapter: #13

该机器正在运行“推荐的驱动程序”,即 nvidia-driver-390 并且机器本身是 Dell Precision M4800(如果我没记错的话,我妻子的机器是 M4700,也许是 M4600,但包装几乎相同。如果相关的话,我当然可以找出确切的型号等。)

编辑/添加:$ uname -r 6.5.0-17-generic

我尝试更改视频驱动程序,但出现错误,声称我未获得授权(我有权限,我知道我的密码,我是管理员用户,我输入的密码正确)。这是我能抓取到的错误报告(无法复制粘贴文本,也无法移动窗口) 错误报告...

$ ls /bin/gcc*
/bin/gcc     /bin/gcc-ar     /bin/gcc-nm     /bin/gcc-ranlib
/bin/gcc-11  /bin/gcc-ar-11  /bin/gcc-nm-11  /bin/gcc-ranlib-11
/bin/gcc-12  /bin/gcc-ar-12  /bin/gcc-nm-12  /bin/gcc-ranlib-12

$ strings /lib/modules/6.5.0-17-generic/updates/dkms/nvidia.ko |grep gcc
strings: '/lib/modules/6.5.0-17-generic/updates/dkms/nvidia.ko': No such file

$ ls /lib/modules
5.15.0-25-generic  5.15.0-48-generic  5.19.0-38-generic  6.2.0-32-generic
5.15.0-30-generic  5.15.0-50-generic  5.19.0-40-generic  6.2.0-33-generic
5.15.0-33-generic  5.15.0-52-generic  5.19.0-41-generic  6.2.0-34-generic
5.15.0-37-generic  5.15.0-53-generic  5.19.0-42-generic  6.2.0-35-generic
5.15.0-39-generic  5.15.0-56-generic  5.19.0-43-generic  6.2.0-36-generic
5.15.0-40-generic  5.15.0-57-generic  5.19.0-45-generic  6.2.0-37-generic
5.15.0-41-generic  5.15.0-58-generic  5.19.0-46-generic  6.2.0-39-generic
5.15.0-43-generic  5.15.0-60-generic  5.19.0-50-generic  6.5.0-14-generic
5.15.0-46-generic  5.19.0-32-generic  6.2.0-26-generic   6.5.0-15-generic
5.15.0-47-generic  5.19.0-35-generic  6.2.0-31-generic   6.5.0-17-generic

$ find /lib/modules -name nvidia\*ko
/lib/modules/6.2.0-39-generic/kernel/nvidia-390/nvidia-modeset.ko
/lib/modules/6.2.0-39-generic/kernel/nvidia-390/nvidia-uvm.ko
/lib/modules/6.2.0-39-generic/kernel/nvidia-390/nvidia.ko
/lib/modules/6.2.0-39-generic/kernel/nvidia-390/nvidia-drm.ko
/lib/modules/6.2.0-39-generic/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko
/lib/modules/6.2.0-39-generic/kernel/drivers/platform/x86/nvidia-wmi-ec-backlight.ko
/lib/modules/6.5.0-15-generic/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko
/lib/modules/6.5.0-15-generic/kernel/drivers/platform/x86/nvidia-wmi-ec-backlight.ko
/lib/modules/6.5.0-17-generic/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko
/lib/modules/6.5.0-17-generic/kernel/drivers/platform/x86/nvidia-wmi-ec-backlight.ko

$ ls /boot
config-6.2.0-39-generic      memtest86+.bin
config-6.5.0-15-generic      memtest86+.elf
config-6.5.0-17-generic      memtest86+_multiboot.bin
efi                          System.map-6.2.0-39-generic
grub                         System.map-6.5.0-15-generic
initrd.img                   System.map-6.5.0-17-generic
initrd.img-6.2.0-39-generic  vmlinuz
initrd.img-6.5.0-15-generic  vmlinuz-6.2.0-39-generic
initrd.img-6.5.0-17-generic  vmlinuz-6.5.0-15-generic
initrd.img.old               vmlinuz-6.5.0-17-generic
lost+found                   vmlinuz.old

更新:2 月 14 日;我运行了 sudo apt update/upgrade,它尝试重建一些 nvidia 内容,但失败了。我截断了这个输出,因为它太长了,如果你认为我省略了一些相关内容,LMK,我可以提供更多,但在我看来,这是相关的:

        Setting up nvidia-dkms-390 (390.157-0ubuntu0.22.04.2) ...
    update-initramfs: deferring update (trigger activated)
    INFO:Enable nvidia
    DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here
    DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude
    DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad
    Removing old nvidia-390.157 DKMS files...
    Deleting module nvidia-390.157 completely from the DKMS tree.
    Loading new nvidia-390.157 DKMS files...
    Building for 6.5.0-17-generic
    Building for architecture x86_64
    Building initial module for 6.5.0-17-generic
    ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-dkms-390.0.crash'
    Error! Bad return status for module build on kernel: 6.5.0-17-generic (x86_64)
    Consult /var/lib/dkms/nvidia/390.157/build/make.log for more information.
    dpkg: error processing package nvidia-dkms-390 (--configure):
     installed nvidia-dkms-390 package post-installation script subprocess returned error exit status 10
    Setting up google-chrome-stable (121.0.6167.184-1) ...
    Setting up libgdm1 (42.0-1ubuntu7.22.04.4) ...
    Setting up dns-root-data (2023112702~ubuntu0.22.04.1) ...
    
[...]
    Errors were encountered while processing:
     nvidia-dkms-390
    E: Sub-process /usr/bin/dpkg returned an error code (1)

并且该错误文件已经存在,并将其作为第一个错误报告(在我看来,好像是某个标题的版本不匹配或者其他什么?)

/var/lib/dkms/nvidia/390.157/build/common/inc/nv-mm.h:164:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   164 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
       |                                             ^~~
       |                                             |
       |                                             struct task_struct *
 In file included from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-pgprot.h:17,
                  from /var/lib/dkms/nvidia/390.157/build/common/inc/nv-linux.h:20:

我还应该收集哪些信息(请告诉我应该运行的命令)?

相关内容