In this blog post you will find help, guidance and assistance for unlocking your Steam Deck BIOS to be able to undervolt and overclock your Steam Deck. There is also information on how you can recover from doing so in case it goes bad, how to also backup your BIOS, and links to a method for undervolting without modifying your BIOS that is a safer way to recover from. There is also settings for using your RAM at 6400 speed, though you need to be comfortable with opening up your Steam Deck and restoring the BIOS with a programmer should anything go wrong. Being unable to restore your Steam Deck to a state where you did not tinker with it, means you will void your warranty and incur a repair cost if you do not recover it yourself. Do not ignore this warning.
In February 2022, Valve released its portable personal computer, the Steam Deck. It is frequently compared to the Nintendo Switch, and other portable personal computers, the Steam Deck demonstrates how it is different by combining the ecosystem of a new version of SteamOS based on Arch Linux (previous versions were Debian and intended for ‘Steam Machines‘).With the previously released Steam Controller and its two touch pads, gyroscopic movement and customisable Steam Input infrastructure along with a custom AMD APU called Van Gogh (having integrated GPU, CPU and also ‘Vision Cores’ which as of yet, go unused), my theory is that the Van Gogh is a concept processor for a standalone VR headset (as what is used for the Oculus Quest 2).
Of course with any portable device, especially one to play games on, there are people that want to get the most out of it, battery life, performance, frame rate, etc. The Steam Deck is well optimised. It runs very ‘close to the bone’ as it were, and while it has settings under the ‘Performance’ tab on the ‘Quick Access Menu’ (accessible via the three dot button under the right track pad) it has many, many more features available that are hidden away in its BIOS, and rightly so.
Having hidden options in the BIOS is not a new idea, with computers that are ‘off the shelf’ or ‘store bought’ there are often settings locked away which are not commonly visible. With the introduction of recent AMD and intel(?) processors, there’s even more options to change and it’s all thanks to UEFI.
If you want to read more about UEFI, then you can do so from tianocore’s github and check out UEFITool. Simply put, UEFI has meant that BIOS’s and Firmware have become a lot more complex, having their own drivers, configurations, and a requirement to have storage for those configurations. On ’embedded devices’ or custom hardware like laptops, this means that you do might do away with the traditions of ‘CMOS’ and instead store the configuration on an SPI Flash chip, like the Steam Deck, and that’s where a tools by SmokelessCPUv2 aka SmokeyCPU comes in.
The Steam Deck in particular, uses insydeH20 UEFI BIOS, like many other laptops, tablets and embedded hardware devices. Tools and software for this are usually distributed directly by the Original Equipment Manufacturers, because they typically pay insyde for the license and the software, end users like you or me do not get their hands on the development kits for this or the tools, unless they are distributed in ‘BIOS updates’ or ‘drivers’ and even then we only see a portion of what is available. In the case of the Steam Deck, it has its BIOS backup and flash tool stored in ‘/usr/share/jupiter_bios_updater/h2offt’ along with its platform configuration. You can also find other BIOS and firmware tools on the Steam Deck, such as for the official Steam Deck Dock.
You Should Backup your Steam Deck BIOS – Especially before Tinkering With It
sudo /usr/share/jupiter_bios_updater/h2offt /home/deck/biosbkp.fd -O
Is the command in SteamOS. If you haven’t run this before, and you have not already tinkered with your Steam Deck BIOS (overclocking, under-volting, etc.) run it now.
If you don’t know what ‘sudo‘ is, then read this article: https://wiki.archlinux.org/title/sudo
To use this, you need to set a (sudo) password for the ‘deck’ user account on the Steam Deck using:
From a konsole terminal in desktop mode, make sure you’re careful what you type and that you remember it. It won’t show you the key presses when you type it in.
Then backup biosbkp.fd somewhere safe that isn’t on your Steam Deck and don’t share it with others.
Why not share it with others?
Well the BIOS has a lot more information in it than the update files that you receive from Valve. As it is a UEFI BIOS and it contains more components to it than simply the settings you edit with Smokeless and change from boot. It also contains your Steam Deck’s MAC addresses, serial numbers and may contain information relating to Deck rewards. The BIOS ends up larger than the BIOS update files that you get from Valve.
How Do I Recover From Bad BIOS Settings or a Bad BIOS?
If you break your Steam Deck’s BIOS or its settings in a seemingly ‘irrecoverable fashion’, then to restore it you need an SPI chip programmer (the CH341A, a SOIC8 clip with cable and a 1.8v adapter – you can find it at Aliexpress or Amazon) and the tools to either program the chip where it is soldered, with the battery disconnected, or you have to de-solder the chip and attach it to an SPI chip programmer.
There’s a good introduction to how to do this from a Microsoft Windows installation available on Reddit, and there’s also a guide on instructables.
As a bonus, here are a couple of video guides:
Considering the SPI Flash Chip in the Steam Deck is 1.8v, you may want to watch this to help you with how to orientate the programmer:
When connecting the programmer you’ll want to make sure you’re using the 1.8v adapter, and ensure that you are orientating / aligning the pins up correctly from pin ‘1’ onwards, and using the correct ‘half’ of the socket where you insert the connections.
Rather frustratingly, there are many different versions of software to use with the CH341A programmer.
- Windows: AsProgrammer
- Windows: NeoProgrammer
- Linux: QT-CH341A-LINUX-PROGRAMMER
- Linux: CH341eeprom (guide)
You will need to be able to identify the chip and select it in the CH341A programming software that you use, else it might not flash properly. If one of the above software does not work for you, you might have to search for it.
You can ID the chip on ifixit’s site it’s the:
- Winbond 25QW128JW
‘2129’ chip surrounded with a yellow box.
More information on the SPI chip can be found at the WinBond site. You can also directly view its datasheet.
Specifically, it’s a 1.8v 128m-bit serial flash memory chip.
Again, the backup of the BIOS is a full backup of the entire chip. Using tools for a programmer you can write the entire dump to the chip in full.
This backup will retain any settings for voltages, frequencies, etc. So make sure you back it up when it’s in a state you want to return to, and not one that you don’t want to restore to.
‘Crisis Mode’ or ‘CMOS Clearing’
The insyde BIOS that the Steam Deck uses, also has a ‘recovery mode’ that may allow you to reset the BIOS settings without having to use a programmer.
There’s a button combination you can use to start up your Steam Deck that should clear any BIOS settings or revert it to ‘default’. This can also be referred to as a ‘crisis mode’ – some people refer to it as ‘clearing the CMOS’.
Getting this to work is a little tricky:
- Shut the unit down, either from the OS or by holding power button for 10 seconds.
- Check that the unit is off. Trackpads should have no haptic feedback.
- While holding the volume – and “…” buttons, press the power button once.
- Keep holding volume – and “…” during the power button press and a few seconds after that, then let go.
If this doesn’t work for you, then this works best if you disconnect the battery internally to the Steam Deck and then do the combination while plugging in the USB power when holding down the buttons.
The steps would be:
- Shut down the Steam Deck and disconnect the battery internally
- Check that the unit is off. Trackpads should have no haptic feedback.
- While holding the volume- and “….” buttons, plug in the USB power, press the power button once.
- Keep holding volume – and “…” during the power button press and a few seconds after that, then let go.
When you hear the first beep/chime start you may be able to hold the volume+ button and go into the BIOS.
Doing these recovery steps may also work better if you have a copy of Smokeless_UMAF on hand and connected via USB when you also connect power, using a USB hub or dock and boot straight into the boot select menu, and choose your USB stick, rather than using the Steam Deck BIOS options for AMD CBS / PBS
These steps where you have to disconnect the battery does mean that you need to open the back of the Steam Deck. People have found that using a PH1 Philips screwdriver fits best, but be careful as it can be easy to mangle and strip the screw heads.
Another ‘Crisis Mode’ or BIOS Recovery Without a Programmer
The insyde BIOS also has a mode that may allow you to re-flash the BIOS without using a programmer. This is typically referred to as ‘Crisis mode’, but people typically rely on the above method to reset settings.
On a laptop or desktop computer, to enter this mode you would normally power on your computer with the ‘Windows’ key and ‘B’ key held.
You would also have a FAT32 formatted USB pen drive connected to your computer, on this would be a file. This file would not be your BIOS backup, but it would be a BIOS update file. On the steam deck, this would be called something like: F7A0110_sign.fd or F7A0110.fd (or maybe Chachani.fd which is another word for the APU).
On a desktop/laptop computer, you’d have the LED turn on and off to determine whether or not you had entered this ‘crisis mode’ and it would automatically flash the update file. Thanks to the creator of the ‘smokeless_UMAF’ tool they confirmed this mode does exist, but from experience it may not clear the settings or fix from a ‘brick’, or flash the BIOS version at all.
How do I Tinker with my BIOS?
SmokeyCPU has familiarised themselves sufficiently with the UEFI BIOS that they were able to create a tool to reveal the settings in the ‘Form browser’ that reveals the appropriate settings, configurations and options that are usually hidden on your computer. It wasn’t intended for the Steam Deck, but it works and shows the AMD CBS and AMD PBS options and all of the sub options. This tool is ‘Smokeless_UMAF‘ – Cryobyte33 uses this tool on their Steam Deck, and provides tips to do so.
Smokeless_UMAF, when saved to a FAT32 formatted USB drive, allows you to boot the Steam Deck and access a version of the ‘form browser’ (aka AMD CBS / AMD PBS settings), but only if your BIOS version of the Steam Deck is before version 115.
If it is not clear, you use this tool to load up a ‘form browser’ of options in your UEFI BIOS that are for your AMD APU, that controls the functions and interactions between it and the components in your Steam Deck. This means you can under-volt and overclock the CPU component, the GPU and also raise power limits, and power limits when ‘boosting’, and also settings for the RAM timings, among other functionality such as boot options, and features that aren’t necessarily broken out from the APU onto the main board from USB to ‘Camera’ and other functionality, we do not have a full documented list of what these options do.
Now while it’s possible to revert your BIOS version if you have access to the previous versions, and you can use the ‘h2offt’ tool that you can also use to backup your BIOS, you will likely lose out on any optimisations, fixes and other features that are deployed to Steam’s BIOS updates in future.
Modifying your BIOS without Smokeless UMAF
The Steam Deck community suddenly became concerned, had Valve done this intentionally? Frankly I would understand if they did, because a lot of people were seemingly ‘bricking’ their Steam Decks with careless abandonment and not knowing how to recover it. It was then pretty easy for them to say to Valve “my Steam Deck won’t turn on, can I have an RMA?” and that’s also the concern for members of the Steam Deck community with this new method, and maybe it is only a matter of time before Valve finds out, I even thought twice about writing this blog post.
When the 115, or version 116 BIOS comes up, now that Smokeless_UMAF doesn’t work with it, how will they get their performance gains?
What can they do?
So they raised this with the creator of Smokeless_UMAF. Initially, SmokeyCPU wasn’t that interested, but like any good, intelligent and curious person, suddenly came out with a solution. SmokeyCPU had discovered that Valve had changed the BIOS such that the form would ‘unload’ after a certain initiation, and that’s mainly why it no longer loaded in the tool they created, regardless of AMD CBS now being ‘offset’.
After some digging in the UEFI specification, and also reverse engineering, SmokeyCPU produced a few lines of C Programming code that ‘unlocked’ the forms in the stock Steam Deck BIOS. There were both cries of joy, and cries of concern, while this code could not directly be compiled on the Steam Deck because Valve have purposefully restricted the packages and their contents, (glibc for example isn’t properly installed, and so you cannot setup your locales) someone can easily compile the code on another computer and share it, and then, the options are visible in your Steam Deck BIOS, which looks like this: (Thanks to dan2wik on the Steam Deck discord for the photograph.)
No longer do you need a bootable USB, the options are ‘just there’, at least until your BIOS is updated again by Valve as they tend to reset your settings to ‘default’. Updating the BIOS manually or from a future update from Valve will likely retain the unlock because it is modified in a different area than the BIOS update file (eg. F7A0114_sign.fd) updates.
Editing the values from the Steam Deck BIOS menu brings up an on-screen keyboard, and you can use the Steam Deck button, joystick, etc. to navigate the menu and options.
Though a full restore of an entire BIOS backup dump will remove the menu unlock if you are using a backup created, before there has been any modification made.
Okay, I want the BIOS Modification
The few lines of C to do the modification can be found at the Github link, but to make this ‘easier’ I have compiled the modification which you can download to your Steam Deck and simply run it along with a basic safety measure of backing up your Steam Deck BIOS.
Though it is purposefully not straight forward, and I have put into it a call to h2offt to backup your BIOS to ‘/home/deck’ before it makes the changes. You can get the tool and run it like this in a konsole terminal on your Steam Deck:
wget https://linux.stantoworld.co.uk/sdunlock -O /home/deck/sdunlock
chmod +x /home/deck/sdunlock
And then shut down your Steam Deck so that it powers off, then boot into the BIOS with ‘
Volume +‘ and the ‘
Power‘ button, and you’ll have the extra menu options.
The tool doesn’t do anything ‘special’. It checks whether or not you are running the tool with ‘sudo’, and if you are, it tells you that it’s based on SmokeyCPU’s code to unlock the BIOS, and when you enter ‘ok’ it checks if you have already ran the tool, by looking for a previous BIOS backup (you only ever need to run the tool once) and if it does not exist, it runs the backup BIOS command, and tells you where it is stored, and then tells you to shutdown the Steam Deck. If you wish to re-hide access to the menus, then type ‘lock’ instead of ‘ok’, but be warned that there is not a check on this, it will just go ahead and make the change directly to the i/o ports. It also doesn’t clear any settings made, so those will still be saved until a Valve BIOS update. It does not backup the BIOS if you choose to lock your BIOS.
The unlock method has been tested on BIOS versions F7A0110, F7A0113, F7A0115 and F7A0116. The tool I compiled will check which version of BIOS you have that it can determine from your Steam Deck, and warn you if it is not one of these versions.
The source for the tool is not currently public.
Actually I Do Not Want to Mod my BIOS, Can I Still Undervolt?
Yes, you can undervolt, I believe also control TDP, and restore it in software using ‘RyzenAdj. ‘1/4 Life’ has put together a nice collection of scripts to make this into a systemd service for SteamOS, so that when you’re happy with the settings, it will restore them on boot, and it means if you do accidently enforce settings that ‘brick’ your Steam Deck, you can boot with a recovery USB and mount your SteamOS to revert it, or simply factory reset or re-image your Steam Deck.
Here’s a link to KyleGospo’s Steam-Deck-Software-Undervolt github where you can find the installation instructions.
Settings that you Should Avoid
If you want to avoid bricking your Steam Deck into a state where you definitely need to use a chip programmer, then yes, there are settings you will want to avoid.
This isn’t a comprehensive list at all, but you may get the ‘feel’ for the settings you shouldn’t change from this. The rule of thumb is to not go too extreme on settings, and to not ‘force’ a setting. Even while incrementing values you could still brick your steam deck and need a chip programmer, there’s a rule of thumb to at least abide by.
Undervolting: Setting your undervolt too low can result in a ‘brick’ that can be difficult to recover from. Going beyond -30 can cause general instability and problems, someone set theirs to -100 and it was an instant ‘brick’.
pstate(0): Any of the pstate settings can result in an instant ‘brick’, this is basically forcing your processor to run in a manner that may or will not work, especially with no other changes. It simply is not worth changing this option at all.
ForceCclkFrequency / ForceGfxclkFrequency: This is similar to pstate in the sense that you’re forcing the processors to run at a set frequency, this can also result in a brick. It is better to use CclkFmaxOverride Control and GfxclkFmaxOverride Control because then the hardware can auto adjust.
There is Always a ‘Catch’ – Fast and Slow PPT
Changes to the TDP (Fast PPT and slow PPT) are not ‘saving’ (they’re being capped) with the unlock tool when set from the Steam Deck BIOS.
Valve have settings elsewhere in the BIOS (under Advanced) for controlling these settings as well as in the AMD CBS/PBS area, which means that it is being overridden if you set these values in the Steam Deck BIOS.
However, if you use Smokeless_UMAF, it doesn’t load the ‘Advanced’ section of the BIOS, therefore the values being set aren’t reset. Smokeless_UMAF only loads the AMD CBS/PBS forms, but presumably if you go back into the Steam Deck BIOS after setting with Smokeless_UMAF, you will encounter the same ‘reset’ problem.
The BIOS unlock tool will need to be updated (or used with another tool) to adjust this (and basically patch out the Valve override) but this has implications, according to SmokeyCPU, such as breaking the valid signing of the UEFI BIOS.
You have a choice:
- Wait for a patch for this method (likely to be worked on after the release of whatever latest BIOS with SteamOS 3.5)
- Use Smokeless_UMAF to change these settings (because it should now work) and re-apply when needed.
- Change the TDP/PPT settings in the Operating System instead
There’s the option to override the Fast and Slow PPT in SteamOS with:
- NGnius PowerTools with DeckyLoader
- RyzenAdj in Windows/Linux Or
- Directly writing to the appropriate hwmon sys class in Linux.
Also check the PPT values they are set to by running the following in the Konsole terminal in SteamOS:
sudo cat /sys/class/hwmon/hwmon4/power1_cap
sudo cat /sys/class/hwmon/hwmon4/power2_cap
Equally you can set these from a Konsole terminal, and they will revert to whatever is set in the BIOS on reboot/reset:
sudo echo 18000000 > /sys/class/hwmon/hwmon4/power1_cap
sudo echo 18000000 > /sys/class/hwmon/hwmon4/power2_cap
In this example, we’re setting the Fast and Slow PPT (overall TDP) to 18 watts. You will likely want to disable the new ‘Fan Curve’ in settings in SteamOS so that the fan reacts faster and cools better.
What Are ‘Known Good’ Settings to Under-Volt?
Firstly, do not touch ‘pstate’ or ‘pstate0’ values. These very easily ‘brick’ your Steam Deck. You never need to touch them.
Anecdotally, people have managed the following settings, and have them stable. The settings are in the order of CPU / SOC / GFX and listed by their discord names:
Stanto: -20 / -20 / -20
JDGBolt: -20 / 0 / 0
xzythundergodfist: -70 / -55 / -55 | -65 / -50 / -50
doomslaya: -30 / -50 / -55
dan2wik: -27 / -20 / -41 | -40 / -15 / -35 (and -5 cvip)
linkstar612: -20 / -20 / -20
goatrafa: -25 / -25 / -50
therealmccoy: -30 / -30 / -50 | -20 / 0 / -40
baldsealion: -35 / 0 / -25
max: -20 / -20 / -40
acekard: -38 / 0 / -17
aerir: -30 / -30 / -30
dan2wik has two Steam Decks and noticed particularly that they had different tolerances for the settings, it could be unstable if it was sat at idle with the fan going at 100%.
doomslaya found that any more on the cpu/soc and they had a ‘hard crash’.
baldsealion found that if they went any lower on the gpu, they would have bad artifacting, and acekard found at -40gpu they had games which crashed.
We tend to refer to this as the ‘silicon lottery’, even if you go down in -5 or -10 increments, you could end up with an unstable or ‘bricked’ Steam Deck, which is why you should be careful and have a BIOS backup in case the other recovery methods do not work.
You can also increase the ‘Max CLK’ or ‘Max Clock’ for the CPU and GPU here without needing to use NGnius PowerTools – but frankly I would advise tweaking the clocks in the BIOS to raise the actual maximum, and then altering pt_oc.json in PowerTools which will allow you to use the plugin to tweak the settings appropriately per game, beyond what Steam Deck’s ‘performance’ tab will let you do.
Where are the Undervolt/Overvolt Settings in the Steam Deck BIOS?
You can still use Smokeless_UMAF, or you can now boot into your Steam Deck BIOS by pressing VOLUME+ and POWER from the Steam Deck being turned off. From pressing the button combination you can now go to ‘Setup Utility‘ with the D-Pad and pressing ‘A’, and then navigate down to:
AMD CBS > SMU Debug Options > SMU Feature Config Limits
Once you have navigated to this area, you will want to change the following option:
SVI3 Voltage Control > Auto to Manual
This will unlock further options which allow you to set a Voltage Offset for each part of the AMD APU. Set these options from Auto to Negative to ‘undervolt’, and Positive, to ‘overvolt’
VDDCR_VDD Voltage Offset Sign
VDDCR_SOC Voltage Offset Sign
VDDCR_GFX Voltage Offset Sign
Then you can change the value underneath them from 0 to the value that you want to overvolt or undervolt to. Keeping in mind that you may ‘brick’ your device if you go too extreme, and it is considered sensible to change these in small increments. To be safe and careful you could change these in increments of one. If you are confident and have a BIOS backup, and a chip programmer, you could go with increments of 10, or what you are comfortable with, but keep in mind the experiences of other people quoted above.
The names of the respective values you will change may be obvious but they are here:
VDDCR_VDD Voltage Offset
VDDCR_SOC Voltage Offset
VDDCR_GFX Voltage Offset
You may have also noticed that there are two further options that refer to ‘CVIP’ such as:
VDDCR_CVIP Voltage Offset Sign
VDDCR_CVIP Voltage Offset
CVIP is the Vision Image Processor cores on the AMD VanGogh APU, these are mostly not used. A tested value for this is setting it to -5mw, as discovered by dan2wik:
Excessive cvip undervolts seem to only cause hard power loss. (…) CVIP voltage reduction on 1 deck was causing immediate performance loss, and on the (other) deck lost performance at -10mv and had data bus idle state issues at -15mv so I put it at -5mv. My other deck is able to run -35mv cpu and -40mv gpu. Touching cvip at all on it causes performance anomalies though.dan2wik , Steam Deck Discord
There are two ‘DSPs‘ on the VanGogh in the Steam Deck, these are from Cadence, and are called the Vision Q6 DSP (2 cores) and Vision C5 DSP (2 cores). Unfortunately there is not really any software that supports them, for software from Cadence you unsurprisingly have to pay them, and AMD’s MiVisionX toolkit is windows only. If the support for Radeon Open Compute is anything to go by, then it is probably the case that it requires custom compilation or work since VanGogh is an APU.
Can I Use this to Run my RAM at 6400MT/s?
People have very easily bricked their Steam Deck doing this and then struggled to recover from it. It should be recoverable, but remember that you may have to use a programmer to re-flash your BIOS chip.
Make sure that you’re using BIOS version 110, 115 or 116. BIOS 113 and BIOS 114 have changes with its SRAM settings that do not allow for stable settings.
In case you were not aware, the RAM in the Steam Deck is running slower than it is designed to. This appears partly to be to save some power while not losing too much performance, however at least 3% performance gains can be seen from setting it at the speed that it is meant to run at.
Check your RAM type in your Steam Deck as to whether or not it can run at 6400MT/s, in my Steam Deck I have the k3lkbkb0bm-mgcp, Samsung RAM. I’m not sure of the model of the Micron RAM but I’m told that’s rated at 6400MT/s. You can check the model of your RAM under:
Settings -> System -> Model/Serial Numbers
And then look it up online.
If you’re doing the RAM ‘overclock’ , you will have to adjust any under-voltage / undervolt to be a lot more conservative than you have already, running the RAM faster does not like being starved of power.
So Yes. Here are the settings by dan2wik from the Steam Deck discord – only do the following if you’re comfortable with using a chip programmer to reset your steam deck:
AMD CBS > UMC Common > DDR Common > DRAM Timing > Accept > Overclock: Enabled
AMD CBS > UMC Common > DDR Common > DRAM Timing > Accept > Memory Clock Speed: 3200MHz
AMD CBS > UMC Common > DDR Common > DRAM Controller > DRAM Power > Power Down Enable: Disabled
AMD CBS > UMC Debug > DDR Debug > DDR DRAM Timing > Enforce Supported Frequency: Disabled
AMD CBS > UMC Debug > DDR Debug > DDR DRAM Controller > DDR DRAM Power > Power Down Enable: Disabled
AMD CBS > UMC Debug > LPDDR Debug > LPDDR Dram Controller > Lowest DDR Speed: DDR3200
AMD CBS > UMC Common Options > DDR Common Options > DRAM Controller Configuration > DRAM Power Options > Power Down Enable : disable
AMD CBS > UMC Debug Options > DDR Debug Options > DDR DRAM Controller Configuration > DDR DRAM Power Options > Power Down Enable: Disabled
If dram overclocking fails, you may have a chance at recovering by re-plugging or disconnecting the battery internally, and booting directly to smokeless via USB with vol- and power when plugging in external powerdan2wik, Steam Deck discord
If you find that these settings are unstable on your Steam Deck, then you may benefit form increasing the RAM voltage (not the voltage of the RAM Controller). You can change this by going to:
AMD PBS > MEM VDDQ voltage
The default is ‘134’, this value is counter-intuitive in that if you reduce the value, it increases the voltage to the RAM. There have been a number of users that have commented reducing this value to ‘124‘ or ‘132‘ has increased stability.
Increasing the RAM speed to 6400 can cause instability with undervolt settings, especially with the SoC as the SoC voltage handles memory control.
If you are struggling to recover your Steam Deck from settings that do not boot, then here are the steps for quick reference:
– Shut the unit down, either from the OS or by holding power button for 10 seconds.
– Check that the unit is off. Trackpads should have no haptic feedback.
– While holding the volume – and “…” buttons, press the power button once.
– Keep holding volume – and “…” during the power button press and a few seconds after that, then let go.vJill, Valve Employee, Reddit
If this doesn’t work for you, disconnect the battery internally and then try it with the battery still disconnected. Try to go straight into the bios with the volume – and power button combo when powering on after you hear the beep of it powering on, and boot into smokeless_umaf if you can to change the settings.
There have also been questions about FCLK and if it’s possible to set this on the Steam Deck. Setting or enforcing FCLK is basically ‘broken’, and can ‘brick’ your Steam Deck on BIOS versions 115 and 116.
With BIOS 110 I was also able to set the FCLK to 1600 and force UCLK=MEMCLK, this is broken in BIOS 115. You set UCLK= MEMCLK by doing:
AMD CBS > UMC Debug Options > DDR Debug Options > DRAM Timing User Controls > UclkDiv1M0 > Enableddan2wik, Steam Deck discord
You do not need to set this to have your RAM running at 6400.
What Will Happen to my Settings?
Valve will ultimately release new BIOS updates. The act of updating the BIOS (or reverting it) resets the settings for it. That means you will lose:
- The ‘unlock’ for the AMD CBS/PBS menu
- Any under-voltage, over-clocking, or other settings that you put in place
You have a choice, you can either accept this and attempt to re-apply the ‘unlock’ for the menu, and re-apply the settings, or you can do one or both of the following:
sudo systemctl mask jupiter-biosupdate.serviceJDGBOLT, Steam Deck Discord
This sets a mask to the service that updates your Steam Deck BIOS, you can also ‘unmask’ it. This should ‘survive’ updates.
You can also do the following to block the BIOS update, as specified in:
Where it says ‘do nothing if this exists’:
Create an empty file: /foxnet/bios/INHIBITdan2wik, Steam Deck Discord
To create the file mentioned above, you can run:
sudo steamos-readonly disable
sudo mkdir /foxnet
sudo mkdir /foxnet/bios
sudo touch /foxnet/bios/INHIBIT
sudo steamos-readonly enable
Which should prevent the BIOS from being updated now and in future updates. You could do both (masking the service and creating the INHIBIT file) just to be extra certain.
To revert these settings you will want to do these commands, depending on which action you put in place:
sudo steamos-readonly disable
sudo rm -r /foxnet
sudo steamos-readonly enable
sudo systemctl unmask jupiter-biosupdate.service
There may be some rare circumstances when you cannot unmask a service.
Note that if you block the BIOS updater, you will not benefit from BIOS improvements if you do this, and if you need support from Valve they will likely check to see if you’re using the latest BIOS and why you are not.
How Can I Revert or Update my BIOS Manually?
As we have established, the Steam Deck uses the insyde UEFI BIOS system. insyde has tools for updating, modifying and developing the BIOS that they do not typically release to the public, they release them to developers and original equipment manufacturers which have a habit of passing a version of it onto the user so they can update the BIOS in their laptop. Even then it tends to be a ‘cut down’ or ‘watered down’ version of the tool. Of course, these tools have been ‘leaked’ and there are various places on the internet to find them. These tools also have ‘false positives’ with Windows Defender because they are BIOS tools and are either unsigned, had their signature revoked, or have not been signed by an original equipment manufacturer. Keep this in mind if you use Windows insyde tools.
SteamOS comes with a version of the h2offt flash tool that we can use to update the BIOS and provides the appropriate platform.ini, msg_cht.ini and msg_eng.ini, because it is what Valve use when you update your SteamOS. It can be currently used to downgrade or upgrade the BIOS. It is situated at:
The latest BIOS that you are using is situated at:
The BIOS update from Valve is typically named along the lines of F7A0115_sign.fd – the BIOS is certified and signed with a Microsoft certificate, partly for the purpose of tamper prevention but also for Windows to be able to trust it.
Users of the Steam Deck have been keeping their BIOS update files over time, and there’s also a mirror of the BIOS updates. Note you will not want to go back ‘too far’ with BIOS versions, if at all, because previous versions lack support for some different types of RAM in the Steam Deck, in fact some of them are for prototype Steam Deck hardware versions that are not publicly (typically) available. For the sake of this write-up, at present two are popular: Version 110 and 115 as 115 requires the BIOS unlock.
First, we shall backup our BIOS. I know this is already listed further up the page, but you might have skipped it:
sudo /usr/share/jupiter_bios_updater/h2offt /home/deck/biosbkp.fd -O
This will backup your BIOS and your current settings and overrides.
In SteamOS, to update or downgrade to 110 you can run the following from a Konsole terminal, we will pull the 110 BIOS from the evalV github (should this go down I’ll provide a mirror for it):
wget https://gitlab.com/evlaV/jupiter-hw-support/-/raw/0660b2a5a9df3bd97751fe79c55859e3b77aec7d/usr/share/jupiter_bios/F7A0110_sign.fd?inline=false -O /home/deck/Downloads/F7A0110_sign.fd
sudo /usr/share/jupiter_bios_updater/h2offt /home/deck/Downloads/F7A0110_sign.fd -U
The -U parameter should show a confirm message. When flashing, your Steam Deck will immediately restart and apply the BIOS file. It does not check if the BIOS is a different version and any BIOS settings you had previously will be lost.
Here are some useful commands:
sudo /usr/share/jupiter_bios_updater/h2offt -SCThis will show you your current BIOS version and Model Name
sudo /usr/share/jupiter_bios_updater/h2offt -?This will show you the commands you can pass to h2offt
sudo /usr/share/jupiter_bios_updater/h2offt -RMPThis will show you the Rom Map in BIOS
There are other options, such as dumping the ‘cmos’ and writing to certain areas of the BIOS, but you do not need to do any of that to flash a new BIOS.
Hopefully this guide has given you more than you need to know for unlocking the Steam Deck BIOS, under-volt and over-clock settings, and recovering your Steam Deck in the event of something catastrophic happening.
I update the ‘unlock tool’ above with functionality when I find it is useful, at present I am wondering if it is worthwhile having it handle downgrading the BIOS for people who do not simply want to unlock the BIOS, and also put in place the measures to prevent the BIOS from updating. However, most people find the methods to do what is in this blog post via other routes and handle it all themselves, which is the great part about the Steam Deck community and how accessible the hardware is.