This guide assumes you already know how to install SteamOS on your ROG Ally/AllyX and you're here because you're wondering what to do AFTER initial setup.
(In this guide, you can expect better audio, visuals, higher performance, and controller bug fixes.)
=-- SECTION 1: The Easy Stuff --=
The following steps do not require you to enter Desktop Mode or install anything extra.
1) Microphone fix. Adjust your default mic volume to ~20%.
- NOTE: SteamOS (as well as Bazzite and CachyOS) over-amplify the microphone by A LOT, resulting in loud crackling and screeching sounds. Basically, ~20% volume is the "real" 100% volume.
==========
2) Display colors. Adjust Color Vibrance and Color Temperature by 1 "notch" to the right of the default settings to get a better white-balance and color accuracy suited for the Ally screen.
==========
3) Battery limit. Set battery charging limit to between 80% to 88%. Dealer's choice.
==========
4) Performance. Via right side-bar menu (lightning bolt symbol)
- Disable Frame Limit: OFF
- Frame Limit: 46
- Recommendation only, remember you can change FPS caps on per-game profiles too)
- Most people can't tell the difference between 46 and 60. If you're not "most people" feel free to change it.
- Balances battery life with performance, often with better frame pacing to eliminate stutter.
- Enable VRR: ON
- Allow Tearing: ON (OK since VRR is on)
- TDP Limit: OFF (This will be controlled by a plugin later)
=-- SECTION 2: The Desktop Mode stuff --=
Everything in this section will be done in Desktop Mode.
1) Install Decky Loader (follow the instructions)
2) Install the Decky Loader plugin SimpleDeckyTDP
3) Install the Decky Loader plugin DeckyPlumber
4) Via the Discover software center (comes pre-installed with SteamOS), install JamesDSP and ProtonUp-Qt
5) Open ProtonUp-Qt and install the final version of GE-Proton 10, which should be 10-34
- You might never use it, but this is a handy compatibility layer to have in case you have an unsupported game that doesn't play nicely with newer versions of Proton.
Then, also install the latest version of GE-Proton (at the time of writing, is 11-9)
=-- SECTION 3: The Less-Easy Stuff --=
Go back to Gaming Mode.
1) Get the following Decky Plugins from the Decky store.
==========
2) Way better audio. Open the DeckSP plugin...
- Page 1/9
- Enable in desktop mode: ON ... Disable profile notifications: ON (preference)
- Page 2/9
- Bypass All: OFF ... Post Gain: -6 ... Threshold: -1 ... Release: 60
- Page 3/9 (EQ)
- Enable: ON
- (This EQ profile is a combination of settings from this reddit post and my own post from a while ago. DeckSP doesn't let us get as granular as some suggested settings, but the below settings are about as close as possible.)
- (The overall intention is to get the speakers sounding about on-par with the Windows 11 Dolby audio drivers from ASUS.)
- 25Hz: -10 ... 40Hz: 2.5 ... 63Hz: 1.9 ... 100Hz: 1.5 ... 160Hz: -3.4 ... 250Hz: 5.9 ... 400Hz: 8.1
- 630Hz: -6.2 ... 1000Hz: 8.1 ... 1600Hz: -1.5 ... 2500Hz: 3.5 ... 4000Hz: 5 ... 6300Hz: 5.1
- 10000Hz: 5.1 ... 16000Hz: 2.7
- Page 4/9 (Compander)
- Enable: ON ... Time Constant: 0.22 ... Granularity: Medium
- 95Hz: -0.04 ... 200Hz: 0.12 ... 400Hz: 0.12 ... 800Hz: 0.08
- 1600Hz: -0.05 ... 3400Hz: -0.05 ... 7500Hz: -0.05
- Page 5/9 (Stereo Wideness)
- Enable: ON ... Widen Level: 50 ... Crossfeed: ON ... Mode: Surround 2
- Page 7/9 (Dynamic Boost)
- Enable: ON ... Max Gain: 3
- Page 9/9 (DDC)
- Enable: ON ... DDC Source: Apple: EarPods (iP5) (An approximate profile due to the Ally's small speakers)
==========
3) Enable your backpaddle buttons (M1 and M2).
- Go to DeckyLoader plugin DeckyPlumber > Controller Mode > choose Xbox Elite
- This makes the system think you're using an Xbox Elite controller, which also has backpaddle buttons. This effectively makes SteamOS "see" your Ally backpaddle buttons.
==========
4) Fix backpaddle intermittent issues.
- Go to DeckyLoader plugin Docky > Triggers > Resume from sleep: ON ... Startup: ON
Settings (cog wheel icon) > Actions > New action > Task Type > Run Command > Command (shell)
- Name it something like "Restart InputPlumber Service"... then, in the command section, Type in systemctl restart inputplumber.service
- Scroll down and select Add Task ... Scroll up and select Save
Go to Modes tab > New Mode > Name it something like "Restart InputPlumber" > in Actions run in this mode, select the "Restart InputPlumber Service" task you created in the previous step > Scroll up and select Save
Go to Triggers tab > Resume & startup section > On wake from sleep and On startup, select your "Restart InputPlumber" mode... Scroll up, select Save
- Now whenever your system wakes from sleep or boots, the InputPlumber service will restart, ensuring that your backpaddle buttons won't get "lost" and stop working.
- NOTE: Your controls will not work for approximately 2-3 seconds when this script is triggered, but since it only triggers during boot or wake, not a huge deal.
==========
5) Improve your performance.
Go to DeckyLoader plugin SimpleDeckyTDP
- Enable per-game AC Power TDP profiles: ON
- Temporary Max TDP Profile: 3 seconds
- Max TDP: 32 (make sure to plug into AC and set that to 32 as well)
- Minimum TDP: 7 (BIOS doesn't allow for lower than 7 anyway)
- TDP (Watts): 18*(non-AC), 25 (AC)
- Enable CPU Boost: OFF (negligible performance boost with drastically reduced battery life... NOT worth it!)
- GPU Mode: Balance
==========
6) Make your controls menu and button icons look like the ROG Ally.
- Go to *DeckyLoader plugin CSS Loader and install Handheld Controller Glyphs
- Go back to the CSS Loader main menu > Find Handheld Controller Glyphs, enable it, select the dropdown and choose ASUS ROG Ally. If prompted to install something extra, say yes.
That's it! No fancy ending statement. GL, HF!
P.S. This post is long-ish with formatting and bullet-points, attempting to edit this post may result in weird text duplication (happened last time) so if there are typos, sorry, not touching it.