Black Screen on Login Screen after boot on Lenovo Legion Slim 5 16APH8

Hi everyone,
I recently switched to Fedora, and I am facing a black screen issue. Once the system boots up, the screen goes black. I tried switching to VT using Ctrl+Alt+F3, but nothing changes.
This issue was also present during booting from Live USB (using ventoy), but at that time I bypassed it by adding nomodeset in the grub menu. I had hoped that it would be fixed when I ran updates after installation.

My original thought was that it is stuck in boot, but I have found that only the display not working after boot. In the VT, I can type my credentials and run commands. Nothing is
visible, but I can hear beeps.

If the system goes to suspend state and is then resumed, the display starts working. For now, I suspend it after boot using the power key and login.

I thought this was related to this issue, but I tried booting from a rawhide ISO (Fedora-Workstation-Live-x86_64-Rawhide-20240609.n.0.iso) with kernel 6.10.0-0.rc2 (which has the fix for the issue). I still get the same black screen from the live USB. On a related note, this black screen doesn’t occur when I boot from a fedora 39 iso (with kernel 6.5.6-300.fc39.x86_64).

Another display issue, that I sometimes see, is that apps which are maximized become completely white. They switch back to their contents, If they are resized to any size smaller than maximum. This shows for most of the apps like Firefox, Thunderbird, evolution, Files but never for Terminal. Not sure if this is related to black screen issue or not.

My system specs:

Hardware Information:

  • Hardware Model: Lenovo Legion Slim 5 16APH8
  • Memory: 16.0 GiB
  • Processor: AMD Ryzen™ 7 7840HS w/ Radeon™ 780M Graphics × 16
  • Graphics: AMD Radeon™ 780M
  • Graphics 1: NVIDIA GeForce RTX™ 4060 Laptop GPU
  • Disk Capacity: 1.0 TB

Software Information:

  • Firmware Version: M3CN41WW
  • OS Name: Fedora Linux 40 (Workstation Edition)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 46
  • Windowing System: Wayland
  • Kernel Version: Linux 6.8.11-300.fc40.x86_64

Does anyone have any which might help me solve or isolate the cause of this? Thanks in advance.

I suspect you may not have installed the nvidia drivers from the rpmfusion repo. Nouveau can only manage that GPU when ‘nomodeset’ is used, but the nvidia drivers will usually provide proper displays with the graphical desktop.

You can test that by using the grub menu during boot, editing the grub commands, and entering ‘nomodeset’ into the kernel command line (the one that starts with linux)

Booting with nomodeset, doesn’t show the black screen.
Based on system output, it seems like the window system switched to x11 and now only nvidia gpu is shown.

Hardware Information:

  • Hardware Model: Lenovo Legion Slim 5 16APH8
  • Memory: 16.0 GiB
  • Processor: AMD Ryzen™ 7 7840HS w/ Radeon™ 780M Graphics × 16
  • Graphics: NVIDIA GeForce RTX™ 4060 Laptop GPU
  • Disk Capacity: 1.0 TB

Software Information:

  • Firmware Version: M3CN41WW
  • OS Name: Fedora Linux 40 (Workstation Edition)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 46
  • Windowing System: X11
  • Kernel Version: Linux 6.8.11-300.fc40.x86_64

the amd gpu is still visible in lspci, so it is at least detected.

❯ lspci | grep -e VGA
25:01:00.0 VGA compatible controller: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] (rev a1)
30:05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 (rev c2)

This does seems to solve my problem. But it feels like I bypassed the problem by using the Nvidia, like if I only had AMD, this would not have worked, right?

I think this is a workaround and not a solution.

Do you have the nvidia drivers installed? If so then from where?

dnf list installed \*nvidia\* and lsmod | grep nvidia should answer that.

Yes

❯ dnf list installed \*nvidia\*
Installed Packages
akmod-nvidia.x86_64                                                    3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
kmod-nvidia-6.8.11-300.fc40.x86_64.x86_64                              3:550.78-1.fc40                               @@commandline                   
libva-nvidia-driver.i686                                               0.0.12-2.fc40                                 @updates                        
libva-nvidia-driver.x86_64                                             0.0.12-2.fc40                                 @updates                        
nvidia-gpu-firmware.noarch                                             20240513-1.fc40                               @updates                        
nvidia-modprobe.x86_64                                                 3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
nvidia-persistenced.x86_64                                             3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
nvidia-settings.x86_64                                                 3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia.x86_64                                             3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda.x86_64                                        3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda-libs.i686                                     3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda-libs.x86_64                                   3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-kmodsrc.x86_64                                     3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-libs.i686                                          3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-libs.x86_64                                        3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-power.x86_64                                       3:550.78-1.fc40                               @rpmfusion-nonfree-nvidia-driver
❯ lsmod | grep nvidia
24:nvidia_drm            131072  2
25:nvidia_modeset       1605632  2 nvidia_drm
26:nvidia_uvm           6782976  0
30:nvidia              60518400  37 nvidia_uvm,nvidia_modeset
107:nvidia_wmi_ec_backlight    12288  0
140:video                  77824  4 nvidia_wmi_ec_backlight,amdgpu,ideapad_laptop,nvidia_modeset
151:wmi                    36864  4 video,nvidia_wmi_ec_backlight,wmi_bmof,ideapad_laptop

The only thing strange that I see installed is the libva-nvidia-driver. I don’t use that package and wonder if it may be the cause of your problem.

You might try removing it sudo dnf remove libva-nvidia-driver then reboot and see if it makes a change. You could always reinstall it later if needed.

libva-nvidia-driver is for Hardware Acceleration, Howto/Multimedia - RPM Fusion.

It should not be a problem as I installed it today only, and the problem has been occurring long before that. Still, I will uninstall it tomorrow and check.

Have you done a full upgrade recently? sudo dnf upgrade --refresh

According to the link that is only needed for using vaapi

I have removed libva-nvidia-driver and also ran sudo dnf upgrade --refresh. There were some updates for zlib, and one for gnome-initial-setup.

But I am still seeing the black screen after boot.

Have you tried using journalctl to find more details of the issue? You may want to compare the current journalctl with output from the F39 Live USB. Once you find the right “filters” you can redirect the journalctl output to persistent storage for comparison.

I got journalctl -b logs from 3 sources F39 Live USB, F40 Live USB and F40 Installed version. I tried looking at diff but was not able to find anything concrete.
In F39 Live vs F40 Live, i found a bunch of lines like
nouveau 0000:01:00.0: gsp: cli:0xc1d00002 obj:0x00730000 ctrl cmd:0x00731341 failed: 0x0000ffff in the F40 live logs. But nothing like this is present in F40 installed logs.