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.
cscs
3 October 2024 19:45
3
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.
cscs
3 October 2024 20:07
5
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).
cscs
3 October 2024 20:46
7
sleepy:
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
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.
Good news, everyone! I’ve just added the following packages to the repos:
EnvyControl (envycontrol)
For GNOME users: GPU Profile Selector GNOME Shell Extension (gnome-shell-extension-gpu-profile-selector)
For KDE users: Optimus GPU Switcher KDE Plasma Widget (plasma6-applets-optimus-gpu-switcher)
supergfxctl (supergfxctl)
For GNOME users: supergfxctl-gex GNOME Shell Extension (gnome-shell-extension-supergfxctl)
As of supergfxctl 6.0.0, there is no longer an extension, however it can be co…
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?
cscs
3 October 2024 20:56
9
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
sleepy
3 October 2024 22:00
10
Thank you, everything is now working.
1 Like
system
Closed
6 October 2024 22:01
11
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.