Ubuntu 20.04 boot hangs at "Firmware init done" if NVIDIA drivers installed

I am using a laptop with an RTX 4060. Ubuntu 20.04 was working fine with some NVIDIA drivers (I can’t remember which). I changed the drivers (via the "additional drivers" gui) to fix an unrelated issue.

Since then I have not been able to boot into the desktop with any NVIDIA drivers installed, because after selecting ubuntu 20.04 in the boot manager, the screen hangs at

[0.267277] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCIO.GP18.SATA], AE_NOT_FOUND. (20210730/dswload2-162)
[0.267288] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20210730/ps object-220)
[0.271683] ACPI BIOS Error (bug) : Failure creating named object [1_SB.PCIO.GPP6.WLAN._SOW), AE_ALREADY_EXISTS (20210730/dswload2-326)
[0.271687] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20210730/psobject-220)
[0.271693] ACPI BIOS Error (bug): Failure creating named object [_SB.PCIO.GPP7.DEV0._SOW, AE_ALREADY_EXISTS (20210730/dswload2-326)
[0.271696] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20210730/psobject-220)
/dev/nvme0n1p6: clean, 134841/15261696 files, 3142671/61040384 blocks
[3.148636] mt7921e 0000:03:00.0: ASIC revision: 79220010
[3.207845] nouveau 0000:01:00.0: unknown chipset (19700081)
[3.284114] mt7921e 0000:03:00.0: Firmware init done

If I boot into recovery mode, uninstall all nvidia drivers (sudo apt remove --purge *nvidia*), and reboot, everything works fine.

I installed a fresh distribution, followed the instructions here to install cuda/nvidia drivers (sudo apt-get install -y cuda-drivers which installed the 550 drivers), and the problem recurred.

Am I installing the wrong drivers? I’ve tried some versions of the 550, 545, and 525. Is there a way to know specifically which drivers to install for my hardware?

I ran nvidia-bug-report.sh and posted the contents here.

Edit: the issue doesn’t seem the depend on the driver version, so suggestions on how to diagnose the underlying problem would be appreciated.

Asked By: Alex Gisi

||

I neglected to mention the laptop was a Lenovo Legion. The issue was not with the drivers in particular. This reddit comment explains the problem and the solution:

I’m pretty sure it’s the advanced optimus being in use. The hybrid mode is off, but the settings in NVidia control panel is on the optimus. So the laptop is set to run on the dGPU mode but the dGPU is inactive because you set optimus on, which is run by iGPU. Please try to get to the BIOS by pressing F2 while booting (while Legion logo appears) and set to hybrid mode in BIOS.

Answered By: Alex Gisi