Your full machine at a glance — official model, chassis, and key specifications confirmed from Lenovo PSREF.
Identity
Product LineLenovo Legion 5
Full Model NameLegion 5 15ACH6H
Machine Type82JU
GenerationGen 6 (2021)
Chassis Size15.6" — Plastic chassis
Dimensions363 × 260 × 22.5–24.6 mm
Weight~2.4 kg (5.29 lbs)
BIOS VersionsGKCN58WW · GKCN57WW
Operating SystemCachyOS KDE
Key Components at a Glance
CPUAMD Ryzen 7 5800H — 8C/16T · 4.4 GHz
dGPUNVIDIA GeForce RTX 3060 Laptop 130W
iGPUAMD Radeon Vega 8 (integrated)
RAM16 GB DDR4-3200 · 2× SO-DIMM · max 32 GB
StorageM.2 2280 NVMe PCIe 3.0×4 (1 slot)
Display15.6" FHD 165Hz IPS · Dolby Vision · DC Dimm
Battery80 Wh · 300W charger (RTX 3060 model)
Wi-FiWi-Fi 6 (802.11ax) · 2×2 · BT 5.1
CPU — AMD Ryzen 7 5800H
Zen 3 architecture — one of AMD's strongest mobile processors. On CachyOS, this CPU is served by x86-64-v3 optimized binaries and the BORE scheduler, both of which directly benefit this chip's 8-core design.
Core Specifications
ArchitectureZen 3 · 7nm TSMC
Cores / Threads8 Cores · 16 Threads
Base Clock3.2 GHz
Boost Clock4.4 GHz (all-core ~3.8 GHz)
L1 Cache32 KB/core (I) + 32 KB/core (D)
L2 Cache4 MB (512 KB per core)
L3 Cache16 MB (shared)
Memory SupportDDR4-3200 · Dual-channel
PCIe LanesPCIe 3.0 (CPU) + PCIe 3.0 (SoC)
Power & Thermal
TDP (base)45W
cTDP Range35W – 54W (configurable)
Package PowerUp to 54W sustained with Dynamic Boost
Junction Temp (Tjmax)105 °C
Typical Gaming Temp75–90 °C (depends on fan mode)
Idle Temp (CachyOS)35–50 °C (amd-pstate active)
TDP Control on Linuxryzenadj · auto-cpufreq · CoreCtrl
Linux Driveramd-pstate — mainline, zero setup
Integrated GPU (Vega 8)
ArchitectureGCN 5 (Vega)
Compute Units8 CU · 512 Shaders
Max Clock~2000 MHz (boost)
VRAMShared DDR4 (up to 512 MB reserved)
API SupportVulkan 1.3 · OpenGL 4.6 · OpenCL 2.0
Linux Driveramdgpu — open source, mainline kernel
Role on CachyOSDrives internal display in Hybrid GPU mode · saves battery
BORE BenefitLower frame-time variance under mixed game+background loads
amd-pstate driverActive by default — smarter P-state control
CPU Governorperformance / schedutil — switch via cpupower
🔵 x86-64-v3 on Your CPU: The Ryzen 7 5800H fully supports the x86-64-v3 microarchitecture level, meaning it has AVX2, FMA, BMI2, MOVBE, and related extensions. CachyOS ships the entire package repo compiled against this target — so every binary from Proton to mesa to the browser is faster than what a generic x86_64 distro would give you on the same hardware. This is a real, measurable performance advantage exclusive to CachyOS on your machine.
GPU — NVIDIA GeForce RTX 3060 Laptop
Ampere architecture with 6 GB GDDR6. The 15ACH6H variant runs at 130W TGP with Dynamic Boost 2.0, making it one of the higher-power RTX 3060 Laptop implementations.
GPU Core Specifications
GPU DieGA106M — Ampere
Process Node8nm Samsung
CUDA Cores3840
RT Cores30 (2nd generation)
Tensor Cores120 (3rd generation)
Base Clock1425 MHz
Boost Clock1702 MHz (max w/ Dynamic Boost)
Transistors12 billion
Memory & Bandwidth
VRAM6 GB GDDR6
Memory Bus192-bit
Memory Speed14 Gbps
Bandwidth336 GB/s
L2 Cache3 MB
TGP130W (with Dynamic Boost 2.0)
VRAM Note6 GB is sufficient for 1080p; watch VRAM usage in modded games
Features & APIs
DirectX12 Ultimate (via Windows)
Vulkan1.3 (primary API on Linux)
OpenGL4.6
DLSSDLSS 2.x (AI upscaling via Tensor cores)
NVENC7th gen — AV1 hardware encode
NVDECAV1 hardware decode
Ray TracingSupported (performance cost on Linux via Proton)
Resizable BARSupported — enable in BIOS → Above 4G Decoding
RTX 3060 on CachyOS
DriverNVIDIA Proprietary (auto-installed at setup)
Open Kernel Module✓ RTX 3060 (Ampere) is eligible for nvidia-open
⚠ Linux vs Windows FPS on Your RTX 3060: Real-world benchmarks on this GPU show roughly 5–20% lower FPS on Linux vs Windows depending on the game and API. Vulkan-native games (DOOM Eternal, Quake) are closest to parity. DX12 games via VKD3D-Proton are typically 5–10% behind. DX11 via DXVK is usually within 3–8%. Ray tracing titles lose more. CachyOS's x86-64-v3 packages and BORE kernel recover some of this gap — but this is a driver ecosystem characteristic, not something any distro can fully fix.
✓ Resizable BAR: Enable "Above 4G Decoding" and "Re-Size BAR Support" in your BIOS (F2 at boot → Configuration). CachyOS supports ReBAR natively. On your RTX 3060 + Ryzen 7 5800H combo, this can provide 0–12% FPS gains in supported games (F1 22, Cyberpunk 2077, etc.) with zero downside. Confirm it's active in Linux: dmesg | grep -i rebar
Display — 165Hz FHD · Dolby Vision
Your panel is a 15.6" IPS with a strong feature set for gaming. Here's what each feature actually means on CachyOS.
Panel Specifications
TypeIPS · Anti-glare coating
Size15.6 inch diagonal
Resolution1920 × 1080 (Full HD)
Refresh Rate165 Hz
Response Time< 3 ms (MPRT)
Brightness300 nits
Color Coverage100% sRGB
Dimming TechnologyDC Dimmer (no PWM — no flicker at any brightness)
ICC Profile support✓ KDE color management — apply custom profiles
Night Color / Blue Light✓ Built into KDE Display Settings
🔴 Dolby Vision — The Honest Answer: Your panel is Dolby Vision certified and can physically display it, but no Linux distribution (including CachyOS) can activate true Dolby Vision. It requires a Dolby-licensed software decoder pipeline and OS driver integration that doesn't exist in the Linux stack. This is a Linux-wide gap — not specific to CachyOS. For streaming Dolby Vision content (Netflix, Apple TV+) or playing DV-encoded video files, you need Windows. What CachyOS can do: experimental HDR via KDE Plasma 6 Wayland, and per-game HDR via Gamescope launch flags — see the Gaming section.
💡 Setting 165Hz on CachyOS: KDE should detect it automatically. If it doesn't: open System Settings → Display and Monitor → Display Configuration → set refresh rate to 165 Hz. Alternatively via terminal: xrandr --output eDP-1 --mode 1920x1080 --rate 165 (X11) or verify via kscreen-doctor output.eDP-1.mode.1920x1080@165 (Wayland).
Platform — Connectivity & I/O
Full connectivity breakdown for the 15ACH6H chassis. Important: HDMI 2.1 is hardwired directly to the RTX 3060 — it does NOT work in iGPU-only mode.
Ports & I/O
USB-C (×2)USB 3.2 Gen 2 · DP 1.4 · one supports PD charging
USB-A (×4)USB 3.2 Gen 1 · one is Always-On (charges when off)
HDMIHDMI 2.1 — hardwired to RTX 3060 dGPU
EthernetRJ-45 · 1 Gbps
Audio3.5mm combo jack (headphone + mic)
SD CardNone on this model
Wireless & Audio
Wi-FiWi-Fi 6 (802.11ax) · 2×2 MU-MIMO
Bluetooth5.1
Wi-Fi CardIntel AX200 (confirmed)
Linux Wi-Fi Driveriwlwifi — mainline, zero setup
SpeakersHarman Kardon · 2× 2W stereo
Audio StackNahimic 3D · Dolby Atmos (headphone)
Linux AudioPipeWire (default on CachyOS) · full support
RGB on Linuxlenovolegionlinux AUR — full per-key control
Webcam720p · no Windows Hello IR
TouchpadPrecision touchpad — libinput on CachyOS
Battery80 Wh · 4-cell
Charger300W barrel · also charges via USB-C PD (slower)
💡 HDMI External Display on CachyOS: HDMI 2.1 is wired directly to your RTX 3060. In Discrete GPU mode (BIOS setting), it works out of the box. In Hybrid mode, you need to configure PRIME offload — add the env vars __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia before launching, or use prime-run yourapp. Known Wayland bug: HDMI may not work in Hybrid+Wayland on some Legion units — switching BIOS to Discrete mode resolves it permanently.
CachyOS — Your Operating System
Everything about CachyOS and how it's configured on your machine.
⚡
CachyOS KDE Plasma 6
Arch-based rolling release · linux-cachyos kernel (BORE/sched-ext) · x86-64-v3 optimized packages · Pacman + AUR + Chaotic-AUR · NVIDIA auto-configured · Your primary OS
OS Profile
BaseArch Linux
Release ModelRolling Release (always latest)
DesktopKDE Plasma 6
Display ServerWayland (default) · X11 available
Kernellinux-cachyos (BORE + sched-ext)
Package ManagerPacman + AUR helpers (yay / paru)
Extra ReposChaotic-AUR · CachyOS repo
Init Systemsystemd
FilesystemBtrfs (default — supports snapshots)
Pre-installed Gaming Stack
SteamNative package via steam
ProtonProton-CachyOS available (Anti-Lag 2 + FSR4 ML)
Winewine / wine-staging via pacman
MangoHudAUR — overlay FPS/temps/GPU in any game
GameModeAvailable — auto CPU/GPU governor boost during games
LutrisAUR / pacman — GOG, Epic, Battle.net, etc.
Heroic LauncherEpic + GOG native launcher for Linux
▲Ryzen 7 5800H runs on amd-pstate (EPP) — better power efficiency than old acpi-cpufreq
▲165Hz display detected and applied automatically in KDE — no config needed
▲Intel AX200 Wi-Fi 6 on iwlwifi — works perfectly out of the box
▲PipeWire audio stack — Harman Kardon speakers and headphone jack fully functional
▲TrueStrike keyboard + touchpad work perfectly via standard HID / libinput
▲Fn+Q power mode switching captured by legion-linux module
▲4-zone RGB keyboard controllable via lenovolegionlinux AUR package
▲NVENC hardware encoding works in OBS, FFmpeg, Kdenlive — great for streaming
▲Steam + Proton compatibility — thousands of games playable
⚠ Known Limitations / Things to Watch
▼Dolby Vision: NOT supported on Linux. Panel runs SDR or basic HDR only
◆HDMI in Hybrid GPU mode requires PRIME offload config or prime-run
◆Wayland + HDMI bug on some Legion units — Discrete GPU BIOS mode fixes it
◆Generic HDR (KDE Plasma 6 Wayland) is experimental — may cause stutter in some Vulkan titles
▼Rolling release: NVIDIA driver updates with pacman occasionally need attention (rare breakage)
▼No automatic rollback — set up Timeshift or btrfs snapshots manually
◆Nahimic / Dolby Atmos spatial audio apps — Windows only, no Linux equivalent
◆Anti-cheat games (Valorant, Rainbow Six) — do not work on Linux
◆Fan curve persistence: Fn+Q mode change resets EC — systemd service needed to re-apply
Gaming on CachyOS — RTX 3060 + Proton
How gaming works on your machine, what to enable, and what to expect.
Feature
Status
Details for Your Setup
Proton / Steam Play
✓ Full
Most Steam games work via Proton. Check ProtonDB for per-game compatibility. Enable Proton for all games: Steam → Settings → Compatibility → Enable Steam Play for all titles.
Proton-CachyOS
CachyOS Exclusive
A CachyOS-patched Proton build with Anti-Lag 2 and FSR4 Machine Learning upscaling baked in. Available from the CachyOS repo. Set as your default Proton version in Steam settings for extra headroom on the RTX 3060.
DLSS 2.x
✓ Works
DLSS works via Proton on your RTX 3060 (Tensor cores are accessible). Enable DLSS in-game as you normally would. No extra setup needed. Quality mode is recommended at 1080p on your panel.
FSR 1/2/3
✓ Full
AMD FSR works on any GPU including NVIDIA. FSR 1 is in Proton as a shader mod. FSR 2/3 is available via NIS-Scaler and per-game support. Good for pushing FPS when the RTX 3060 VRAM is the bottleneck.
Install: sudo pacman -S gamemode. Steam launch: gamemoderun %command%. Temporarily sets CPU governor to performance, disables power saving, and optionally applies GPU optimizations. Small but real FPS gain.
Ray Tracing
⚠ Partial
RT works via VKD3D-Proton's implementation but performance is lower than Windows. Your RTX 3060 has 2nd gen RT cores — at 1080p with RT at medium, it's playable. DXR Tier 1 supported. Expect 15–30% lower RT FPS vs Windows.
Anti-Cheat (EAC/BE)
⚠ Depends
BattlEye and Easy Anti-Cheat work on Linux for titles where the developer has enabled Linux support (e.g. Deep Rock Galactic, Rust, Elden Ring). Valorant, Rainbow Six Siege, and some others do NOT work on Linux.
HDR Gaming
⚠ Experimental
Best path: add gamescope -W 1920 -H 1080 --adaptive-sync --hdr-enabled -f -- %command% to Steam launch options. Or enable KDE Plasma 6's HDR toggle (Wayland session). Not as polished as Windows HDR but functional in supported games.
Shader Pre-compilation
✓ Fast
Proton/Steam pre-compiles shaders on first launch. Subsequent launches are smooth. Your 8-core 5800H compiles shaders fast. Shader stutter on first play is nearly eliminated with DXVK async.
🎮 Recommended Steam Launch Options for Your RTX 3060:
For most games: MANGOHUD=1 gamemoderun %command%
With HDR: MANGOHUD=1 gamemoderun gamescope --hdr-enabled --adaptive-sync -f -W 1920 -H 1080 -- %command%
With PRIME offload (Hybrid GPU mode): __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia gamemoderun %command%
GPU Modes — BIOS MUX Switch
Your 15ACH6H has a physical MUX switch controlled via BIOS (F2 → Configuration → "Graphics Mode"). Each mode changes which GPU drives the internal panel. HDMI is always wired to the RTX 3060 regardless of mode.
RECOMMENDED FOR GAMING
Discrete GPU Mode
Internal display driven byRTX 3060 direct
FPSMaximum — full 130W TGP
HDMI external✓ Works natively
Wayland HDMI bugResolved in this mode
Battery lifeLower — dGPU always on
Reboot needed?Yes — BIOS switch
Best forGaming sessions · Desk use
BEST BATTERY
Hybrid Mode
Internal display driven byiGPU (Vega 8)
RTX 3060 roleRenders via PRIME offload
FPS vs Discrete~5–15% lower
HDMI externalNeeds prime-run setup
Battery lifeBest — iGPU handles display
Reboot needed?Yes — BIOS switch
Best forBrowsing · Travel · Battery
POWER SAVING
iGPU Only Mode
RTX 3060Completely off — no power draw
GamingVega 8 only — light games only
HDMI external✗ Does not work (dGPU off)
Battery lifeMaximum — dGPU completely off
Reboot needed?Yes — BIOS switch
Best forAll-day travel · Docs / Web
💡 Advanced Optimus on Linux: Windows users get "Advanced Optimus" — automatic GPU mode switching without reboots. On Linux, this firmware feature is not available (NVIDIA has not released Linux support for it). The same result (choosing which GPU drives the panel) is achievable via the BIOS Graphics Mode setting, but requires a reboot each time. For gaming: use Discrete Mode. For battery/travel: use Hybrid or iGPU-only.
Fan Curve & Power Profiles
Your Legion 5 15ACH6H (BIOS GKCN58WW / GKCN57WW) is explicitly listed in the LenovoLegionLinux compatibility table. Full EC control is supported: 10-point fan curve, 3 power modes, dual fan (CPU fan + GPU fan), temperature sensors for CPU, GPU, and IC.
EC Fan Curve Capabilities
Curve Points
10 points
Power Modes
Quiet · Balanced · Performance
Temp Sensors
CPU · GPU · IC
Accel / Decel
✓ Supported
Dual Fan
Fan 1 (CPU) + Fan 2 (GPU)
CachyOS Setup
Kernel Module
Built into linux-cachyos
Setup Effort
Minimal
GUI App
lenovolegionlinux AUR
Persistence
systemd service on boot
Quick TDP
ryzenadj or CoreCtrl
Fn Key Shortcuts on CachyOS
Fn + Q
Cycles: Quiet → Balanced → Perf
Fn + Q reset
Resets custom curve
Fn + Space
Fan Boost toggle (max RPM)
Fix after Fn+Q
systemd service re-applies
LED Indicator
✓ Mode light changes
🔧 Fan Curve Setup on CachyOS: The legion-linux module is already inside your linux-cachyos kernel — no additional kernel work needed. To get the full GUI: yay -S lenovolegionlinux-git from AUR. This gives you a graphical fan curve editor with real-time RPM graph, per-mode presets, and EC temperature readouts. To make fan curves persist across reboots, enable the included systemd service: sudo systemctl enable --now legion-linux-save.service. Custom curves are saved to the EC on boot automatically after that.
Battery & Power Management
Your 60 Wh battery with the RTX 3060 model. CachyOS gives you the best Linux power tuning tools available for this hardware.
Battery Hardware
Capacity80 Wh
Cells4-cell Li-Ion
Charger300W barrel plug (included)
USB-C ChargingSupported (slower — 65W max on PD)
Charge LimitConfigurable via LLL GUI (e.g. 80% for longevity)
Best battery tipSet BIOS to iGPU-only + install TLP for max runtime
amd-pstate efficiency (vs acpi-cpufreq)+20–30%
TLP idle power reduction−15–25%
iGPU-only mode vs Hybrid (runtime gain)+30–60 min
Charge limit set to 80% (battery longevity)Recommended
✓ Battery Conservation — Recommended Setup: Install TLP: sudo pacman -S tlp tlp-rdw && sudo systemctl enable --now tlp. Set battery charge limit via LLL GUI (recommended: 60–80% if mostly plugged in). Enable Power Saving profile in KDE System Tray when on battery. Set BIOS to Hybrid or iGPU-only when away from desk. These combined steps can get you an extra 1–2 hours of runtime over stock behavior.
Useful Commands & Tips for CachyOS
Quick-reference commands and tips specifically useful for your hardware on CachyOS.
⚡
Install LenovoLegionLinux (fan GUI, RGB, power modes)yay -S lenovolegionlinux-git — Gives you the full GUI for fan curves, 4-zone RGB keyboard control, power mode switching, battery charge limit. Enable the service: sudo systemctl enable --now legion-linux-save.service
🖥
Check which GPU is driving the displayglxinfo | grep "OpenGL renderer" (X11) or cat /sys/kernel/debug/dri/0/name. In Discrete mode you should see "NVIDIA". In Hybrid mode you should see your Vega 8 iGPU on the internal display.
🎮
Best Steam launch flags for your RTX 3060General gaming: MANGOHUD=1 gamemoderun %command% With Gamescope HDR: gamescope --hdr-enabled --adaptive-sync -W 1920 -H 1080 -f -- %command% In Hybrid mode (PRIME): __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia gamemoderun %command%
📊
Monitor CPU + GPU temps and fan speeds in terminalsudo pacman -S lm_sensors && sudo sensors-detect then watch -n 1 sensors. For NVIDIA GPU: nvidia-smi dmon -s pucvem (power, usage, clock, VRAM, encoder, memory). For real-time graph: sudo pacman -S btop — shows everything.
🔒
Set up btrfs snapshots (your safety net)sudo pacman -S timeshift — since CachyOS defaults to Btrfs, Timeshift can take instant snapshots before pacman updates. Run before every sudo pacman -Syu to have a rollback point if the NVIDIA driver update causes issues.
⚙
Enable Resizable BAR for FPS boostIn BIOS (F2 at boot): Enable "Above 4G Decoding" and "Re-Size BAR Support". Verify on Linux: dmesg | grep -i rebar. Should show "BAR resize" info. Gives 0–12% FPS in supported games on your RTX 3060.
🔋
Set battery charge limit (extend battery longevity)Via LLL GUI (easiest) or via terminal: echo 80 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode. Or use LLL's battery conservation mode toggle which sets 60% charge cap. Recommended if you're mostly plugged in.
🎨
Control 4-zone RGB keyboardAfter installing lenovolegionlinux: open the LLL app → Lighting tab. You can set color, effect (static, breath, wave, etc.), and brightness per zone. Command line: legion-linux-color set --zone 0 --color ff0000 (zone 0–3). The keyboard LED memory is in EC — survives reboots.
📡
NVIDIA driver management on CachyOSUpdate: sudo pacman -Syu updates the driver with everything else. Check current driver: nvidia-smi. If Wayland session breaks after update: switch to X11 session at login screen as temporary fix, then check CachyOS forum. Hold driver if needed: add IgnorePkg = nvidia nvidia-utils to /etc/pacman.conf.
🌐
Useful resources for your setup• Arch Wiki — best Linux documentation, covers everything CachyOS inherits • LenovoLegionLinux GitHub — your hardware's compatibility table, bug reports • CachyOS Forum / Discord — community for CachyOS-specific issues • ProtonDB — check game compatibility before buying • IsMyHDMISecure.net — check HDMI output compatibility
⚡ Post-Install Setup Guide
Everything you need to do after a fresh CachyOS install on the Legion 5 15ACH6H — from first-boot essentials to full gaming setup, Vantage tool, audio enhancement, and getting games running.
PHASE 01
First Boot — What to Do Right After Install
Run these before anything else
01
Full System Update
Required
The very first thing after login. CachyOS ships with a rolling-release snapshot — pull everything current before doing anything else.
$ sudo pacman -Syu # If the kernel updated, reboot before continuing $ sudo reboot
02
Install yay (AUR Helper)
Required
Almost everything you'll need for this device lives in the AUR. yay handles AUR + pacman in one command. If CachyOS didn't pre-install it:
$ sudo pacman -S --needed git base-devel $ git clone https://aur.archlinux.org/yay.git $ cd yay && makepkg -si
# Verify it works $ yay --version
03
Enable Multilib Repo (32-bit support for games)
Required
Steam and many games require 32-bit libraries. Enable the [multilib] repository in pacman.conf:
$ sudo nano /etc/pacman.conf # Find and uncomment these two lines (remove the # at the start):
[multilib]
Include = /etc/pacman.d/mirrorlist
$ sudo pacman -Syu
04
Verify NVIDIA Driver is Working
Required
CachyOS should have installed NVIDIA drivers during setup. Confirm they loaded correctly:
# Should show your RTX 3060 and driver version $ nvidia-smi
# If nvidia-smi is not found, install drivers manually $ sudo pacman -S nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings $ sudo reboot
Always use nvidia-dkms — it rebuilds automatically for any kernel update. The plain nvidia package is kernel-version locked and will break on updates.
05
Enable Early KMS + Wayland Modesetting for NVIDIA
Required
Required for stable Wayland sessions, HDR, and VRR on the Legion's 165Hz display.
# Live temperature watch (CPU + GPU zones) $ watch -n 1 sensors
# Full system dashboard $ btop
07
Set Up Btrfs Snapshots — Your Safety Net
Recommended
CachyOS defaults to Btrfs. Set up Timeshift snapshots now, before installing anything else. If a driver update bricks your session, you can roll back instantly from GRUB.
$ sudo pacman -S timeshift $ sudo timeshift-gtk # In the GUI: select BTRFS mode → pick your root subvolume → Save
# Take a baseline snapshot right now $ sudo timeshift --create --comments "fresh install + NVIDIA ready"
Tip: Run sudo timeshift --create before every sudo pacman -Syu. Rolling back takes 30 seconds from GRUB → Advanced Options.
PHASE 02
Legion Vantage Tool — LenovoLegionLinux
Fan curves, Fn+Q power modes, RGB, battery
This is the Linux equivalent of Lenovo Vantage. LenovoLegionLinux (LLL) is an open-source kernel module + GUI app that exposes every hardware control on your Legion: power modes, fan curves, 4-zone RGB, battery charge limit, and the Fn+Q thermal mode switch.
08
Install LenovoLegionLinux (LLL)
Required
# Install from AUR $ yay -S lenovolegionlinux-git
# Enable the save/restore service (persists settings across reboots) $ sudo systemctl enable --now legion-linux-save.service
# Also enable the acpid service (required for Fn+Q to work) $ sudo systemctl enable --now acpid
After install, open LenovoLegion from your app launcher
If the app doesn't open, run legion-linux-gui in terminal to see errors
Reboot once after install for the kernel module to load cleanly
09
Fn+Q Power Mode Switching — Setup Guide
Required
On your Legion 5 15ACH6H, Fn+Q cycles through three thermal/power modes. After installing LLL and enabling acpid, this key combo works natively on Linux. Here's what each mode does:
🔇
Quiet
Low fan noise CPU ~35W TDP Good for browsing, office work
⚖️
Balanced
Default mode CPU ~45W TDP Daily driver — good all-rounder
🔥
Performance
Full power + fans CPU ~54W TDP Use for gaming sessions
If Fn+Q isn't cycling modes after LLL install, verify with:
# Check if acpid is running $ systemctl status acpid
# Manually read current power mode $ cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/fn_lock
# Set power mode via command (0=Quiet, 1=Balanced, 2=Performance) $ echo 2 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/platform_profile
# Or use the LLL GUI — Power tab → select mode
Best practice: Set Performance mode before gaming and switch back to Balanced or Quiet when done. LLL's GUI shows a notification when you press Fn+Q so you always know which mode you're in.
10
Set Custom Fan Curves via LLL
Recommended
The LLL GUI's Fan Curve tab gives you full control of the CPU and GPU fan ramp curves — something Windows Vantage can't match in granularity.
Open LLL app → Fan Curve tab
Select a profile (Quiet / Balanced / Performance)
Drag the curve points — X axis = temperature (°C), Y axis = fan speed (%)
Click Apply — takes effect immediately
Recommended gaming curve: fans kick in at 55°C, ramp hard above 75°C
# Monitor fan speed in real-time to see the effect $ watch -n 1 'cat /sys/class/hwmon/hwmon*/fan*_input'
11
Set Battery Charge Limit (Extend Cell Life)
Recommended
If you're mostly plugged in, limiting charge to 80% significantly reduces long-term battery degradation on the 80Wh cell.
# Via LLL GUI: Battery tab → Conservation Mode toggle (caps at ~60%) # OR set a custom limit via terminal
# Set 80% limit (recommended for desk use) $ echo 80 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
# Make it persistent — add to /etc/rc.local or create a systemd service
12
Configure 4-Zone RGB Keyboard
Optional
The Legion's keyboard has 4 independently controlled RGB zones. LLL exposes full color and effect control.
Settings are saved in EC memory — survive reboots without the service
# Command-line control (zone 0–3, hex color) $ legion-linux-color set --zone 0 --color 00e5ff $ legion-linux-color set --zone 1 --color 7c3aed $ legion-linux-color set --zone 2 --color 00ff88 $ legion-linux-color set --zone 3 --color ff4466
PHASE 03
Audio Enhancement — PipeWire + EasyEffects
Better sound through speaker DSP and EQ
13
Verify PipeWire is Running (CachyOS default)
Required
CachyOS uses PipeWire as the audio server (replacing PulseAudio). It handles speakers, headphones, Bluetooth, and game audio. Confirm it's running before touching anything:
# Check PipeWire status $ systemctl --user status pipewire pipewire-pulse wireplumber
# Should show: active (running) for all three # If any are missing, install them: $ sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber $ systemctl --user enable --now pipewire pipewire-pulse wireplumber
14
Install EasyEffects — System-Wide Audio DSP
Recommended
EasyEffects is a powerful real-time audio processor for PipeWire. It adds EQ, compression, bass boost, loudness equalization, reverb, and more to your speakers and headphones — all non-destructive and toggleable per-output.
$ sudo pacman -S easyeffects
# Launch it $ easyeffects
# Enable auto-start on login (KDE: add to Autostart in System Settings) $ easyeffects --gapplication-service &
EasyEffects runs as a PipeWire plugin — zero latency penalty for gaming
Separate effect chains for speakers and headphones
Effects toggle on/off with one click — no need to restart audio
15
Load a Preset — Speakers (Legion Built-in)
Recommended
The Legion 5's built-in speakers are decent but benefit enormously from a good EQ profile. Install the community preset package or configure manually:
# Install community presets for EasyEffects $ yay -S easyeffects-presets
# Presets install to ~/.config/easyeffects/output/ # In the EasyEffects UI: Presets tab → Load a preset
Manual setup for Legion speakers (recommended chain):
Loudness Equalizer — compensates for how human ears perceive low/high frequencies at different volumes. Add first.
Parametric EQ — boost 80–120Hz (+3dB) for bass, cut 1–4kHz (−2dB) to reduce harshness, boost 8–12kHz (+2dB) for air. Apply to taste.
Bass Enhancer — adds harmonic content to low frequencies. Useful for the small Legion speaker drivers.
Save your config once dialed in: Presets tab → type a name → Save. It persists across reboots when EasyEffects runs at startup.
16
Load a Preset — Headphones (Gaming / Music)
Recommended
EasyEffects can also apply a separate chain to headphone output. When you plug in headphones, PipeWire switches output automatically — EasyEffects follows.
Convolver (Room Correction) — load an impulse response (IR) file from AutoEq for your specific headphone model. Best sound quality improvement possible.
Stereo Widener — for gaming, adds a sense of soundstage width for better positional audio.
AutoEq presets — download your headphone's correction EQ from github.com/jaakkopasanen/AutoEq and import into the Parametric EQ.
# Download AutoEq preset for your headphones (example: Sony WH-1000XM4) $ git clone --depth 1 https://github.com/jaakkopasanen/AutoEq.git # Browse results/harman_over-ear_2018/ for your headphone model # Import the GraphicEQ.txt into EasyEffects Parametric EQ
17
Install Helvum — PipeWire Patchbay (Advanced)
Optional
Helvum is a graphical patchbay for PipeWire — it lets you route any audio source to any output, route game audio to a virtual sink for streaming, or combine outputs. Useful for streamers and multi-source setups.
$ sudo pacman -S helvum $ helvum
PHASE 04
Gaming Setup — Steam, Proton, MangoHud, Gamescope
Get your RTX 3060 gaming-ready on Linux
18
Install Steam + Enable Proton
Gaming
$ sudo pacman -S steam
# Also install Vulkan + 32-bit layers (required for DXVK/VKD3D) $ sudo pacman -S vulkan-icd-loader lib32-vulkan-icd-loader vulkan-tools
Once Steam opens: Steam → Settings → Compatibility → Enable Steam Play for all titles → select Proton Experimental.
# Install Proton-GE (community build — better compatibility for many titles) $ yay -S protonup-qt # Open ProtonUp-Qt → Add Version → GE-Proton → Install latest # Then select it per-game: right-click game → Properties → Compatibility → Force GE-Proton
19
Install MangoHud + Gamemode
Gaming
MangoHud overlays real-time FPS, CPU/GPU temps, VRAM, frametime and more on top of any game. Gamemode automatically applies CPU performance governor and scheduler tweaks when a game launches.
# Steam launch options — apply to ALL games (per-game in Properties → Launch Options)
MANGOHUD=1 gamemoderun %command%
MangoHud config:~/.config/MangoHud/MangoHud.conf — customize position, colors, what metrics to show, FPS thresholds, and more. Run mangohud --help for all options.
20
Switch GPU to Discrete Mode for Gaming
Gaming
For best gaming performance, switch to Discrete mode via LLL so the RTX 3060 drives the display directly (no iGPU bridge overhead). In Hybrid mode, use PRIME offload per-game.
Gamescope is a Valve micro-compositor that can run games in a sandbox with VRR, HDR, and FSR upscaling — fully supports the Legion's 165Hz Dolby Vision display on KDE Wayland.
# Performance mode — render at 720p, upscale to 1080p via FSR
gamescope -w 1280 -h 720 -W 1920 -H 1080 --fsr-sharpness 5 --adaptive-sync -f -- %command%
22
Verify ReBAR is Active (Free FPS Boost)
Recommended
If you enabled Resizable BAR in BIOS, verify it's working from inside Linux. ReBAR gives 5–12% FPS boost in supported games on your RTX 3060 at zero cost.
$ dmesg | grep -i rebar # Should show: "BAR resize" or "resizable BAR" entries
# Also check via nvidia-smi $ nvidia-smi --query-gpu=name,resizable_bar --format=csv,noheader # Should show: NVIDIA GeForce RTX 3060, Enabled
PHASE 05
Game Stores — Heroic Launcher + SteamTinkerLaunch
Epic, GOG, Amazon Games + advanced Steam tweaks
Heroic Games Launcher is the Linux answer for Epic Games Store, GOG, and Amazon Prime Gaming. SteamTinkerLaunch (STL) is an advanced wrapper for Steam that unlocks per-game Proton config, MangoHud, Gamescope, and tool chaining from a GUI — without editing launch options manually.
23
Install Heroic Games Launcher (Epic / GOG / Amazon)
Gaming
Heroic is a fully featured, open-source GUI launcher for Epic Games Store, GOG Galaxy, and Amazon Prime Gaming. It uses Proton/Wine under the hood and supports cloud saves, achievements, and auto-updates.
# Install Heroic from AUR $ yay -S heroic-games-launcher-bin
# Or install the Flatpak version (easier, sandboxed) $ sudo pacman -S flatpak $ flatpak install flathub com.heroicgameslauncher.hgl $ flatpak run com.heroicgameslauncher.hgl
First-time setup in Heroic:
Log in — click Epic Games or GOG tile and authenticate via browser
Default install path — Settings → Games Installation → set to your games drive/folder
Per-game config — right-click any game → Settings → override Wine version, launch options, env vars per-game
Amazon Prime Gaming: In Heroic, click the Amazon Games logo in the sidebar → log in with your Amazon account → claim and install Prime Gaming titles directly. All run through Proton just like Epic games.
SteamTinkerLaunch intercepts Steam game launches and presents a GUI to configure Proton version, Gamescope, MangoHud, ReShade, vkBasalt, mod tools, and more — all from a single interface without touching launch options manually.
# Install STL from AUR $ yay -S steamtinkerlaunch
# Add STL as a compatibility tool in Steam $ steamtinkerlaunch compat add
# Restart Steam completely after this step $ steam -shutdown && steam
How to use STL per game:
Right-click game in Steam → Properties → Compatibility → Force use: SteamTinkerLaunch
Next time you launch that game, the STL GUI pops up (holds for ~3 seconds before auto-launching)
In the STL GUI: toggle Gamescope, MangoHud, custom Proton version, vkBasalt, ReShade, and more per-game
Click Play in STL to launch with your config — it saves it for next time
What STL Can Do
Proton overrideGE-Proton, Experimental, custom
GamescopePer-game resolution + VRR + HDR
MangoHudToggle on/off without editing launch opts
vkBasaltCAS sharpening, SMAA anti-aliasing
ReShadePost-processing shaders in any game
Recommended STL Config for Legion
ProtonGE-Proton (latest) as default
MangoHudAlways on — shows FPS + temps
GamemodeEnabled — CPU perf governor on launch
GamescopePer-game — enable for titles needing VRR
vkBasalt CASOptional — sharpens upscaled output
25
Install Bottles — Windows App / Game Compatibility
Optional
Bottles creates isolated Wine environments ("bottles") for running Windows games and apps that aren't on Steam/Epic. Great for Battle.net (Diablo, WoW), Ubisoft Connect, Rockstar Launcher, or any .exe installer.
# Install via Flatpak (recommended — better sandbox isolation) $ flatpak install flathub com.usebottles.bottles $ flatpak run com.usebottles.bottles
# Create a new bottle: New → Gaming preset → name it → Create # Gaming preset auto-configures DXVK + VKD3D + Sync (esync/fsync)
Use the Gaming preset for any game launcher (Battle.net, Ubisoft, Rockstar, EA App)
Install the launcher's .exe into the bottle, then install games inside it normally
Enable DXVK + VKD3D in bottle settings for DX11/DX12 game translation to Vulkan
Anticheat (EasyAntiCheat / BattlEye) only works if the game officially supports Linux — check areweanticheatyet.com
26
Check Game Compatibility Before Downloading
Recommended
Before spending time installing a game, check these resources to know what works out-of-the-box and what needs tweaks:
ProtonDB — protondb.com — community reports for every Steam game. Filter by "Gold" or "Platinum" for guaranteed working titles. Shows exact launch options that fix issues.
Are We Anti-Cheat Yet? — areweanticheatyet.com — shows which games with EAC/BattlEye work on Linux (official support) and which are blocked.
Heroic Compatibility — right-click any Epic/GOG game in Heroic → check the compatibility icon. Stars = community-reported Wine compatibility.
Games with kernel-level anticheat (Valorant/FACEIT) do not work on Linux — no workaround exists.
PHASE 06
System Optimization & Maintenance
Kernel tweaks, power, and long-term upkeep
27
AMD P-State Driver — Better CPU Efficiency
Recommended
The Ryzen 7 5800H supports AMD's native P-State driver for finer-grained frequency + voltage control. It's more efficient than the generic ACPI driver and works perfectly with the BORE scheduler in linux-cachyos.
# Already set if you followed step 5 — verify with: $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver # Should output: amd_pstate_epp
Zram creates a compressed RAM disk used as swap — orders of magnitude faster than disk swap. Reduces memory pressure when multitasking + gaming. CachyOS may already have this enabled.
# Force S3 deep sleep (better battery during suspend) via GRUB: # Add mem_sleep_default=deep to GRUB_CMDLINE_LINUX_DEFAULT, then: $ sudo grub-mkconfig -o /boot/grub/grub.cfg
30
Enable SSD TRIM + Pacman Cache Cleanup
Recommended
# Enable weekly TRIM for NVMe SSD health $ sudo systemctl enable --now fstrim.timer
# Auto-clean pacman cache — keep last 3 versions of each package $ sudo pacman -S pacman-contrib $ sudo systemctl enable --now paccache.timer
CachyOS is rolling-release. Run yay -Syu weekly to keep the kernel, NVIDIA driver, Proton, and all tools current. Always snapshot first.
# The full weekly update routine $ sudo timeshift --create --comments "pre-update $(date +%Y-%m-%d)" $ yay -Syu # Reboot if kernel or NVIDIA driver updated $ sudo reboot
If NVIDIA breaks after an update: Boot GRUB → Advanced Options → pick a Timeshift snapshot from the previous session. The system will be exactly as it was before the update, instantly.
32
Final Checklist — You're Done
Required
System updated:yay -Syu clean
NVIDIA working:nvidia-smi shows RTX 3060
LLL running: Fn+Q cycles power modes
EasyEffects: Running at startup, presets loaded
Steam + Proton-GE: At least one game tested
MangoHud: Shows overlay in-game
Heroic: Logged into Epic/GOG/Amazon
SteamTinkerLaunch: Added as compat tool
Timeshift: Baseline snapshot exists
ReBAR active:nvidia-smi --query-gpu=resizable_bar
TRIM enabled:systemctl status fstrim.timer
Zram active:zramctl shows zram0
165Hz display: Set in KDE Display Settings
Battery limit: Set to 80% via LLL
🎉 Legion 5 fully set up on CachyOS. Head to the Gaming on Linux section for per-game configs, GPU mode deep-dive, and fan curve tuning. Check Tips & Commands for useful one-liners to keep things running fast.