Lenovo Legion 5i 2021 boots to black screen after NVIDIA driver install

I recently got myself a 2021 Lenovo Legion 5i, i7 11800h, RTX 3060. I installed Manjaro from the latest ISO and if during setup I choose to install the proprietary GPU drivers it doesn’t boot. It gets stuck on a black screen with a non-blinking cursor, top left.

So in order to boot to a working desktop I choose to install nouveau during installation. Once booted into the system I proceed to install nvidia, nvidia-utils, lib32-nvidia-utils, nvidia-prime. Then I set nvidia_drm.modeset=1 kernel parameter in grub, update grub, open up mkinitcpio.conf and allow for early loading of i915, nvidia, nvidia_modeset, nvidia_uvm and nvidia_drm. Then after mkinitcpio -P I reboot.

To a black screen.

Now, I have also tried Endeavour and Vanilla Arch, but they both boot to a black screen after installing NVIDIA.

FWIW, the only distribution that I managed to get working on the laptop is the Fedora-based Nobara Project.

Any idea what I’m missing to get Arch running on this laptop?

System:
  Kernel: 5.19.7-204.fsync.fc36.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.37-36.fc36
    parameters: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.19.7-204.fsync.fc36.x86_64
    root=/dev/mapper/nobara_localhost--live00-root ro
    rd.lvm.lv=nobara_localhost-live00/root rhgb quiet
    rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
    nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init
  Desktop: GNOME v: 42.3.1 tk: GTK v: 3.24.34 wm: gnome-shell dm: GDM
    v: 42.0 Distro: Nobara release 36 (Thirty Six)
Machine:
  Type: Laptop System: LENOVO product: 82JM v: Legion 5 17ITH6H
    serial: <superuser required> Chassis: type: 10 v: Legion 5 17ITH6H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    UEFI: LENOVO v: H1CN45WW date: 11/26/2021
Battery:
  ID-1: BAT0 charge: 83.5 Wh (100.0%) condition: 83.5/80.0 Wh (104.4%)
    volts: 17.5 min: 15.4 model: Celxpert L20C4PC2 type: Li-poly
    serial: <filter> status: full
CPU:
  Info: model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
    arch: Tiger Lake gen: core 11 built: 2020 process: Intel 10nm family: 6
    model-id: 0x8D (141) stepping: 1 microcode: 0x40
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
    L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 2225 high: 2300 min/max: 800/4600 scaling:
    driver: intel_pstate governor: powersave cores: 1: 2300 2: 2300 3: 2300
    4: 2300 5: 2300 6: 2300 7: 2300 8: 2300 9: 1100 10: 2300 11: 2300
    12: 2300 13: 2300 14: 2300 15: 2300 16: 2300 bogomips: 73728
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB
    filling, PBRSB-eIBRS: SW sequence
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Lenovo driver: i915
    v: kernel arch: Gen12.1 process: Intel 10nm built: 2020-21 ports:
    active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4, DP-5, HDMI-A-1
    bus-ID: 00:02.0 chip-ID: 8086:9a60 class-ID: 0300
  Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
    driver: nvidia v: 515.65.01 alternate: nouveau,nvidia_drm non-free: 515.xx+
    status: current (as of 2022-06) arch: Ampere process: TSMC n7 (7nm)
    built: 2020-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s ports: active: none empty: DP-6, DP-7, HDMI-A-2, eDP-2
    bus-ID: 01:00.0 chip-ID: 10de:2560 class-ID: 0300
  Device-3: Syntek Integrated Camera type: USB driver: uvcvideo
    bus-ID: 3-6:2 chip-ID: 174f:2459 class-ID: fe01 serial: <filter>
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 22.1.3
    compositor: gnome-shell driver: gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: AU Optronics 0x449d built: 2018 res: 1920x1080
    dpi: 128 gamma: 1.2 size: 382x215mm (15.04x8.46") diag: 438mm (17.3")
    ratio: 16:9 modes: 1920x1080
  OpenGL: renderer: Mesa Intel UHD Graphics (TGL GT1)
    v: 4.6 Mesa 22.3.0-devel direct render: Yes
Audio:
  Device-1: Intel Tiger Lake-H HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:43c8 class-ID: 0403
  Device-2: NVIDIA GA106 High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 01:00.1 chip-ID: 10de:228e
    class-ID: 0403
  Sound Server-1: ALSA v: k5.19.7-204.fsync.fc36.x86_64 running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.57 running: yes
Network:
  Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:43f0 class-ID: 0280
  IF: wlp0s20f3 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 58:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp88s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 3-14:4 chip-ID: 8087:0026 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
  Local Storage: total: 1.16 TiB used: 19.43 GiB (1.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 250GB size: 232.89 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 38.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:4 vendor: SK Hynix model: HFS001TDE9X084N
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 41010C22
    temp: 39.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 231.3 GiB size: 226.61 GiB (97.97%)
    used: 19.18 GiB (8.5%) fs: ext4 dev: /dev/dm-0 maj-min: 253:0
    mapped: nobara_localhost--live00-root
  ID-2: /boot raw-size: 1024 MiB size: 973.4 MiB (95.06%)
    used: 227.6 MiB (23.4%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-3: /boot/efi raw-size: 600 MiB size: 598.8 MiB (99.80%)
    used: 29.9 MiB (5.0%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 50 (default 100)
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 42.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 359 Uptime: 20m wakeups: 1 Memory: 15.41 GiB
  used: 4.16 GiB (27.0%) Init: systemd v: 250 target: graphical (5)
  default: graphical tool: systemctl Compilers: gcc: 12.2.1 clang: 14.0.5
  Packages: N/A note: see --pkg flatpak: 0 Shell: Bash v: 5.1.16
  running-in: gnome-terminal inxi: 3.3.19

To get it booting, press e at the grub screen and add ibt=off to the options.

If that works, after booting, add ibt=off in the cmdline options in /etc/default/grub and then run sudo grub-mkconfig -o /boot/grub/grub.cfg

Alternatively, you could use the LTS kernel where this shouldn’t exist.

2 Likes

I will try this on my next attempt. For now, I need a working machine so at least for today I’m sticking to Nobara.

But thank you for your suggestion, I will definetly try it.

That did it! Thank you muchly!

Now, if you care to tell me what this does in a few words I’d really appreciate it.

My understanding is that it is an issue in the nvidia drivers that only impacts people running recent kernels and recent intel CPUs.

The nvidia drivers are not yet compatible with ibt. When support for that was introduced to the kernel, the drivers broke.

So you can work around it by either disabling ibt until nvidia modifies the drivers or you can run an older kernel where ibt support wasn’t available yet. I suppose technically there are other things you could do like compiling a custom kernel without ibt support or replacing your physical CPU but those seem much less reasonable than the first two options. :sweat_smile:

If you are wondering what ibt is, there is a good writeup here:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.