Godot Engine on the Steam Deck – Developing games on the go?
Once I found out about the Steam Deck’s Desktop Mode, it got even more interesting.
Steam Deck’s Gaming Mode vs Desktop Mode
You see, the Steam Deck defaults to an analog of Big Picture mode on PC. It runs full screen in “Steam Deck gaming console” mode. But underneath all that is a Linux system (runs Arch, btw), and it comes with a desktop environment as well. To access it, hold down the Steam Deck Power button, and it will give you the Power menu:
A tap on Switch to Desktop, and Steam shuts down, and a more Linux-y window manager pops up:
At this point, only Steam Deck’s touchpads work. The right touchpad controls the mouse pointer and the left button, and the left touchpad acts as the right mouse button when pressed. There doesn’t seem to be any way to enter characters with the Steam Deck alone. Well, there may be, but it’ll probably require installing packages from the Linux distribution ecosystem.
Desktop Mode needs a keyboard and mouse
If you really want to interact with this thing, you need a keyboard, and ideally a mouse. And since the Steam Deck only has a USB-C connector, you’ll need to find a way to connect your (probably) USB Type A keyboard and mouse to that.
In my case, I’m using a USB-C male to USB Type A female adapter that came with a Nexus or Pixel phone, and I’m plugging in a Logitech Touch TV Keyboard.
I used to use these to control Media Center PCs, but those have all been replaced by Chromecasts.
Let’s get Godot running. First, we’ll need to download and extract it:
Launch the extracted Godot executable:
And look, it’s running.
With this, it’s possible to create games directly on the Steam Deck. It’s not the most practical thing, but it could work in a pinch.
The main issue is powering/charging the Steam Deck while using it. It probably needs a powered USB-C hub, so it can deliver power along with supporting additional peripherals.
Are you using @onready to reference nodes? There’s a better way! Here’s a simple example of how many tutorials use @onready to reference nodes: That script is attached to a CanvasLayer node with a ProgressBar called HealthBar. And yet, when running the scene, it will throw an error: This is because there’s actually a spelling …
When I think of video games, I generally still think of an application that is downloaded and runs on the client. Technically, that’s still the case with web-based exports from Godot Engine, since the web browser has to download the files before being able to run them. I thought maybe I could just run the …
For some reason, my Godot game would no longer launch on the Steam Deck. I could hear it running as if it were running in the background, but the screen kept showing the Steam Deck’s UI. Since it’s all Linux I figured it should be possible to just drop to the command line and launch …
Here’s a collection of tutorials that are helpful if you’re new to using Control and Container nodes to create UIs in Godot 4. The Game Dev Artisan video covers creating a simple UI with a reload indicator for a simple 2D tank game: Clear Code’s 11+ hour Ultimate Introduction to Godot 4 has a chapter …
Godot Engine on the Steam Deck – Developing games on the go?
Once I found out about the Steam Deck’s Desktop Mode, it got even more interesting.
Steam Deck’s Gaming Mode vs Desktop Mode
You see, the Steam Deck defaults to an analog of Big Picture mode on PC. It runs full screen in “Steam Deck gaming console” mode. But underneath all that is a Linux system (runs Arch, btw), and it comes with a desktop environment as well. To access it, hold down the Steam Deck Power button, and it will give you the Power menu:
A tap on Switch to Desktop, and Steam shuts down, and a more Linux-y window manager pops up:
At this point, only Steam Deck’s touchpads work. The right touchpad controls the mouse pointer and the left button, and the left touchpad acts as the right mouse button when pressed. There doesn’t seem to be any way to enter characters with the Steam Deck alone. Well, there may be, but it’ll probably require installing packages from the Linux distribution ecosystem.
Desktop Mode needs a keyboard and mouse
If you really want to interact with this thing, you need a keyboard, and ideally a mouse. And since the Steam Deck only has a USB-C connector, you’ll need to find a way to connect your (probably) USB Type A keyboard and mouse to that.
In my case, I’m using a USB-C male to USB Type A female adapter that came with a Nexus or Pixel phone, and I’m plugging in a Logitech Touch TV Keyboard.
I used to use these to control Media Center PCs, but those have all been replaced by Chromecasts.
Let’s get Godot running. First, we’ll need to download and extract it:
Launch the extracted Godot executable:
And look, it’s running.
With this, it’s possible to create games directly on the Steam Deck. It’s not the most practical thing, but it could work in a pinch.
The main issue is powering/charging the Steam Deck while using it. It probably needs a powered USB-C hub, so it can deliver power along with supporting additional peripherals.
It would be more useful to interact with it remotely.
Related Posts
Ditch @onready, use @export instead
Are you using @onready to reference nodes? There’s a better way! Here’s a simple example of how many tutorials use @onready to reference nodes: That script is attached to a CanvasLayer node with a ProgressBar called HealthBar. And yet, when running the scene, it will throw an error: This is because there’s actually a spelling …
Quickly deploying Godot games on the web with Netlify
When I think of video games, I generally still think of an application that is downloaded and runs on the client. Technically, that’s still the case with web-based exports from Godot Engine, since the web browser has to download the files before being able to run them. I thought maybe I could just run the …
Launching Godot Games on Steam Deck from the command line via Remote Shell
For some reason, my Godot game would no longer launch on the Steam Deck. I could hear it running as if it were running in the background, but the screen kept showing the Steam Deck’s UI. Since it’s all Linux I figured it should be possible to just drop to the command line and launch …
Building UIs in Godot 4
Here’s a collection of tutorials that are helpful if you’re new to using Control and Container nodes to create UIs in Godot 4. The Game Dev Artisan video covers creating a simple UI with a reload indicator for a simple 2D tank game: Clear Code’s 11+ hour Ultimate Introduction to Godot 4 has a chapter …