linux-performance-profiles
Switchable Linux system performance profiles (gaming, sen/headless work, default) via sysfs/sysctl/Hyprland.
Skill by iberi22
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/iberi22-linux-performance-profiles
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/linux-performance-profiles
What's inside
- Skill name
linux-performance-profiles- Description
- Switchable Linux system performance profiles (gaming, sen/headless work, default) via sysfs/sysctl/Hyprland. Generic across distros and hardware.
- License
- MIT
- Instructions
- 126 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (5)
- SKILL.md
- default.conf · references/profiles/
- gaming.conf · references/profiles/
- sen.conf · references/profiles/
- system-profile · scripts/
SKILL.md (first lines)
# Linux Performance Profiles Generic profile-switching system for Linux. Works on any distro with: - AMDGPU (Navi 2x / RDNA2+) for GPU tuning - Hyprland (optional, for compositor effects strip) - standard Linux sysfs/sysctl interface ## Architecture ``` ~/.config/system-profiles/ ├── system-profile # Main switching script (Bash) ├── profiles/ # One .conf per profile │ ├── default.conf # Balanced, power-efficient daily driver │ ├── gaming.conf # Max FPS, low latency │ └── sen.conf # Headless, zero UI, max compile perf └── .current_state # State persistence (auto-managed) ``` ## Usage ```bash sudo ~/.config/system-profiles/system-profile # list profiles sudo ~/.config/system-profiles/system-profile current # show current state sudo ~/.config/system-profiles/system-profile gaming # switch to gaming sudo ~/.config/system-profiles/system-profile ai # switch to AI/compute sudo ~/.config/system-profiles/system-profile sen # switch to headless work sudo ~/.config/system-profiles/system-profile default # restore balanced ``` > Most sysfs writes need root. The script handles this transparently; just run with `sudo`. ## Profile Format Each `.conf` file is a Bash snippet setting variables: | Variable | Purpose | Example | |---|---|---| | `CPU_GOVERNOR` | Scaling governor | `performance` / `schedutil` | | `GPU_POWER_PROFILE` | AMD DPM profile index | `1` = 3D_FULL_SCREEN, `0` = BOOTUP_DEFAULT | | `GPU_PERF_LEVEL` | AMD force perf level | `high` / `auto` / `low` | | `GPU_POWER_LIMIT` | Power cap in µW | `120000000` = 120W. `0` = skip (driver default) | | `SCHED_MIGRATION_COST` | sched_migration_cost_ns | `500000` | | `SCHED_MIN_GRANULARITY` | sched_min_granularity_ns | `2000000` | | `SCHED_WAKEUP_GRANULARITY` | sched_wakeup_granularity_ns | `1500000` | | `VM_DIRTY_RATIO` | vm.dirty_ratio | `5` (gaming) / `20` (default) | | `VM_DIRTY_BG_RATIO` | vm.dirty_background_ratio | `2` (gaming) / `10` (default) | | `AUDIO_POWER_SAVE` | snd_hda_intel power_save | `0` (off) / `10` (default) | | `MONITOR_REFRESH` | Target refresh (for display) | `200` / `144` | | `MONITOR_MODE` | hyprctl monitor string | `1920x1080@200Hz,0x0,1` | ### Sen-mode specific: | Variable | Purpose | Example | |---|---|---| | `SEN_KILL_PROCESSES` | Processes to kill | `brave firefox eww waybar` | | `SEN_SUSPEND_PROCESSES` | Processes to SIGSTOP | `blueman-applet blueman-tray` | | `SEN_STOP_SERVICES` | systemd --user to stop | `waybar.service` | | `SEN_DISABLE_EFFECTS` | Strip Hyprland compositor | `true` / `false` | ## Adding a New Profile 1. Copy an existing `.conf`: ```bash cp ~/.config/system-profiles/profiles/gaming.conf ~/.config/system-profiles/profiles/my-profile.conf ``` 2. Edit the variables to match your needs. 3. Switch to it: ```bash sudo ~/.config/system-profiles/system-profile my-profile ``` ## Auto-detection & Fallbacks The script detects which subsystems are available and skips missing ones: - **AMD GPU**: finds `card*/device/pp_power_profile_mode` → tunes DPM, power limit, perf level - **Hyprland**: detects `hyprctl` → applies monitor mode, strips/restores compositor effects - **Audio**: checks `snd_hda_intel/power_save` exists - **Scheduler**: uses `sysctl -w` (works on kernel 6.18+ where procfs files moved) - **Any missing hardware**: silently skipped with warning ## Setting Up on a New Machine 1. Copy the `~/.config/system-profiles/` directory to the new machine. 2. Edit the profile `.conf` files to match the new hardware: - Check `cat /sys/class/drm/card*/device/pp_power_profile_mode` for available GPU profiles - Check `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors` for CPU governors - Check `cat /sys/class/drm/card*/device/hwmon/hwmon*/power1_cap_max` for max power cap - Check `hyprctl monitors` for monitor name and refresh rates 3. Test each profile: ```bash sudo system-profile gaming && sudo system-profile default ``` ## Persistence (optional) For NixOS, add to `hardware.opengl.extraPackages` and create a `systemd.services` oneshot or udev rule. For other distros, add the script to `/usr/local/bin/` and create a udev rule or a systemd service. ``` # /etc/udev/rules.d/99-gpu-profile.rules ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card1", RUN+="/usr/local/bin/system-profile gaming" ``` ## Relevant Kernel Boot Parameters (Optional) These require a reboot and go in the bootloader config: - `amdgpu.noretry=1` — cheaper page faults for Vulkan (reduces stutter) - `processor.max_cstate=1` — prevent deep C-state wakeup latency - `transparent_hugepage=madvise` — THP only when requested ## Files - `system-profile` (script): the switching engine - `profiles/*.conf`: profile definitions ## Pitfalls
From iberi22/skills, MIT.
More from iberi22/skills
- 0.570score
agent-issue-delegation
iberi22
Crear GitHub Issues de calidad profesional para delegar a agentes autónomos (Jules, Claude Code, Codex, OpenCode).
SkillAFreshness: AClaude Code +9 - 0.566score
cron-fleet-maintenance
iberi22
Use when auditing or repairing a fleet of cron jobs.
SkillAFreshness: AClaude Code +9 - 0.565score
bug-triage
iberi22
Use when diagnosing a bug in code.
SkillAFreshness: AClaude Code +9 - 0.565score
issue-triage
iberi22
Use when moving issues or external PRs through the issue tracker's triage state machine (needs-triage, ready-for-agent, wontfix).
SkillAFreshness: AClaude Code +9 - 0.561score
jules-recovery-protocol
iberi22
Protocolo de recuperación para Jules cuando falla una sesión.
SkillAFreshness: AClaude Code +9 - 0.561score
swal-theme-creator
iberi22
Allows AI agents (Hermes, Antigravity, Jules) to generate, validate, and switch visual themes in SWAL Desktop using declarative JSON tokens.
SkillAFreshness: AClaude Code +9 - 0.560score
rclone-cloud-backup
iberi22
Use when auditing a running rclone cloud sync job.
SkillAFreshness: AClaude Code +9 - 0.560score
cpanel-node-ops
iberi22
Use when deploying Node backends on cPanel hosting.
SkillAFreshness: AClaude Code +9 - 0.557score
hermes-gateway-troubleshooting
iberi22
Debug Hermes Gateway connectivity and platform integration issues — Telegram, Discord, WhatsApp.
SkillAFreshness: AClaude Code +9 - 0.556score
background-transfer-monitor
iberi22
Use when running long background uploads: track progress.
SkillAFreshness: AClaude Code +9 - 0.521score
caveman
iberi22
Ultra-compressed communication mode para coding agents.
SkillBFreshness: BClaude Code +9 - 0.521score
claude-design-principles
iberi22
Principios de diseño UI/UX distillados del system prompt de Claude Design.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 3
- Last commit (this folder)
- Oct 8, 2026 (21 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/iberi22/skills
- Website
- github.com/iberi22/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from iberi22
- 0.570score
agent-issue-delegation
iberi22
Crear GitHub Issues de calidad profesional para delegar a agentes autónomos (Jules, Claude Code, Codex, OpenCode).
SkillAFreshness: AClaude Code +9 - 0.566score
cron-fleet-maintenance
iberi22
Use when auditing or repairing a fleet of cron jobs.
SkillAFreshness: AClaude Code +9 - 0.565score
bug-triage
iberi22
Use when diagnosing a bug in code.
SkillAFreshness: AClaude Code +9 - 0.565score
issue-triage
iberi22
Use when moving issues or external PRs through the issue tracker's triage state machine (needs-triage, ready-for-agent, wontfix).
SkillAFreshness: AClaude Code +9 - 0.561score
jules-recovery-protocol
iberi22
Protocolo de recuperación para Jules cuando falla una sesión.
SkillAFreshness: AClaude Code +9 - 0.561score
swal-theme-creator
iberi22
Allows AI agents (Hermes, Antigravity, Jules) to generate, validate, and switch visual themes in SWAL Desktop using declarative JSON tokens.
SkillAFreshness: AClaude Code +9
Cite this page
linux-performance-profiles skill. Agent Mart. https://agentmart.dev/skills/iberi22-linux-performance-profiles (last updated 2026-10-24)