Scripts and utilities to improve performance and manage storage on the Steam Deck. (May work with other Linux distros.)
The latest update resolves the scaling issues on the new OLED Deck, and I figured I should provide an update here:
- This (CU2) is still fully compatible with the new OLED models.
- Performance improvements should be similar (or possibly slightly better) than on the LCD model (thorough testing pending)
As of the latest update, this should be compatible with most Linux systems, with the following limitations:
- This will not operate on swap partitions, only files.
- The Game Data and VRAM tabs will likely not work
- Pop_OS! has a custom swappiness that will override any value set here after reboot.
Please keep in mind that support for non-Steam Deck devices is on a "best effort" basis, and will have a low priority. Unfortunately, the amount of effort and support that would be needed to guarantee functionality for all distros would require me to be working on this full-time, which is not the case.
If you want to use the tweaks here without relying on this tool, please see the "How Does it Work" section below.
There's a new VRAM tab which will tell you the current "UMA Frame Buffer Size" setting, and how to configure it if you haven't already!
The swapfile path is now completely dynamic and the resize functionality can recover in the event of an earlier failure! You no longer need to manually intervene if a previous swap resize failed, just run the resize again and it'll work its magic.
There's now a simple "Delete all uninstalled" button in the "Clean Game Data" window. Just click it and all the data from uninstalled games will be removed!
Please keep in mind that non-cloud-saved save games should still be backed up manually before using this.
If you're interested, please see the announcement video here, where I go over all the new features and how they work.
- One-click set-to-recommended settings
- One-click revert-to-stock settings
- Swap Tuner
- Swap File Resizer + Recovery
- Swappiness Changer
- Memory Parameter Tuning
- HugePages Toggle
- Compaction Proactiveness Changer
- HugePage Defragmentation Toggle
- Page Lock Unfairness Changer
- Shared Memory (shmem) Toggle
- Storage Manager
- Sync shadercache and compatdata to the same location the game is installed
- Delete shadercache and compatdata for whichever games you select
- Delete the shadercache and compatdata for all uninstalled games with a single click
- Full CLI mode
Look below for common questions and answers, or go check out my YouTube Channel for examples on how to use this and what performance you can expect.
Download this link
to your desktop (right click and save file) on your Steam Deck, remove the .download
from the end of the file name,
then double-click it.
This will install the program, create desktop icons, and create menu entries.
See manual-install.md.
In case you're in a firewalled country like China, please see this post on my website for install directions and a non-GitHub download link.
NOTE: This REQUIRES a password set on the Steam Deck. That can be done with the passwd
command.
After installation, just run the "CryoUtilities" icon on the desktop or the application menu under "Utilities".
The latest version has a full CLI handler, which can be used to perform all tweaks, but doesn't perform game data operations.
sudo ~/.cryo_utilities/cryo_utilities <command> [parameter]
If you want to see the available commands and accepted values, you can use:
sudo ~/.cryo_utilities/cryo_utilities help
Note: You need to use sudo for the tweaks to work, otherwise it can't write to the necessary locations on disk.
Double-click the "Update CryoUtilities" icon on the desktop, you will get a dialog box when the update is complete.
Double-click the "Uninstall CryoUtilities" icon on the desktop, you will be asked if you're sure, then asked if you want to revert the tweaks that have been made.
To revert to the Steam Deck defaults, do one of the following:
- Boot CryoUtilities and click "Stock" on the homepage.
- Uninstall CryoUtilities, you'll be asked if you want to revert to stock settings. Choose yes.
After choosing these options, the Deck will be identical to an unmodified version.
- If the drive becomes full during the swap file resize, you can trigger a known SteamOS bug that causes boot loops.
- CryoUtilities is programmed in such a way to not allow this, but in the very worst cases it's still possible if something is operating/downloading in the background, at the same time CryoUtilities resizes the swap file.
- In the event that it happens, you need to either get into a live environment and delete some files, or reinstall SteamOS with the non-destructive method.
- While using CLI mode, it is possible that the swap file resize takes long enough that the sudo credentials will time
out.
- This does not occur in GUI mode, due to how I was able to implement authentication, and will be patched out of CLI-only mode soon.
See the FAQ page.
See the tweak explanation page.
- Make sure that you're using SteamOS 3.4 or later
- Verify that
/home/deck/.cryo_utilities/cryo_utilities
and/home/deck/.cryo_utilities/launcher.sh
exist/home/deck/.cryo_utilities
is a hidden directory, so ensure that you can view hidden files
If the above doesn't work, please open an issue here or contact in the Discord!
Try rebooting the Deck and trying again, I haven't heard of instability post-reboot, but if you find some please let me know!
Reboot the Deck or restart desktop mode, afterwards the link should work.
Make sure the CryoUtilities.desktop
file is on the desktop when you run it. If that still doesn't work, try one of the
following:
- Run
chmod +x ~/Downloads/InstallCryoUtilities.desktop
and then try again. - Add
CryoUtilities.desktop
as a Non-Steam game and run it from Steam.
Go to Game Mode, navigate to Settings > System, then press "Run storage device maintenance tasks" at the very bottom. After it's completed, you should be able to resize the swap file easily.
Make sure that you installed using the installer. If you can't, then run:
chown -R deck:deck ~/.cryo_utilities
chmod -R 777 ~/.cryo_utilities
These permissions are more open than necessary, though, so only do it as a last resort.