Identity
Key Components at a Glance
Core Specifications
Power & Thermal
ryzenadj · auto-cpufreq · CoreCtrlIntegrated GPU (Vega 8)
CPU on CachyOS — What's Special
performance / schedutil — switch via cpupowerGPU Core Specifications
Memory & Bandwidth
Features & APIs
RTX 3060 on CachyOS
extra/nvidia-settingsdmesg | grep -i rebar Panel Specifications
Linux / CachyOS Display Feature Support
xrandr --output eDP-1 --mode 1920x1080 --rate 165 (X11) or verify via kscreen-doctor output.eDP-1.mode.1920x1080@165 (Wayland).
Ports & I/O
Wireless & Audio
Input & Other
lenovolegionlinux AUR — full per-key control__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 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
Pre-installed Gaming Stack
steam✓ What Works Great on CachyOS with Your Hardware
- ▲NVIDIA RTX 3060 auto-configured at install — proprietary driver pulled automatically
- ▲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
| 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. |
| MangoHud | ✓ Full | Install: sudo pacman -S mangohud. Add MANGOHUD=1 to Steam launch options: MANGOHUD=1 %command%. Shows FPS, GPU/CPU temp, VRAM, RAM, frametime graph — essential for tuning. |
| GameMode | ✓ Full | 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. |
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% prime-run setuplenovolegionlinux AUR ryzenadj or CoreCtrl 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 Hardware
Expected Battery Life (CachyOS)
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.
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 glxinfo | 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. 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% sudo 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. 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. dmesg | grep -i rebar. Should show "BAR resize" info. Gives 0–12% FPS in supported games on your RTX 3060. 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. legion-linux-color set --zone 0 --color ff0000 (zone 0–3). The keyboard LED memory is in EC — survives reboots. 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. • 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
The very first thing after login. CachyOS ships with a rolling-release snapshot — pull everything current before doing anything else.
# If the kernel updated, reboot before continuing
$ sudo reboot
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:
$ git clone https://aur.archlinux.org/yay.git
$ cd yay && makepkg -si
# Verify it works
$ yay --version
Steam and many games require 32-bit libraries. Enable the [multilib] repository in pacman.conf:
# Find and uncomment these two lines (remove the # at the start):
[multilib]
Include = /etc/pacman.d/mirrorlist
$ sudo pacman -Syu
CachyOS should have installed NVIDIA drivers during setup. Confirm they loaded correctly:
$ 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
nvidia package is kernel-version locked and will break on updates.
Required for stable Wayland sessions, HDR, and VRR on the Legion's 165Hz display.
$ sudo nano /etc/mkinitcpio.conf
# Set: MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
$ sudo mkinitcpio -P
# 2. Add nvidia_drm.modeset=1 to GRUB
$ sudo nano /etc/default/grub
# Edit: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia_drm.modeset=1 amd_pstate=active"
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
$ sudo reboot
$ sudo pacman -S lm_sensors btop htop wget curl unzip p7zip
$ sudo sensors-detect --auto
# Live temperature watch (CPU + GPU zones)
$ watch -n 1 sensors
# Full system dashboard
$ btop
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 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"
sudo timeshift --create before every sudo pacman -Syu. Rolling back takes 30 seconds from GRUB → Advanced Options.
$ 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
# Verify the kernel module loaded
$ lsmod | grep legion
legion-linux-gui in terminal to see errorsOn 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:
CPU ~35W TDP
Good for browsing, office work
CPU ~45W TDP
Daily driver — good all-rounder
CPU ~54W TDP
Use for gaming sessions
If Fn+Q isn't cycling modes after LLL install, verify with:
$ 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
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.
$ watch -n 1 'cat /sys/class/hwmon/hwmon*/fan*_input'
If you're mostly plugged in, limiting charge to 80% significantly reduces long-term battery degradation on the 80Wh cell.
# 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
The Legion's keyboard has 4 independently controlled RGB zones. LLL exposes full color and effect control.
$ 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
CachyOS uses PipeWire as the audio server (replacing PulseAudio). It handles speakers, headphones, Bluetooth, and game audio. Confirm it's running before touching anything:
$ 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
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.
# Launch it
$ easyeffects
# Enable auto-start on login (KDE: add to Autostart in System Settings)
$ easyeffects --gapplication-service &
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:
$ 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):
EasyEffects can also apply a separate chain to headphone output. When you plug in headphones, PipeWire switches output automatically — EasyEffects follows.
github.com/jaakkopasanen/AutoEq and import into the Parametric EQ.$ 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
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.
$ helvum
# 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.
$ 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
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.
$ systemctl --user enable --now gamemoded
# Steam launch options — apply to ALL games (per-game in Properties → Launch Options)
MANGOHUD=1 gamemoderun %command%
~/.config/MangoHud/MangoHud.conf — customize position, colors, what metrics to show, FPS thresholds, and more. Run mangohud --help for all options.
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.
Discrete Mode (Best FPS)
Hybrid Mode (PRIME Offload)
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia MANGOHUD=1 gamemoderun %command%
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.
# Steam launch option — full 1080p with VRR + HDR
gamescope -W 1920 -H 1080 --hdr-enabled --adaptive-sync -f -- %command%
# 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%
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.
# 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
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.
$ 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:
MANGOHUD=1SteamTinkerLaunch 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.
$ 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:
What STL Can Do
Recommended STL Config for Legion
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.
$ 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)
areweanticheatyet.comBefore spending time installing a game, check these resources to know what works out-of-the-box and what needs tweaks:
protondb.com — community reports for every Steam game. Filter by "Gold" or "Platinum" for guaranteed working titles. Shows exact launch options that fix issues.areweanticheatyet.com — shows which games with EAC/BattlEye work on Linux (official support) and which are blocked.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.
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
# Should output: amd_pstate_epp
# If not, add to GRUB kernel parameters (/etc/default/grub):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia_drm.modeset=1 amd_pstate=active"
$ sudo grub-mkconfig -o /boot/grub/grub.cfg && sudo reboot
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.
$ zramctl
# If not, install and configure
$ sudo pacman -S zram-generator
$ echo -e "[zram0]\nzram-size = ram / 2\ncompression-algorithm = zstd" | sudo tee /etc/systemd/zram-generator.conf
$ sudo systemctl daemon-reload
$ sudo systemctl start systemd-zram-setup@zram0.service
NVIDIA drivers can cause black screens on wake from suspend. Apply the NVIDIA power management preserve-memory patch to fix it.
$ sudo systemctl enable nvidia-suspend nvidia-hibernate nvidia-resume
$ sudo mkinitcpio -P
# 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
$ 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
# Check for failed systemd services (run periodically)
$ systemctl --failed
CachyOS is rolling-release. Run yay -Syu weekly to keep the kernel, NVIDIA driver, Proton, and all tools current. Always snapshot first.
$ sudo timeshift --create --comments "pre-update $(date +%Y-%m-%d)"
$ yay -Syu
# Reboot if kernel or NVIDIA driver updated
$ sudo reboot
yay -Syu cleannvidia-smi shows RTX 3060nvidia-smi --query-gpu=resizable_barsystemctl status fstrim.timerzramctl shows zram0NIGHT CITY SECRET