我的系统突然停止显示 LightDM 登录屏幕,并且日志中充满了错误 如果我删除并清除 nvidia 驱动程序并回退到 nouveau - 它可以正常工作。但没有我急需的设置。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
$ sudo lshw -c display
*-display
description: VGA compatible controller
product: G94GL [Quadro FX 1800]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:0f:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:25 memory:e2000000-e2ffffff memory:d0000000-dfffffff memory:e0000000-e1ffffff ioport:e000(size=128) memory:c0000-dffff
$ uname -r
4.15.0-43-generic
刚刚在 grub 默认设置中尝试过:
nvidia-drm.模式集=1
还有人有同样的问题吗?
附加信息:
$ sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:03.0/0000:0f:00.0 ==
modalias : pci:v000010DEd00000638sv000010DEsd0000062Cbc03sc00i00
vendor : NVIDIA Corporation
model : G94GL [Quadro FX 1800]
driver : nvidia-304 - third-party free
driver : nvidia-340 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
$ sudo ubuntu-drivers autoinstall
Loading new nvidia-340-340.107 DKMS files...
Building for 4.15.0-43-generic
Building for architecture x86_64
Building initial module for 4.15.0-43-generic
Done.
nvidia:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.15.0-43-generic/updates/dkms/
nvidia_uvm.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.15.0-43-generic/updates/dkms/
系统日志错误:
Jan 1 22:44:30 tvheadend kernel: [ 174.314926] caller os_map_kernel_space+0x86/0xb0 [nvidia] mapping multiple BARs
Jan 1 22:44:31 tvheadend systemd-udevd[7551]: Process '/bin/systemctl stop --no-block nvidia-persistenced' failed with exit code 5.
Jan 1 22:44:31 tvheadend systemd-udevd[7573]: Process '/bin/systemctl start --no-block nvidia-persistenced.service' failed with exit code 5.
Jan 1 22:44:31 tvheadend kernel: [ 175.595428] resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than pnp 00:07 [mem 0x000d1200-0x000e7fff]
Jan 1 22:44:31 tvheadend kernel: [ 175.595570] caller os_map_kernel_space+0x86/0xb0 [nvidia] mapping multiple BARs
Jan 1 22:44:33 tvheadend systemd-udevd[7577]: Process '/bin/systemctl stop --no-block nvidia-persistenced' failed with exit code 5.
Jan 1 22:44:33 tvheadend systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
Jan 1 22:44:33 tvheadend systemd[1]: lightdm.service: Failed with result 'exit-code'.
Jan 1 22:44:33 tvheadend systemd[1]: lightdm.service: Service hold-off time over, scheduling restart.
Jan 1 22:44:33 tvheadend systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 36.
Jan 1 22:44:33 tvheadend systemd[1]: Stopped Light Display Manager.
Jan 1 22:44:33 tvheadend systemd[1]: Starting Detect the available GPUs and deal with any system changes...
Jan 1 22:44:33 tvheadend systemd[1]: Started Detect the available GPUs and deal with any system changes.
Jan 1 22:44:33 tvheadend systemd[1]: Starting Light Display Manager...
Jan 1 22:44:33 tvheadend lightdm[7642]: Seat type 'xlocal' is deprecated, use 'type=local' instead
Jan 1 22:44:33 tvheadend systemd[1]: Started Light Display Manager.
Jan 1 22:44:33 tvheadend systemd-udevd[7665]: Process '/bin/systemctl start --no-block nvidia-persistenced.service' failed with exit code 5.
Jan 1 22:44:33 tvheadend kernel: [ 177.064251] resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than pnp 00:07 [mem 0x000d1200-0x000e7fff]
Jan 1 22:44:33 tvheadend kernel: [ 177.064381] caller os_map_kernel_space+0x86/0xb0 [nvidia] mapping multiple BARs
Jan 1 22:44:34 tvheadend systemd-udevd[7668]: Process '/bin/systemctl stop --no-block nvidia-persistenced' failed with exit code 5.
Jan 1 22:44:34 tvheadend systemd-udevd[7690]: Process '/bin/systemctl start --no-block nvidia-persistenced.service' failed with exit code 5.
Jan 1 22:44:34 tvheadend kernel: [ 178.352913] resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than pnp 00:07 [mem 0x000d1200-0x000e7fff]
Jan 1 22:44:34 tvheadend kernel: [ 178.353057] caller os_map_kernel_space+0x86/0xb0 [nvidia] mapping multiple BARs
我怀疑内核升级是因为我发现/var/log/apt/history.log
:
Start-Date: 2018-12-21 06:15:23
Commandline: /usr/bin/unattended-upgrade
Install: linux-headers-4.15.0-43:amd64 (4.15.0-43.46, automatic), linux-modules-4.15.0-43-generic:amd64 (4.15.0-43.46, automatic), linux-headers-4.15.0-43-generic:amd64 (4.15.0-43.46, automatic), linux-modules-extra-4.15.0-43-generic:amd64 (4.15.0-43.46, automatic), linux-image-4.15.0-43-generic:amd64 (4.15.0-43.46, automatic)
Upgrade: linux-headers-generic:amd64 (4.15.0.42.44, 4.15.0.43.45), linux-image-generic:amd64 (4.15.0.42.44, 4.15.0.43.45), linux-generic:amd64 (4.15.0.42.44, 4.15.0.43.45)
End-Date: 2018-12-21 06:17:05
答案1
因此,我的决心是:
1.根据@ubfan1 的建议,我已启动了 4.15.0-42 内核并连接了 TFT 显示器(到目前为止,计算机无需显示器即可工作)
2.决定再次安装nvidia-340
sudo ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
3.重启后一切正常
4. 再次重新启动,因为我已经看到 dkms 处理两个内核的编译模块,所以我选择的是第一个,默认的 4.15.0-43
Voala,显示屏亮了,Nvidia 驱动程序已加载,分辨率达到了最高。
因此,该解决方案引导我,第一 - 在 4.15.0-43 下/针对 4.15.0-43 进行编译时可能出现错误,其次 - 问题可能是缺少附加显示。
确认:缺少附加显示器是问题所在....诡异的 :/