Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

gamemode

One command to free your PC for gaming. One command to put it all back.

Closes background bloat, pauses noisy Windows services, switches to a high performance power plan, silences notifications and kills Game DVR — then restores every last setting when you're done.

No installer. No background agent. No telemetry. One PowerShell file.

.\gamemode.ps1 -On      # free the machine
.\gamemode.ps1 -Off     # put it all back

Why

Every "game booster" on the internet is either adware, a permanent registry butcher, or a placebo with a spinning gauge. This is a single readable script that does the handful of things that actually matter — and, crucially, remembers how to undo all of them.

The safety bit (read this)

Before gamemode changes anything, it writes the original value to a state file:

%LOCALAPPDATA%\gamemode\state.json

It saves before each action, not after. So if the script crashes, you force-reboot, or your power goes out mid-run, gamemode -Off still knows your original power plan, every service's original start mode, every registry value, and the full path of every app it closed.

  • Nothing is deleted. Nothing is permanent.
  • Services are set to Manual and stopped — never Disabled.
  • A hard-coded blocklist means a typo in your config can never kill lsass, dwm, explorer, your audio stack, or a running OBS / ffmpeg encode.
  • Not running as admin? It skips the service work and tells you, instead of failing halfway.
  • -DryRun prints every action and changes absolutely nothing.

Quick start

git clone https://github.com/appsmypass/gamemode
cd gamemode

.\gamemode.ps1 -On -DryRun    # see exactly what it would do first
.\gamemode.ps1 -On            # do it

Run PowerShell as administrator for the full effect — without it, the service pausing is skipped.

If Windows blocks the script:

powershell -ExecutionPolicy Bypass -File .\gamemode.ps1 -On

Commands

Command What it does
-On Enter game mode
-Off Restore everything from the state file
-Status Is it active, and what exactly is changed right now
-ListTargets Show what would be closed/paused on this machine, and how much RAM it'd free
-DryRun Preview mode. Combine with -On or -Off. Changes nothing
-Aggressive Also close browsers/launchers and pause extra services
-Game <name> Raise that process to High CPU priority, e.g. -Game cs2
-Config <path> Use an alternate config file

What it actually does

Area Default Aggressive
Background apps OneDrive, Teams, Slack, Spotify, Dropbox, Google Drive, Adobe suite, Widgets, Zoom, Outlook, vendor bloatware + Chrome, Edge, Firefox, Discord, Epic, Battle.net, GOG, Ubisoft
Services Windows Update, Search indexing, SysMain, Delivery Optimization, Maps, DiagTrack telemetry + Print Spooler, PcaSvc, WpnService
Power Switches to High Performance — and creates that plan if Windows has hidden it (common on Windows 11 laptops) same
Registry (HKCU) Toast notifications off, Game DVR off, background capture off same
Priority Optional: pins your game to High with -Game same

Steam, Discord and your launchers are left running by default — you probably want those during a game. Opt in with -Aggressive.

Example

  gamemode v1.0.0
  ---------------------------------------------

  Would close (running right now)
  ---------------------------------------------
  - msedge                        1363 MB [aggressive only]
  - Widgets                         62 MB
  - WidgetService                   28 MB
  - OneDrive                       117 MB

  Would pause (present on this machine)
  ---------------------------------------------
  - wuauserv                     Stopped
  - WSearch                      Running
  - SysMain                      Running
  - DiagTrack                    Running

Config

A config file is generated on first run at %LOCALAPPDATA%\gamemode\config.json. Edit the lists to taste — process names are case-insensitive, .exe is optional, and * wildcards work:

{
  "closeApps":            ["OneDrive", "Teams", "Spotify", "LenovoVantage*"],
  "aggressiveCloseApps":  ["chrome", "msedge", "Discord"],
  "services":             ["wuauserv", "WSearch", "SysMain", "DiagTrack"],
  "aggressiveServices":   ["Spooler"],
  "powerPlan":            "high",
  "disableNotifications": true,
  "disableGameDVR":       true,
  "relaunchOnRestore":    true
}

powerPlan accepts high, ultimate or none. Set relaunchOnRestore to false if you'd rather -Off didn't reopen the apps it closed.

The built-in "never touch" blocklist is not configurable, by design.

Requirements

  • Windows 10 or 11
  • Windows PowerShell 5.1 (ships with Windows — nothing to install) or PowerShell 7+
  • Administrator, only for the service pausing

FAQ

Does this actually boost FPS? Sometimes, sometimes not. Closing a browser sitting on 1.3 GB and stopping the search indexer mid-match is a real, measurable win on a 8–16 GB machine. On a 64 GB desktop the RAM matters less, but the power plan and the missing Windows Update stutter still do. It makes no fraudulent claims and shows you the numbers.

Will it break my PC? It only stops services (never disables them), changes HKCU values, and closes user apps. Everything is journaled to disk and reversible with -Off.

I rebooted before running -Off. Just run .\gamemode.ps1 -Off now. The state file survives reboots. Services set to Manual will have stayed stopped; this puts them back to Automatic and starts them.

Why not a .exe? So you can read all 590 lines of it before letting it touch your machine.


See also

  • obs-4k60-recorder — record gameplay at native resolution and 60fps with hardware encoding
  • vidkit — a sane PowerShell layer over ffmpeg
  • diskscout — find what's actually eating your disk

License

MIT — see LICENSE.

About

One command to free your PC for gaming and one to put it all back. Closes background bloat, pauses noisy services and swaps power plan, then restores every change from a crash-safe state file.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages