Latest Post: Steam Deck in Godot Workflow: From Manual Testing to a Fast SSH with rsync Setup

Steam Deck in Godot Workflow: From Manual Testing to a Fast SSH with rsync Setup

Learn how to test Godot Linux builds on Steam Deck efficiently. Start with a manual workflow and upgrade to a fast SSH + rsync setup!

Manuel Sánchez

4 min read

Before meeting Liney, I was not using my Steam Deck for testing Godot games. I did not know how simple it was to set up a workflow for local testing. I thought I had to rely on remote builds and cloud storage.

Testing your Godot game on a Steam Deck is surprisingly simple… However, the manual workflow can be a bit clunky, so we can improve it!

At first, copying files manually feels fine. But once you iterate multiple times per day, friction appears:

  • Copying files becomes slow
  • You lose focus switching devices
  • Small mistakes (renaming, paths) break your setup

This guide walks you through a progressive workflow that goes from manual testing to a fast SSH + rsync setup, with automation tips to make your life easier.

Let’s start with the basics and then upgrade to a more efficient workflow!

Export Your Game From Godot

From Godot Engine:

  1. Go to Project → Export
  2. Choose Linux/X11
  3. Export

You’ll get:

  • game.x86_64
  • game.pck
I am using the name game, but you can use any name you like for your exported files. It is the name you will see later when running the game on your Steam Deck. I would also recommend to keep the export inside a dedicated folder for your game, let’s call it export-linux.

Workflow 1 — Manual (The Starting Point)

Transfer files

You have a few options:

  • USB stick
  • SD card
  • Cloud storage

Place them on your Steam Deck

/home/deck/Games/MyGame/

Make executable

chmod +x game.x86_64

Run

./game.x86_64

If this works, we can proceed to add it to Steam for easier launching!

Add to Steam

Desktop Mode → Steam → Add Non-Steam Game → select executable.

It might be the case that the file type is not recognized by Steam. In that case, select All Files in the Filter options.

This is good, but it’s still a bit too much manual work. Let’s upgrade to a faster workflow.

Workflow 2 — SSH + rsync (The Real Setup)

Enable SSH on your Steam Deck

passwd ## You will be prompted to set a password for the deck user
sudo systemctl enable sshd
sudo systemctl start sshd

Get your IP

ip a

It might be the case here that you will have multiple network interfaces. Look for the one that is connected to your local network (Wi-Fi or Ethernet) and find the IP address associated with it.

For example: You could have the 192.168.1.42/24 IP address on the wlan0 interface, which means that your Steam Deck is reachable at 192.168.1.42.

Connect from your computer

ssh deck@192.168.1.42

Send your build

If your export is in export-linux/:

rsync -avz export-linux/ deck@192.168.1.42:/home/deck/Games/MyGame/

This copies only what changed → super fast.

Why this is a game changer

Your workflow becomes:

  1. Export
  2. Run one command
  3. Test immediately

No cables, no friction, no wasted time.


Important Concept — Path Stability

Steam identifies your game by its full file path. For example:

/home/deck/Games/MyGame/game.x86_64

If you change the filename or the folder, Steam thinks it’s a new game — artwork and settings are lost.


Conclusion

Testing your Godot game on Steam Deck can be a smooth experience once you set up an efficient workflow. Start with manual testing to understand the process, then upgrade to SSH + rsync for a much faster iteration loop. Remember to keep your file paths stable to avoid losing your Steam configuration!


FAQ about Steam Deck + Godot workflow

No. You can transfer files manually. SSH just makes the workflow much faster.


Share article

Comments

Powered by Giscus

Related Posts

Stay in the loop!

Get to know some good resources. Once per month.

Frontend & Game Development, tools that make my life easier, newest blog posts and resources, codepens or some snippets. All for free!

No spam, just cool stuff. Promised. Unsubscribe anytime.