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 backEvery "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.
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
Manualand stopped — neverDisabled. - 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.
-DryRunprints every action and changes absolutely nothing.
git clone https://github.com/appsmypass/gamemode
cd gamemode
.\gamemode.ps1 -On -DryRun # see exactly what it would do first
.\gamemode.ps1 -On # do itRun 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| 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 |
| 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.
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
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.
- Windows 10 or 11
- Windows PowerShell 5.1 (ships with Windows — nothing to install) or PowerShell 7+
- Administrator, only for the service pausing
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.
- 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
MIT — see LICENSE.