Everyone's got the wrong idea about Dev Mode on the Steam Deck.

Everyone's got the wrong idea about Dev Mode on the Steam Deck.
Photo by Petar Vukobrat / Unsplash

I just wanted to take a minute and explain the difference between Dev Mode and unlocking your immutable filesystem on SteamOS 3.

Why am I doing this? It's simple. I've seen too many people confusing the two and using the terms interchangeably. I think it's important that there's clarity on this issue.

Enabling Dev mode is trivial and it's not dangerous to do. Open the settings, navigate to the System tab, then go down to the "Enable Developer Mode" option, then flip that switch. When the switch is in the "on" position, it will expose a new Settings menu called "Developer." These are settings that are specific to game developers and people who are interested in modding the Steam Deck.

Again, Dev Mode is not dangerous as these are settings Valve intends to be exposed to end users--just more technically advanced users. This is quite similar to enabling developer mode on an Android Phone.

The Steam Deck's "Developer" menu
The mythical "Developer" menu

Consequently, most people will have no use for the new menu this exposes. But considering Valve's insistence that every Deck is also a Developer Kit; that's what this option/menu is for.

However: unlocking the SteamOS filesystem is a different story. Unlocking the filesystem has nothing to do with dev mode. This is done by running a specific command in the SteamOS terminal: konsole. Most people--including Valve--recommend against unlocking the filesystem for a few reasons.

  • Firstly, though I believe it's an overstated risk: leaving your filesystem unlocked can raise a few security issues.
  • Unlocking your filesystem may eventually cause system instability and could cause your current install to enter an irrecoverable state, requiring a full SteamOS re-install.
  • Unlocking your filesystem WILL eventually cause data loss as any modifications you make to the immutable portion of the filesystem will be overwritten by future Steam OS updates.
  • Unlocking the filesystem is unnecessary as most apps can be installed as a Flatpak or AppImage. Furthermore...
  • Most of the modifications you want to make to the underlying system can actually be made from within the writable portion of the filesystem.

Even if you re-lock the filesystem after you've made your modifications, Steam assumes that the OS is set up in a particular way in order to perform in a stable and predictable manner. Making changes to the underlying system can cause the purpose-built OS to become unstable. If you want to make changes to your OS, it might be better for you to install a general-purpose Linux distribution instead of running SteamOS.

Steam OS 3.0's desktop with the konsole terminal emulator app open
Unlocking and then immediately re-locking the filesystem... for science!

Furthermore, as I mentioned before, if you install an app at the OS level then the next Steam OS upgrade will overwrite that app, effectively uninstalling it. This WILL NOT happen if you've installed apps through the Discover App Center, as an AppImage, or a standard ELF binary in your home directory's $PATH.

This is by design as system updates on a console-like device like the Steam Deck should not need to worry about testing against hundreds of thousands of potential end-user changes to the operating system.

This also means that if a user is experiencing issues with their software, support can more quickly narrow down the problem.

There are a few very loud voices in the Linux community who opine the immutable filesystem on the Steam Deck. Saying that it "robs users of choice" and whatever else. But this is categorically false. You can use any other Linux distro you'd like... or even Windows if you prefer inferior experiences.

But the truth is immutable filesystems are not unique to SteamOS. There are many Linux distributions including Fedora Silverblue, MicroOS, and Endless OS that use this type of locked filesystem. It provides more stability, more consistency, and a smaller attack surface for would-be hackers. And personally, I can easily imagine a future where most desktop Linux distros run immutable filesystems. But I think that's a debate for another article.