After update using optimus through optimus-manager results in black screen

Hello, since updating my laptop today, I have a similar error. When using NVIDIA in Optimus, I get a black screen during login. Switching to the integrated graphics (AMD Vega) works.

One suspicious thing I noticed, that wasn’t there before, when running journalctl -u lightdm, are these lines:

Oct 03 14:20:30 mycomp lightdm[2488]: [63] ERROR: Cannot setup PRIME (xrandr error):
Oct 03 14:20:30 mycomp lightdm[2488]: None
Oct 03 14:20:30 mycomp lightdm[2488]: [63] INFO: Running /etc/optimus-manager/xsetup-nvidia.sh
Oct 03 14:20:30 mycomp lightdm[2488]: [75] ERROR: Cannot set DPI (xrandr error):

I was using kernel 5.15 during the update, but I also tried to update to the latest recommended kernel (6.6), with the same results (black screen on NVIDIA driver).

Relevant packages that were affected in the latest update (per pacman.log):

[2024-10-03T13:21:11+0200] [ALPM] upgraded mhwd-nvidia-390xx (390.157-11 -> 390.157-14)
[2024-10-03T13:21:11+0200] [ALPM] upgraded mhwd-nvidia-470xx (470.256.02-1 -> 470.256.02-4)
[2024-10-03T13:21:11+0200] [ALPM] upgraded mhwd-nvidia (550.90.07-3 -> 550.120-1)
[2024-10-03T13:21:20+0200] [ALPM] upgraded nvidia-prime (1.0-4 -> 1.0-5
[2024-10-03T13:21:04+0200] [ALPM] upgraded linux515-nvidia (550.90.07-3 -> 550.120-1)
[2024-10-03T13:20:16+0200] [ALPM] upgraded lib32-nvidia-utils (550.90.07-2 -> 550.120-1)
[2024-10-03T13:18:33+0200] [ALPM] upgraded nvidia-utils (550.90.07-3 -> 550.120-1)

And also after updating to kernel 6.6

[2024-10-03T15:03:04+0200] [ALPM] installed linux66-nvidia (550.120-2)

So the problem seems to be related to the 550.120 driver?

Hey, thanks. I didn’t change anything in the BIOS though. This worked flawlessly before the update, so I think it should continue to work even after the update.

The original poster did though.


You should maybe start your own thread and include system information like

inxi -Farz

Though I might note that …

What does this mean? That you use something like optimus-manager?
(You probably shouldnt.)

Oh, looks like you are.

Well … first steps are to remove that garbage and undo the extra things it requires.
(like the hacky additions to your display manager [lightdm])

Here is the output of inxi -Farz:

System:
  Kernel: 6.6.52-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: hpet avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=c8f0668f-01f1-48d7-88b9-4754cef88b9e rw quiet apparmor=1
    security=apparmor resume=UUID=82b3c456-628b-88b9-88b9-fabbbf9804a1
    udev.log_priority=3
  Desktop: Cinnamon v: 6.2.9 tk: GTK v: 3.24.43 wm: Muffin v: 6.2.0 tools:
    avail: cinnamon-screensaver vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro
    base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 82EY v: IdeaPad Gaming 3 15ARH05
    serial: <superuser required> Chassis: type: 10 v: IdeaPad Gaming 3 15ARH05
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    part-nu: LENOVO_MT_82EY_BU_idea_FM_IdeaPad Gaming 3 15ARH05
    uuid: <superuser required> UEFI-[Legacy]: LENOVO v: FCCN13WW
    date: 06/29/2020
Battery:
  ID-1: BAT0 charge: 40.6 Wh (96.4%) condition: 42.1/45.5 Wh (92.6%)
    volts: 12.6 min: 11.4 model: Sunwoda L19D3PF4 type: Li-poly serial: <filter>
    status: not charging cycles: 27
CPU:
  Info: model: AMD Ryzen 5 4600H with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 2 gen: 2 level: v3 note: check built: 2020-22
    process: TSMC n7 (7nm) family: 0x17 (23) model-id: 0x60 (96) stepping: 1
    microcode: 0x8600104
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 6 threads: 12 tpc: 2
    smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB
    desc: 6x512 KiB L3: 8 MiB desc: 2x4 MiB
  Speed (MHz): avg: 2855 min/max: 1400/3000 boost: enabled scaling:
    driver: acpi-cpufreq governor: schedutil cores: 1: 2855 2: 2855 3: 2855
    4: 2855 5: 2855 6: 2855 7: 2855 8: 2855 9: 2855 10: 2855 11: 2855 12: 2855
    bogomips: 71901
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  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: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT enabled with STIBP
    protection
  Type: spec_rstack_overflow mitigation: Safe RET
  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: Retpolines; IBPB: conditional; STIBP:
    always-on; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] vendor: Lenovo
    driver: nvidia v: 550.120 alternate: nouveau,nvidia_drm non-free: 550.xx+
    status: current (as of 2024-09; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 8 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0
    chip-ID: 10de:1f95 class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Renoir [Radeon Vega Series /
    Radeon Mobile Series] vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5
    code: Vega process: GF 14nm built: 2017-20 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: eDP-1 empty: none bus-ID: 05:00.0
    chip-ID: 1002:1636 class-ID: 0300 temp: 60.0 C
  Device-3: Syntek Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-3:4 chip-ID: 174f:244c
    class-ID: 0e02 serial: <filter>
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.2 driver: X:
    loaded: modesetting dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: AU Optronics 0xd1ed built: 2019 res: 1920x1080
    hz: 120 dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
    drv: nvidia device: 1 drv: radeonsi device: 2 drv: swrast gbm:
    drv: kms_swrast surfaceless: drv: nvidia x11: drv: radeonsi
    inactive: wayland
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa v: 24.2.2-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
    renoir LLVM 18.1.8 DRM 3.54 6.6.52-1-MANJARO) device-ID: 1002:1636
    memory: 500 MiB unified: no
Audio:
  Device-1: NVIDIA driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s
    lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10fa
    class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] ACP/ACP3X/ACP6x Audio Coprocessor
    vendor: Lenovo driver: N/A alternate: snd_pci_acp3x, snd_rn_pci_acp3x,
    snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps,
    snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 05:00.5 chip-ID: 1022:15e2
    class-ID: 0480
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h HD Audio
    vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 05:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.6.52-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.2.3 status: off tools: pw-cli
  Server-3: PulseAudio v: 17.0 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl,pavucontrol
Network:
  Device-1: Realtek RTL8111/8168/8211/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: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: eno1 state: down mac: <filter>
  Device-2: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
    vendor: Lenovo driver: rtw_8822ce v: N/A modules: rtw88_8822ce pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 2000 bus-ID: 04:00.0 chip-ID: 10ec:c822
    class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  Info: services: NetworkManager, ntpd, wpa_supplicant
Bluetooth:
  Device-1: Realtek Bluetooth Radio driver: btusb v: 0.8 type: USB rev: 1.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3:3 chip-ID: 0bda:c123
    class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 3 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 378.09 GiB (79.3%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZALQ512HALU-000L2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: AL2QFXV7 temp: 39.9 C scheme: MBR
Partition:
  ID-1: / raw-size: 460.36 GiB size: 452.06 GiB (98.20%)
    used: 377.42 GiB (83.5%) fs: ext4 dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 16.58 GiB used: 688.8 MiB (4.1%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:2
Sensors:
  System Temperatures: cpu: 70.0 C mobo: N/A gpu: amdgpu temp: 60.0 C
  Fan Speeds (rpm): N/A
Repos:
  Packages: pm: pacman pkgs: 1730 libs: 512 tools: pamac,yay pm: flatpak
    pkgs: 0
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://mirror.vinehost.net/manjaro/stable/$repo/$arch
    2: http://manjaro.mirrors.uk2.net/stable/$repo/$arch
    3: https://mirrors.cicku.me/manjaro/stable/$repo/$arch
    4: https://ct.mirror.garr.it/mirrors/manjaro/stable/$repo/$arch
    5: https://nnenix.mm.fcix.net/manjaro/stable/$repo/$arch
    6: http://mirror.xeonbd.com/manjaro/stable/$repo/$arch
    7: https://mirror.kamtv.ru/manjaro/stable/$repo/$arch
    8: https://linorg.usp.br/manjaro/stable/$repo/$arch
Info:
  Memory: total: 16 GiB note: est. available: 15 GiB used: 5.39 GiB (35.9%)
  Processes: 355 Power: uptime: 6h 48m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 5.99 GiB services: csd-power,upowerd
    Init: systemd v: 256 default: graphical tool: systemctl
  Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: Bash v: 5.2.32
    running-in: gnome-terminal inxi: 3.3.36

As for Optimus Manager, I use it to switch between modes. But regardless whether it is good to have it or not, I don’t think a proper solution is, after an upgrade that introduced a bug, to start messing around with more parts – that introduces more uncertainty into the equation. Something changed in the packages that caused this bug, and it would be I think preferable to understand what it is before modifying potentially unrelated parts that could cause more breakage. This setup has been serving me reliably for at least 2 years.

Having Optimus has at least allowed me to easily switch to Integrated mode optimus-manager --switch integrated, and in my understanding, it’s just a thin wrapper that configures Xorg.

No, it makes sense to remove extra layers between you and how the things are supposed to work … especially if they are known to be junk … before you can even consider it a ‘regression’ or similar with the underlying tools.

We might want to double check on mhwd too:

mhwd -li -l

When you are done with that let us review the normal operations.
If you are using PRIME then we should be able to check its function with;

glxinfo | grep 'renderer string'
prime-run glxinfo | grep 'renderer string'

Note: I have just moved these messages from the previous thread into their own topic.

This is the result of mhwd -li -l:

Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2024.05.06                true            PCI
video-hybrid-amd-nvidia-prime            2023.03.23               false            PCI


Warning: No installed USB configs!
0000:03:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI

0000:01:00.0 (0300:10de:1f95) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-amd-nvidia-prime            2023.03.23               false            PCI
video-hybrid-amd-nvidia-470xx-prime            2023.03.23               false            PCI
          video-nvidia            2024.05.03               false            PCI
    video-nvidia-470xx            2023.03.23               false            PCI
           video-linux            2024.05.06                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


0000:05:00.0 (0300:1002:1636) Display controller ATI Technologies Inc:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-amd-nvidia-prime            2023.03.23               false            PCI
video-hybrid-amd-nvidia-470xx-prime            2023.03.23               false            PCI
           video-linux            2024.05.06                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

glxinfo | grep 'renderer string' yields AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.8, DRM 3.54, 6.6.52-1-MANJARO) and prime-run glxinfo | grep 'renderer string' yields NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2

FWIW, /etc/optimus-manager/xsetup-nvidia.sh doesn’t actually contain anything, only comments:

#!/bin/sh

# Everything you write here will be executed by the display manager when setting up the login screen in "nvidia" mode.
# (but before optimus-manager sets up PRIME with xrandr commands).

Great. So I might assume this is from a working desktop?
It shows PRIME functioning as expected.

Now … of course … most people prefer to have their iGPU be used most of the time, and then only use the dGPU for intensive tasks like 3D gaming.

(ex, steam game options with prime-run %command%)

But if you really want to be able to boot into just the iGPU or just the dGPU for whatever reason, and the more manual methods are not acceptable, ie: you want a switcher utility thing…

Then I would suggest envycontrol as one of the more reasonable options.

So far it looks your problem was just optimus-manager itself.

Just to understand your suggestion: I would be uninstalling optimus-manager and optimus-manager-qt and installing envycontrol, and afterwards: envycontrol -s nvidia to switch to NVIDIA, would that be all?

My suggestion is to remove optimus-manager and related packages no matter what else you do.

I still dont know if you actually need a switcher utility.

Just to be clear - the ‘hybrid mode’ of using the iGPU and calling the dGPU with prime-run is how it already works with no switcher tool.

(prime-run blender … and you launch blender with the nvidia, etc)

But if you want one … then yes, I suggest envycontrol.
Whether you use it from the command-line or one of its desktop GUI’s should not make a difference.

But yes, the basic operation of envycontrol to switch to the ‘nvidia-only’ mode would be

envycontrol -s nvidia

Thank you, everything is now working. :pray:

1 Like

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