使用 nvidia 专有驱动程序的笔记本电脑出现黑屏 - HP Pavilion 15 ec1001na

使用 nvidia 专有驱动程序的笔记本电脑出现黑屏 - HP Pavilion 15 ec1001na

当使用 NVIDIA 专有驱动程序时,我无法让我的新笔记本电脑显示 Ubuntu 登录屏幕。

我有一台新的 HP Pavilion 15 Gaming ec1001na,其规格如下:

  • 处理器:AMD Ryzen 5 4600H
  • GPU:NVIDIA GeForce GTX 1650
  • 内存:8GB 3200MHz SODIMM DDR4(2 x 4GB 条)
  • 存储:Windows 10 安装在 256GB NVMe SSD 上,Ubuntu 安装在 512GB Samsung EVO SSD 上
  • 引导加载程序:512G​​B SSD 上的 Grub,默认为 Ubuntu,安全启动已关闭

如果我卸载所有 NVIDIA 驱动程序并激活(取消黑名单)开源 Nouveau 驱动程序,我才能让笔记本电脑启动到 Ubuntu。但是,使用 Nouveau 驱动程序的帧速率恶魔般的(1-2fps)运行 Unigine Valley 基准测试时。(尽管安装了驱动程序,但由于 Vulkan 驱动程序问题,我无法让 Lutris 运行 Epic Games。)所以 Nouveau 驱动程序还不够好。

我已尝试了以下所有驱动程序(在尝试新驱动程序之前,请先卸载旧驱动程序):

  • 通过 ubuntu graphics-drivers ppa 安装 NVIDIA Linux 430.09
  • 通过 NVIDIA 可安装程序 (NVIDIA-Linux-x86_64-430.09.run) 安装 NVIDIA Linux 430.09
  • 通过 ubuntu graphics-drivers ppa 安装 NVIDIA Linux 435.21
  • 通过 NVIDIA 可安装程序 (NVIDIA-Linux-x86_64-435.21.run) 安装 NVIDIA Linux 435.21
  • 通过 ubuntu graphics-drivers ppa 安装 NVIDIA Linux 450.57
  • 通过 NVIDIA 可安装程序 (NVIDIA-Linux-x86_64-450.57.run) 安装 NVIDIA Linux 450.57

对于每一个,我都尝试在 Grub 配置中使用 nomodeset 和不使用 nomodeset 进行启动。

我尝试过同时使用这两个显示管理器:

  • gdm3
  • 光网络

lspci | grep VGA显示:

01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f99 (rev a1)
05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c7)

我尝试过为 gdm3 禁用 Wayland:

cat /etc/gdm3/custom.conf

# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

# Enabling automatic login
#  AutomaticLoginEnable = true
#  AutomaticLogin = user1

# Enabling timed login
#  TimedLoginEnable = true
#  TimedLogin = user1
#  TimedLoginDelay = 10

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
# More verbose logs
# Additionally lets the X server dump core if it crashes
Enable=true

我已经修改了X11以直接处理NVIDIA显卡:

cat /etc/X11/xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 450.57


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    # My BusID Found by lspci | grep VGA
    BusID          "PCI:1:0:0"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    # Option         "SLI" "off"
    # Option         "MultiGPU" "off"
    # Option         "UseDisplayDevice" "DFP"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

使用任何专有驱动程序,我都无法进入登录屏幕。我只看到屏幕左上角有一个闪烁的水平光标,或者完全黑屏。我可以访问 tty2,也可以通过 SSH 进入笔记本电脑。

我的 NVIDIA 错误报告输出(我删除了重复的行和 base64 日志块以使其符合大小限制): https://paste.ubuntu.com/p/73MGTYhTh9/

如何让 NVIDIA 专有驱动程序正常运行?

(或者,如何让 Nouveau 在视频渲染/游戏中产生实际可用的帧速率?)

更新2020-07-30: 当我以为系统正在启动到 Nouveau 上的 Ubuntu 桌面环境时,它实际上是在 AMD 4600H 集成显卡 (amdgpu) 上运行的。

因此,无论是通过 Nouveau 还是专有驱动程序在 nVidia GPU 上运行的任何尝试似乎都会失败。

如果您认为这台笔记本电脑无法正常工作,我可以根据 RMA 退回它吗?

答案1

我已设法解决了该问题:

TL:DR;如果您运行的笔记本电脑同时配备了新的 AMD 4000 APU 和 NVIDIA 卡,请将 NVIDIA 卡的驱动程序列入黑名单,将 Linux 内核升级到 > 5.6,然后您就可以在性能良好的集成 AMD 显卡上运行您的系统。

任何专有 NVIDIA 驱动程序组合都无法正常工作。所有驱动程序(430、435、440、450)都会导致启动时出现黑屏。开源 Nouveau 驱动程序还会导致从挂起状态恢复时出现问题,导致恢复到黑屏。

最后,我读到新的 Ryzen 笔记本 APU(Ryzen 4000 系列)只有 Linux 内核 5.6 才能真正得到良好支持。

因此我按照此处的说明升级到内核 5.7:https://linuxconfig.org/how-to-upgrade-kernel-to-latest-version-on-ubuntu-20-04-focal-fossa-linux

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
sudo ./ubuntu-mainline-kernel.sh -i

我卸载了专有的 NVIDIA 驱动程序:

sudo apt-get purge '*nvidia-*' 

(如果您通过 NVIDIA .run 二进制文件安装了它们,那么您可以使用同一个 .run 文件卸载它们):

sudo ./NVIDIA-Linux-x86_64-XXX.YY.run --uninstall

我将 nouveau 列入了黑名单:

sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

我在 grub 配置中明确启用了 AMDGPU:

sudo nano /etc/default/grub

将 GRUB_CMDLINE_LINUX_DEFAULT 更改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.vm_update_mode=3 amdgpu.ppfeaturemask=0xffffffff amdgpu.vm_fault_stop=0 amdgpu.vm_debug=1 amdgpu.gpu_recovery=1"

更新了我的 grub 配置:

sudo update-grub

然后重启!Ubuntu 正确启动,桌面环境呈现在屏幕上。我能够安装 Vulkan 库来支持游戏(参见https://linuxconfig.org/install-and-test-vulkan-on-linux):

sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils

通过 Lutris,游戏运行流畅。《侠盗猎车手 5》确实抱怨资源不足,这是因为它无法将系统 RAM 视为 GPU RAM。实际上,我的 32GB 系统 RAM 足以运行操作系统,还有足够的空间用于图形处理。我可以以 30fps 的速度运行高细节 1080p,或者以中等细节的速度运行 60fps。

相关内容