Additional housekeeping on the new Steam Deck
One more post I want to make about the new Steam Deck I’ve acquired: what I’m setting up on it besides the actual games. Because I am the kind of nerd who digs into the Desktop mode on this thing, to take advantage of it being a handheld computer in addition to a gaming console.
Here are the goals I wanted to accomplish on it:
- Making it possible to access the device from my computer, both via the command line and via a VNC connection
- Making it accessible not only by an IP address assigned to it from our house DHCP server, but also via its hostname
- Making arrangements to have any installations I did persist through the next time Valve does an OS update on it
- Implementing a backup solution, to account for the same critical files I pulled off of its predecessor
Deets on what I’ve done tonight behind the fold.
Making my computer understand when I tell it to connect to “steamdeck”
If you’re the sort of nerd household mine is and you have not only house WiFi but also a boatload of devices talking to each over on it, you probably know what a DHCP server is. If you don’t know what a DHCP server is, basically it’s the thing on our network that assigns local addresses to everything it needs to care about, so that all these things can talk to one another.
Like my MacBook and my Steam Deck.
So if my computer and the Deck are both talking to our house DHCP server, they’ll get IP addresses assigned. Which is certainly adequate if I want to, say, connect to the Deck via my computer.
But I didn’t want to have to remember the Deck’s assigned IP address. So there was a two-part solution to this:
- Dara told our DHCP server to give the Deck its very own permanent local IP address for our network, because otherwise that address would be subject to change, and that’s not ideal
- I got into the /etc/hosts file on my Mac as well as in the Ubuntu VM I’m running on it, and mapped the resulting permanent IP address to “steamdeck”
End result: if I tell the Mac I want to open an SSH connection to “steamdeck”, it knows WTF I’m talking about.
Making the Steam Deck accept SSH connections
I followed this guide to set up an SSH server on the Deck, so that I could ssh into the thing from my MacBook’s command line. If I want to do a quick and dirty edit to a given file, that’ll be a lot faster a way of changing it than trying to do it directly on the Deck. Even though my cute little Bluetooth keyboard is a lot happier about talking to this new Deck than it was my original.
I also took the following security precautions:
- Disallowed SSH into the Deck directly as root
- Disallowed SSH into the Deck using a password
- Since I already had a personal SSH key set up on my computer, I copied the public portion of that key over to the Deck, so that it would accept connections directly from the laptop
Setting up a VNC server
If I’m doing heavy duty juggling of Skyrim mods in Vortex or Elder Scrolls Online addons in Minion, though, I don’t want a command line for that. I want a GUI. Which is why I also needed to follow this guide to set up a VNC server on the Deck.
Right now my solution for connecting to that VNC server is actually an Ubuntu VM on the Mac. The reason for this is that the VNC client I know how to use right now is Remmina, and that’s a Linux client, not a macOS one. I’m not currently aware of a suitable macOS equivalent. But for my purposes, firing up Ubuntu in my Parallels and then using Remmina to connect to the Deck works fine.
As of this writing, I do have the VNC server in place, but connectivity to it appears to be erratic for reasons I haven’t nailed down yet. I’ve had to reinstall it at least twice, last night and tonight. Hopefully things will settle down!
Making all my changes stick around the next time the OS updates
If you’re the kind of power user who digs into Desktop mode on the Steam Deck, I probably don’t need to tell you that by default, the OS is locked down pretty hard. And unless you take steps to prevent it, any installs of command-line-level packages you do will get wiped out the next time Valve deploys an OS update.
I don’t actually mind that the OS is locked down hard. As a power user, and in particular as someone who’s worked in tech for a very long time, I am absolutely sympathetic to the policy of locking down critical system level files so that users who don’t absolutely know what they’re doing can’t screw around with them. Most users, mind you, won’t want to. They’re just there to install their Steam games and play them.
But for us power users, particularly those of us who are into turning our Decks into serious tiny computers, heavily modding our games, or both, we need the freedom to change things at the system level. And, ideally, to make those changes persist.
Which is why I also installed a thing called rwfus, which is supposed to help you preserve any system level changes you make, typically via the pacman package manager. Which is applicable to the other things I’ve documented here. I don’t know yet how well this is going to work; I can’t know that until Valve deploys its next OS update, whenever that will be. But we’ll see if rwfus does the job!
Implementing a backup solution
The surprise switch from my original Steam Deck to this new one had me scrambling to pull critical files off of the first device–things I knew weren’t backed up to the Steam cloud, and which I knew I was going to need on the new device.
As a one-time action, I copied a bunch of critical stuff off the Deck, onto a staging area partition we maintain on one of our house servers, and from there moved the files down to my laptop. Files I wanted to keep included:
- Everything in the Downloads directory, an absolute boatload of Skyrim mods, because I often have to download stuff manually as opposed to letting Vortex do it for me
- Everything in my ESO “AddOns” directory, which is where all the main files for the addons I’m running for ESO live
- Everything in my ESO “SavedVariables” directory, which is where all my addons actually store any settings and configurations I do
- My small number of Fallout 3 saves, since that game’s the only one I have installed right now that doesn’t actually save to the Steam cloud, and I didn’t really want to start over again
But moving forward, I wanted something better in place. So what I did was to install Deja Dup, which I was already familiar with via Ubuntu. There’s a client for it available via Discover in the Steam Deck’s Desktop mode.
The backup location I wanted to use was our house NAS, the server where a bunch of our computers back up. It’s the same NAS that my MacBook uses for its Time Machine backups, for example.
I had to jump through a couple of extra hoops to get that to work, though. By default, the Deck’s Dolphin file manager was perfectly happy to let me make SMB connections to the NAS. Deja Dup, however, insisted I install something called gvfs to let it make similar connections. Fortunately, I was also able to do this via pacman, the same package manager I used to get the VNC going.
That didn’t solve the problem entirely, though. I also had to use pacman to install the gvfs-smb package, so that gvfs would understand how to talk to Samba.
I told Deja Dup to explicitly target only the four sets of files I listed above, and I took the main Home directory out of its list. Because even though I am essentially treating the Deck as a tiny computer, most of its stuff is after all backed up by Steam. I may need to wind up adding a few more things to the backup–especially if utilities I’ve installed tonight do not persist through the next Valve update–but for now, this will do me.
Remaining questions
This is just about all of the major non-game-specific housekeeping I wanted to do on the device, so at this point I think we’re good. Remaining questions will be:
- After a second reinstall attempt of the VNC, will that actually keep working? Or will I need to reinstall it again?
- Or, is there a better desktop GUI access solution I ought to look at?
- Can I get to the Deck via macOS natively? Or will I continue to need to do this via my Ubuntu VM? Editing to add: Yes, I can do this via macOS natively! The Screen Sharing app in the Utilities folder on my computer let me do it. So that means I don’t have to fire up the Ubuntu VM to do this.
- I need a non-manual solution to pull my ESO SavedVariables files back and forth between the Deck and the computer, since I’m updating my addons and their configurations fairly often. But I don’t know what that solution is going to look like yet.
Any questions or suggestions, drop a comment and let me know!
One Comment
Pingback: