Ubuntu 20.04 - Blank screen on laptop with nvidia proprietary drivers - HP Pavilion 15 ec1001na

I cannot get my new laptop to display the Ubuntu login screen when using NVIDIA proprietary drivers.

I have a new HP Pavilion 15 Gaming ec1001na with the following specs:

  • CPU: AMD Ryzen 5 4600H
  • GPU: NVIDIA GeForce GTX 1650
  • RAM: 8GB 3200MHz SODIMM DDR4 (2 x 4GB sticks)
  • Storage: Windows 10 on 256GB NVMe SSD, Ubuntu on 512GB Samsung EVO SSD
  • Bootloader: Grub on 512GB SSD, defaulting to Ubuntu, SecureBoot turned off

I can only get the laptop to boot into Ubuntu if I uninstall all NVIDIA drivers and activate (unblacklist) the open-source Nouveau driver. However, the frame rate with the Nouveau driver is diabolical (1-2fps) when running the Unigine Valley benchmark. (I also can’t get Lutris to run Epic Games due to a Vulkan driver issue despite the drivers being installed.) So the Nouveau driver is just not good enough.

I have tried all the following drivers (taking care to uninstall the old drivers before trying a new one):

  • NVIDIA Linux 430.09 installed via the ubuntu graphics-drivers ppa
  • NVIDIA Linux 430.09 installed via the NVIDIA installable (NVIDIA-Linux-x86_64-430.09.run)
  • NVIDIA Linux 435.21 installed via the ubuntu graphics-drivers ppa
  • NVIDIA Linux 435.21 installed via the NVIDIA installable (NVIDIA-Linux-x86_64-435.21.run)
  • NVIDIA Linux 450.57 installed via the ubuntu graphics-drivers ppa
  • NVIDIA Linux 450.57 installed via the NVIDIA installable (NVIDIA-Linux-x86_64-450.57.run)

For each one, I have tried booting with nomodeset and without nomodeset in the Grub config.

I have tried using both these display managers with each:

  • gdm3
  • Lightdm

lspci | grep VGA shows:

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)

I have tried disabling Wayland for gdm3:

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

I have modified the X11 to directly address the NVIDIA graphics card:

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

With any of the proprietary drivers, I simply can’t reach the login screen. I just see either a flashing horizontal cursor on the top left of the screen, or a completely black screen. I can access tty2 and I can SSH into the laptop.

My NVIDIA bug report output (I’ve removed repeated lines and the base64 log blocks to fit it in the size limit):
https://paste.ubuntu.com/p/73MGTYhTh9/

How do I get the NVIDIA proprietary drivers working on Ubuntu 20.04?

(Alternatively, how do I get Nouveau producing an actual sane usable frame rate in video rendering / gaming?)

Update 2020-07-30:
When I thought the system was booting into the Ubuntu desktop environment on Nouveau, it was actually running on the AMD 4600H integrated graphics (amdgpu).

So any attempt to run on the nVidia GPU whether by Nouveau or by proprietary drivers seems to fail.

I’m able to return this laptop under RMA if you think it’ll be impossible to get working?

I’ve disabled the NVIDIA graphics card and have reverted to using the AMD integrated graphics, with Vulkan drivers.

After upgrading the Linux kernel to 5.7, AMDGPU is now working extremely well with good performance on gaming.

It’s a shame the NVIDIA proprietary drivers failed to work here. But lesson learned, I’ll go AMD from now on on Linux.

I sort of solved the black screen issue but the screen flickers after waking up from sleep while using nvidia drivers.