Display Brightness Inversion on Vanilla Install of Manjaro on HP Victus 15
I wanted to try out Linux on my newly purchased HP Victus 15, so I nuked the Windows 11 it came with and installed Windows 10 LTSC and started out by installing Arch + KDE. Turns out the brightness levels were much too low and barely usable in daytime. I don’t think I mucked up anything in the install afaik, but I thought it’d be safe to install Manjaro instead and booted up the Live ISO only to be greeted by the same bug.
The Problem
This is very weird, and in all my Linux installs so far, I haven’t come across such behaviour. Here’s what happens -
- The default brightness is set too low, barely visible
- Brightness control keys work, however their behaviour is inverted
- When I press the increase brightness hotkey (F3) the brightness decreases in steps of 5% till it reaches 0%, this would usually be the 20% brightness state in Windows
- When I press the decrease brightness hotkey (F2) the brightness increases in steps of 5% till it reaches 100% but the screen backlight is the dimmest here, and unusable
-
EDIT - This is an important detail that I forgot to mention the first time around but the backlight is at max brightness during the
grub
screen and halfway into the verbose boot process-
But halfway into the boot, just around the time when the
systemd backlight
service is invoked the screen dims all the way down and stays that way
-
But halfway into the boot, just around the time when the
So, its not like the display is incapable of displaying max brightness within Linux environments (some combination of kernel params results in max brightness too).
Then, maybe an isolated issue with Manjaro, or so I thought?
Problem Persists across Distros
My first thought is that was that this could be a KDE related error, or a particular distro issue but no - this problem persists across distro, here are all the distros I have tried in the last two days - when they boot into the Live environment, all of them present me with a very dim screen and inverted brightness
- EndeavourOS - All three of their latest versions
- EndeavourOS Cassini
- EndeavourOS Artemis Nova
- EndeavourOS Artemis
- Fedora
- Fedora 37
- Fedora 36
- Pop OS
- Pop OS 21 Nvidia
I also naively thought mhwd
could be an issue, so I tried distros other than Manjaro, but I finally found the balance between usability and having access to the AUR in Manjaro, so I have a fully updated Manjaro KDE install now, hardware details are as follows
Hardware Info
Device - HP Victus 15 FB0xxx
CPU - Ryzen 5 5600H
GPU - Nvidia RTX 3050Ti Mobile
Display - 144hz 1080p panel
OS - Manjaro KDE
Kernel - Linux 5.15.84 Manjaro
DE - Plasma 5.26
DGPU Driver - Nvidia video-hybrid-amd-nvidia-prime
525.60.11
IGPU Driver - video-linux
I read somewhere that Secure Boot could be a potential nuisance, so I double checked that it was disabled (it is) and my HP BIOS does not have a Discrete Graphics Only Option or a Mux Switch so that seems out of the equation here right?
Relevant News Info
The Victus 15 is a derivative of the Omen 15, so from what I can gather the Omen 15 is running Linux smoothly
- This is independently tested on Phoronix
Output Logs
Let me provide you guys with some logs so the picture of my hardware config is clearer
Kernel
uname -r
returns 5.15.81-1-MANJARO
Nvidia SMI
Nvidia SMI shows the following
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11 Driver Version: 525.60.11 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 43C P3 N/A / N/A | 6MiB / 4096MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 590 G /usr/lib/Xorg 4MiB |
+-----------------------------------------------------------------------------+
MHWD
mhwd -li
gives
NAME VERSION FREEDRIVER TYPE
video-linux 2018.05.04 true PCI
video-hybrid-amd-nvidia-prime 2021.11.04 false PCI
INXI Output
inxi -Fxxz
gives the following output
System:
Kernel: 6.0.12-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
Desktop: KDE Plasma v: 5.26.4 tk: Qt v: 5.15.7 wm: kwin_x11 dm: SDDM
Distro: EndeavourOS base: Arch Linux
Machine:
Type: Laptop System: HP product: Victus by HP Gaming Laptop 15-fb0xxx v: N/A
serial: <superuser required> Chassis: type: 10 serial: <superuser required>
Mobo: HP model: 8A3C v: 35.42 serial: <superuser required> UEFI: AMI
v: F.14 date: 09/05/2022
Battery:
ID-1: BAT0 charge: 63.6 Wh (86.4%) condition: 73.6/73.6 Wh (100.0%)
volts: 16.5 min: 15.4 model: HP Primary serial: <filter> status: discharging
CPU:
Info: 6-core model: AMD Ryzen 5 5600H with Radeon Graphics bits: 64
type: MT MCP arch: Zen 3 rev: 0 cache: L1: 384 KiB L2: 3 MiB L3: 16 MiB
Speed (MHz): avg: 458 high: 1098 min/max: 400/4280 boost: enabled cores:
1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400 10: 1098
11: 400 12: 400 bogomips: 79082
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] vendor: Hewlett-Packard
driver: nvidia v: 525.60.11 arch: Ampere pcie: speed: 8 GT/s lanes: 8
bus-ID: 01:00.0 chip-ID: 10de:25a0
Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
vendor: Hewlett-Packard driver: amdgpu v: kernel arch: GCN-5.1 pcie:
speed: 8 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1 bus-ID: 06:00.0
chip-ID: 1002:1638 temp: 46.0 C
Device-3: Chicony HP Wide Vision HD Camera type: USB driver: uvcvideo
bus-ID: 1-3:2 chip-ID: 04f2:b766
Display: x11 server: X.Org v: 21.1.6 compositor: kwin_x11 driver: X:
loaded: amdgpu unloaded: modesetting alternate: fbdev,vesa dri: radeonsi
gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96
Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x1521 res: 1920x1080
dpi: 142 diag: 394mm (15.5")
API: OpenGL v: 4.6 Mesa 22.3.1 renderer: AMD Radeon Graphics (renoir LLVM
14.0.6 DRM 3.48 6.0.12-arch1-1) direct render: Yes
Audio:
Device-1: NVIDIA vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
pcie: speed: 8 GT/s lanes: 8 bus-ID: 01:00.1 chip-ID: 10de:2291
Device-2: AMD Renoir Radeon High Definition Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
bus-ID: 06:00.1 chip-ID: 1002:1637
Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Hewlett-Packard
driver: snd_rn_pci_acp3x v: kernel pcie: speed: 8 GT/s lanes: 16
bus-ID: 06:00.5 chip-ID: 1022:15e2
Device-4: AMD Family 17h/19h HD Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
bus-ID: 06:00.6 chip-ID: 1022:15e3
Sound API: ALSA v: k6.0.12-arch1-1 running: yes
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.63 running: yes
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Hewlett-Packard driver: r8169 v: kernel pcie: speed: 2.5 GT/s
lanes: 1 port: e000 bus-ID: 02:00.0 chip-ID: 10ec:8168
IF: eno1 state: down mac: <filter>
Device-2: MEDIATEK MT7921 802.11ax PCI Express Wireless Network Adapter
vendor: AzureWave driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1
bus-ID: 03:00.0 chip-ID: 14c3:7961
IF: wlan0 state: up mac: <filter>
Bluetooth:
Device-1: IMC Networks Wireless_Device type: USB driver: btusb v: 0.8
bus-ID: 1-4:3 chip-ID: 13d3:3567
Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: disabled
rfk-block: hardware: no software: no address: see --recommends
Swap:
Alert: No swap data was found.
Sensors:
System Temperatures: cpu: 48.9 C mobo: N/A gpu: amdgpu temp: 45.0 C
Fan Speeds (RPM): fan-1: 0 fan-2: 0
System:
Kernel: 5.15.84-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
Desktop: KDE Plasma v: 5.26.4 tk: Qt v: 5.15.7 wm: kwin_x11 dm: SDDM
Distro: Manjaro Linux base: Arch Linux
LSPCI Output
lspci -v | grep 2D 3D VGA
output pertaining to graphics
01:00.0 VGA compatible controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] (rev a1) (prog-if 00 [VGA controller])
DeviceName: NVIDIA Graphics Device
Subsystem: Hewlett-Packard Company Device 8a3c
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 93, IOMMU group 11
Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
Memory at fe00000000 (64-bit, prefetchable) [size=4G]
Memory at ff00000000 (64-bit, prefetchable) [size=32M]
I/O ports at f000 [size=128]
Expansion ROM at fc000000 [virtual] [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
...
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6) (prog-if 00 [VGA controller])
DeviceName: Onboard IGD
Subsystem: Hewlett-Packard Company Device 8a3c
Flags: bus master, fast devsel, latency 0, IRQ 52, IOMMU group 16
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at e0000000 (64-bit, prefetchable) [size=2M]
I/O ports at d000 [size=256]
Memory at fc500000 (32-bit, non-prefetchable) [size=512K]
Capabilities: <access denied>
Kernel driver in use: amdgpu
Kernel modules: amdgpu
Fixes I have Tried
SysFS Directory
I did some reading from the backlight page of Arch wiki and tried out the steps one by one
ls /sys/class/backlight
shows amdgpu_bl0
- Shouldn’t there be two entries there for each controller, or is this normal?
- Maybe the reason there aren’t two entries is because I am running on hybrid mode
So, the manual override on amdgpu_bl0/brightness
with a value works, but this still doesn’t fix my problem (increasing the value continues to decrease the brightness output)
Immediate Thought - SysFS via Terminal
echo xxx > /sys/class/backlight/amdgpu_bl0/brightness
changes the values of brightness here, but this behaviour is in line with the hotkey behaviour (ie, 255 corresponds to min brightness and 0 corresponds to max brightness)
Kernel Parameters
Other online sources say that passing kernel parameters is a potential solution, so I tried various combinations that lead to interesting results
- Suddenly my display would show max brightness, but all attempts to change it would be futile and I would be left with a very bright screen that is agonizing to look at during night time
- This also introduces a heavy UI lag and tons of dropped frames while rendering regular KDE UI components
Short summary of the fixes I have tried
-
nowatchdog nvme_load=YES amdgpu.backlight=0
> max brightness, no control, high UI lag -
nowatchdog nvme_load=YES amdgpu.backlight=1 acpi_backlight=video
> max brightness, no control, medium UI lag -
nowatchdog nvme_load=YES amdgpu.backlight=0 acpi_backlight=video nvidia-drm.modeset=1 nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1 video.use_native_backlight=1
> no perceptible difference from initial low brightness scenario, brightness controls still inverted
I would rather use this laptop at a low brightness than at full and burn my retinas, there is also the associated lag which is too much to deal with so this is not a solution for me and I rolled back to the default kernel parameters
- This is
nowatchdog nvme_load=YES amdgpu.backlight=0
Various ACPI Backlight Combinations
I tried various parameters for acpi_backlight
as suggested elsewhere - video/native/none and for acpi_osi
with Linux/Windows 2012/Windows 2015
Nvidia NVREG Parameter
The nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1
parameter passed through the kernel seems to hit the nail on the head for some people online using Optimus, but trying this option too was futile
- It could be that I’m not doing this right through a
.conf
file (I am passing it as a kernel parameter directly), so if that’s the case please let me know and I will try that as well
TLDR - Help Needed
I hope these details provided are enough for a diagnosis. I’ve been reading around a bit to try and resolve this issue for the last 48 hours, and I have struck nothing. I have tried different things as follows -
- The
Nvidia NVReg Parameter
> No difference - The
amdgpu.backlight=0
> Results in full brightness, but very laggy and unusably bright at all times - Secure Boot disabled > changed nothing
- Various
acpi_backlight
parameters > erratic behaviour, no viable solution
Can this be a problem with the Nvidia Driver?
- Maybe there is something wrong with the brightness control on the latest Nvidia driver, or maybe I haven’t configured it correctly? If so, please tell me how to configure my way out of this situation.
So, any ideas on how I can make my Victus 15 brightness control behave as expected? Have any of you faced any similar problems, if so what was your solution?