The Steam Deck is a handheld gaming computer developed by Valve that runs SteamOS, which is a special flavor of Arch Linux. The Steam Deck’s open nature makes it easy to target for creating games and applications, more so than any console out there. However, unlike Android or iOS devices, you can’t simply connect a USB cable to transfer files. In this tutorial, I will show you how to quickly and automatically push game builds to your Steam Deck. In this tutorial, you’ll learn the different options for transferring files to a Steam Deck, how to start and set up Desktop Mode, the steps required to install and set up Syncthing, a workflow for copying files over a local network, and how to run Linux and Windows game builds on the Steam Deck.
– The materials for this tutorial are optional. You can download them at the top or bottom of this page. They contain two project builds to test gamepad input created with Godot. One build is for Linux, while the other is for Windows. These builds can be used to test running your own Linux and Windows executables on the Steam Deck if you don’t have any of your own yet.
As a game developer, you want to iterate quickly, so you probably run the game on your desktop PC or laptop while developing. However, when targeting a device like the Steam Deck, it’s crucial to test your game builds on the actual device. To transfer game files to the Steam Deck, there are several options:
1. USB Drive: This is one of the slowest options as it involves plugging a USB flash drive or external HDD/SSD into your development PC, transferring the files, plugging it into your Steam Deck, switching to desktop mode, and finally copying the files to the right place. It can be quite tedious.
2. Developing on the Steam Deck itself: While it is possible to develop games directly on the Steam Deck, it requires attaching a keyboard, a mouse, and preferably an external display. However, most game engines require significant CPU and GPU power, so a decent desktop PC is usually better for development.
3. SCP/SFTP: These network protocols allow you to copy files over a network from your development machine to the Steam Deck. It can be done via command line or using applications like WinSCP. However, setting up and securing SSHD can be complex.
4. Warpinator: Warpinator is a popular option for copying files over a local network to the Steam Deck. It can be installed via the Discover Store and supports file transfers between Windows and Linux machines. However, it requires manual confirmation for each transfer.
5. Syncthing: Syncthing is a continuous file synchronization program that synchronizes files between two or more computers in real time. It is the best option for game development as it allows you to push new builds to a local folder, and the application takes care of the rest. It is powerful and versatile, allowing for local cloud storage, syncing saved games across devices, and making real-time backups.
In the next section, I will explain how to switch to Desktop Mode on the Steam Deck and make it easier to work with before moving on to setting up Syncthing.
The Steam Deck runs SteamOS, which is based on Arch Linux. By switching to Desktop Mode, you can use the Steam Deck as a traditional PC with a KDE-based desktop. To switch to Desktop Mode:
1. Press the STEAM button at the lower left to open the menu screen.
2. Select the Power option to open the Power menu. Alternatively, hold down the Power button at the top of the Steam Deck.
3. Choose Switch to Desktop. This will close Gaming mode and load the desktop after a short while.
You will now see a Linux desktop on your Steam Deck similar to mine.
To navigate the Desktop Mode, it is recommended to connect a mouse and keyboard via a USB-C hub or Bluetooth. If you prefer not to use extra devices, you can use the Steam Deck’s controls:
– Tap the touch screen to select UI elements and double-tap to open applications.
– Move your finger on the right touchpad to move the cursor and press it to click.
– The left touchpad can be used as a scrollwheel by swiping up and down.
– R2 for left-click, L2 for right-click.
– Press STEAM and X buttons together to open the virtual keyboard.
– Hold the Menu (≡) button to switch between desktop and gamepad controls.
If you’ve never used a controller to navigate a desktop before, it may feel awkward at first, but you will get used to it.
It is recommended to set up a password for your Steam Deck for extra protection and to grant yourself sudo (superuser do) rights. To set up a password:
1. Click on the Steam Deck logo at the bottom left to open the application menu.
2. Hover over the System category and click on Konsole to open the terminal emulator.
3. In the Konsole window, type the following command and press Enter: passwd
4. Type your new password and press Enter. Then, type the same password again to confirm.
From now on, you can use the password you set up to run elevated commands if needed.
That’s it! You are now ready to proceed with setting up Syncthing and transferring files to your Steam Deck.