Move 150+ scripts from root and scripts/ into client/project directories: - clients/dataforth/scripts/ (110 files: AD2, sync, SSH, DB, DOS scripts) - clients/bg-builders/scripts/ (14 files: Lesley mgmt, Exchange, termination) - clients/internal-infrastructure/scripts/ (10 files: GDAP, Gitea, backups) - projects/msp-tools/scripts/ (9 files: CIPP, MSP onboarding, Datto) - projects/gururmm-agent/scripts/ (3 files: API test, JWT, record counts) - clients/glaztech/scripts/ (1 file: CentraStage removal) Also reorganized: - VPN scripts → infrastructure/vpn-configs/ - Retrieved API/JS files → api/ - Forum posts → projects/community-forum/forum-posts/ - SSH docs → clients/internal-infrastructure/docs/ - NWTOC/CTONW docs → projects/wrightstown-smarthome/docs/ - ACG website files → projects/internal/acg-website-2025/ - Dataforth docs → clients/dataforth/docs/ - schema-retrieved.sql → docs/database/ Deleted 24 tmp_*.ps1 one-off debug scripts (preserved in git history). Root reduced from 220+ files to 62 items (docs + directories only). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.7 KiB
Fix: KDE Plasma Brightness Stuck at ~20% on Intel/NVIDIA Hybrid Laptop
Environment
- OS: CachyOS (Arch-based), kernel 6.19.7-1-cachyos
- DE: KDE Plasma 6
- GPU: Intel Arrow Lake-S (integrated) + NVIDIA RTX 5070 Ti Mobile
- Laptop: ASUS (model with dual NVMe)
Problem
KDE brightness slider showed 100%, but the screen was visibly much dimmer than it should be. Adjusting brightness via hotkeys would make it even dimmer — any hotkey press reset the panel to a dim state.
Diagnosis
Two backlight interfaces exist:
ls /sys/class/backlight/
# intel_backlight nvidia_0
cat /sys/class/backlight/intel_backlight/brightness
# 100
cat /sys/class/backlight/intel_backlight/max_brightness
# 496
cat /sys/class/backlight/nvidia_0/brightness
# 100
cat /sys/class/backlight/nvidia_0/max_brightness
# 100
cat /sys/class/backlight/intel_backlight/type
# raw
cat /sys/class/backlight/nvidia_0/type
# raw
Root cause: Both backlights report type raw, so KDE couldn't distinguish which was the "real" panel backlight. nvidia_0 has max=100, intel_backlight has max=496. When KDE's brightness hotkeys set "100%" via nvidia_0's scale, it wrote 100 to intel_backlight — which is only ~20% of its actual 496 range.
Fix
Immediate Fix
Set the correct brightness:
sudo sh -c 'echo 496 > /sys/class/backlight/intel_backlight/brightness'
Permanent Fix - Hide nvidia_0 via udev
Create /etc/udev/rules.d/backlight.rules:
sudo tee /etc/udev/rules.d/backlight.rules > /dev/null << 'EOF'
# Disable nvidia_0 backlight - conflicts with intel_backlight on this laptop
# KDE picks up nvidia_0 (max=100) and maps it incorrectly to intel_backlight (max=496)
SUBSYSTEM=="backlight", KERNEL=="nvidia_0", ATTR{brightness}="0", RUN+="/bin/chmod 000 /sys/class/backlight/nvidia_0"
EOF
Apply immediately (without reboot):
sudo chmod 000 /sys/class/backlight/nvidia_0
sudo udevadm control --reload-rules
systemctl --user restart plasma-powerdevil
Verification
After hiding nvidia_0, KDE only sees intel_backlight and maps the slider/hotkeys correctly to the 0-496 range. Full brightness is restored and hotkeys work as expected.
Why This Happens
On Intel/NVIDIA hybrid laptops, both GPUs may expose a backlight interface. The NVIDIA driver creates nvidia_0 even though the actual panel backlight is controlled by intel_backlight. Since both report type raw, KDE (powerdevil) can pick up the wrong one. The nvidia_0 interface has a max of 100 — when KDE writes that value to the actual panel controller (max 496), you get ~20% brightness.
This is most common on newer laptops with Intel Arrow Lake + RTX 40/50 series mobile GPUs running the proprietary NVIDIA driver.