I have a Lenovo Legion Slim 7 laptop (15ACH6) running Manjaro 21.2.4, kernel 5.16.11, hybrid (switchable) graphics mode.
On a clean boot, I cannot change the system brightness, but after putting the system to sleep and then resuming, the brightness controls work just fine (although the brightness level is not preserved).
Contents of /sys/class/backlight
:
amdgpu_bl1 -> ../../devices/pci0000:00/0000:00:08.1/0000:05:00.0/backlight/amdgpu_bl1/
nvidia_0 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/backlight/nvidia_0/
nvidia_wmi_ec_backlight -> ../../devices/pci0000:00/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/603E9613-EF25-4338-A3D0-C46177516DB7/backlight/nvidia_wmi_ec_backlight/
When using Fn
keys to change the brightness (or the system slider) the brightness value is written to the nvidia_wmi_ec_backlight/brightness
file, the other 2 stay the same.
On kernels < 5.16, the nvidia_wmi_ec_backlight
module is not present, and I cannot change the brightness whatsoever.
I am wondering what causes this module to behave correctly only after resuming from sleep. I am suspecting some kind of race condition or improper initialization. What kind of investigation should I do in order to understand this behaviour?
EDIT: It appears that on a clean boot I can control the brightness using the amdgpu_bl1
controller:
echo 50 | sudo tee /sys/class/backlight/amdgpu_bl1/brightness
After resuming from sleep, nvidia_wmi_ec_backlight
becomes responsible.
I tried most of the “common” fixes, including setting:
amdgpu.backlight=0
acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native
but to no avail.
There are no failed services – sudo systemctl list-units --state failed
UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.
Loaded nVidia kernel modules:
Module Size Used by
nvidia_uvm 2650112 0
nvidia_drm 73728 2
nvidia_modeset 1163264 3 nvidia_drm
nvidia_wmi_ec_backlight 16384 0
nvidia 39133184 99 nvidia_uvm,nvidia_modeset
wmi 40960 3 nvidia_wmi_ec_backlight,wmi_bmof,ideapad_laptop
Output of mhwd -li
:
> Installed PCI configs:
------------------------------------------------------------------
NAME VERSION FREEDRIVER TYPE
------------------------------------------------------------------
video-hybrid-amd-nvidia-prime 2021.12.18 false PCI
video-linux 2018.05.04 true PCI
Warning: No installed USB configs!
Output of inxi -Fazy
:
System:
Kernel: 5.16.11-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.16-x86_64
root=UUID=90ce05e9-c961-4edf-b296-4aa16d8b44cd rw quiet splash apparmor=1
security=apparmor resume=UUID=821b976f-e987-462e-85df-f4bc737f4dec
udev.log_priority=3
Desktop: GNOME 41.4 tk: GTK 3.24.31 wm: gnome-shell dm: GDM 41.3
Distro: Manjaro Linux base: Arch Linux
Machine:
Type: Laptop System: LENOVO product: 82K8 v: Legion S7 15ACH6
serial: <superuser required> Chassis: type: 10 v: Legion S7 15ACH6
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
UEFI: LENOVO v: HACN27WW date: 08/02/2021
Battery:
ID-1: BAT0 charge: 68.7 Wh (94.0%) condition: 73.1/71.0 Wh (102.9%)
volts: 15.4 min: N/A model: LGC L20L4PD3 type: Li-poly serial: <filter>
status: Discharging cycles: 5
Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 3
serial: <filter> charge: 100% (should be ignored) rechargeable: yes
status: Discharging
CPU:
Info: model: AMD Ryzen 9 5900HX with Radeon Graphics bits: 64 type: MT MCP
arch: Zen 3 family: 0x19 (25) model-id: 0x50 (80) stepping: 0
microcode: 0xA50000C
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
L3: 16 MiB desc: 1x16 MiB
Speed (MHz): avg: 1242 high: 1820 min/max: 1200/4679 boost: enabled
scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1198 2: 1196
3: 1310 4: 1820 5: 1197 6: 1197 7: 1196 8: 1196 9: 1197 10: 1196 11: 1197
12: 1197 13: 1195 14: 1197 15: 1197 16: 1197 bogomips: 105440
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown 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: Full AMD retpoline, IBPB: conditional,
IBRS_FW, STIBP: always-on, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
driver: nvidia v: 510.54 alternate: nouveau,nvidia_drm pcie: gen: 1
speed: 2.5 GT/s lanes: 8 link-max: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 01:00.0 chip-ID: 10de:2560 class-ID: 0300
Device-2: AMD Cezanne vendor: Lenovo driver: amdgpu v: kernel pcie: gen: 3
speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: eDP-1
empty: DP-1,DP-2 bus-ID: 05:00.0 chip-ID: 1002:1638 class-ID: 0300
Device-3: Syntek Integrated Camera type: USB driver: uvcvideo
bus-ID: 3-3:2 chip-ID: 174f:2435 class-ID: 0e02
Display: x11 server: X.org v: 1.21.1.3 compositor: gnome-shell driver: X:
loaded: amdgpu,ati,nvidia unloaded: modesetting,nouveau,radeon
alternate: fbdev,nv,vesa gpu: amdgpu display-ID: :1 screens: 1
Screen-1: 0 s-res: 3840x2160 s-size: <missing: xdpyinfo>
Monitor-1: eDP res: 3840x2160 hz: 60 dpi: 284 size: 344x194mm (13.5x7.6")
diag: 395mm (15.5")
OpenGL: renderer: AMD RENOIR (DRM 3.44.0 5.16.11-2-MANJARO LLVM 13.0.1)
v: 4.6 Mesa 21.3.7 direct render: Yes
Audio:
Device-1: NVIDIA vendor: Lenovo driver: snd_hda_intel v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 8 link-max: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:228e class-ID: 0403
Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor
vendor: Lenovo driver: N/A
alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x pcie: gen: 3
speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 05:00.5
chip-ID: 1022:15e2 class-ID: 0480
Device-3: AMD Family 17h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
speed: 16 GT/s bus-ID: 05:00.6 chip-ID: 1022:15e3 class-ID: 0403
Sound Server-1: ALSA v: k5.16.11-2-MANJARO running: yes
Sound Server-2: JACK v: 1.9.20 running: no
Sound Server-3: PulseAudio v: 15.0 running: yes
Sound Server-4: PipeWire v: 0.3.47 running: no
Network:
Device-1: Intel Wi-Fi 6 AX200 vendor: Rivet Networks Killer™
driver: iwlwifi v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 02:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlp2s0 state: up mac: <filter>
Bluetooth:
Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-3:3
chip-ID: 8087:0029 class-ID: e001
Report: rfkill ID: hci0 rfk-id: 4 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: see --recommends
Drives:
Local Storage: total: 953.87 GiB used: 167.83 GiB (17.6%)
SMART Message: Required tool smartctl not installed. Check --recommends
ID-1: /dev/nvme0n1 maj-min: 259:0 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: 32.9 C scheme: GPT
Partition:
ID-1: / raw-size: 921.36 GiB size: 905.83 GiB (98.31%)
used: 167.83 GiB (18.5%) fs: ext4 dev: /dev/nvme0n1p3 maj-min: 259:3
ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
used: 288 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 32 GiB used: 0 KiB (0.0%) priority: -2
dev: /dev/nvme0n1p2 maj-min: 259:2
Sensors:
System Temperatures: cpu: N/A mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 365 Uptime: 19m wakeups: 16 Memory: 30.79 GiB
used: 4.02 GiB (13.1%) Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.2.0 Packages: pacman: 1225 lib: 328 Shell: Zsh v: 5.8.1
running-in: kitty inxi: 3.3.13