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.
Godot’s resources are quite powerful. However, modifying a resource class doesn’t automatically update any corresponding .tres files, unless you happen to edit a scene that uses that resource in some way. This doesn’t impact runtime behavior — the game still runs as expected. But it can impact version control and result in a messier diff …
Ever had the problem where you’re firing a bullet or some kind of projectile at high speeds, and it just goes right through the collision object, instead of hitting it? Here’s a weapon that fires a bullet at random velocities, to demonstrate the issue: The bullets impact the character in various places, rather than at …
Pixabay is a great source of royalty-free media among the sites providing free, properly licensed content. EDIT: Apparently I caught them mid-deployment of a UI redesign because the waveform and seek functionality are back. A recent UI update changed the way music is presented. Gone are the interactive waveform that let users seek around in …
One of the benefits of working with Godot Engine is that GDScript allows one to operate high level. GDScript is dynamically typed, so not even variable types have to be specified, but I would strongly recommend using static typing wherever possible. It can help with performance but primarily adds clarity when trying to follow the …
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
Update all resources after modifying a resource class
Godot’s resources are quite powerful. However, modifying a resource class doesn’t automatically update any corresponding .tres files, unless you happen to edit a scene that uses that resource in some way. This doesn’t impact runtime behavior — the game still runs as expected. But it can impact version control and result in a messier diff …
Projectiles going through collision objects
Ever had the problem where you’re firing a bullet or some kind of projectile at high speeds, and it just goes right through the collision object, instead of hitting it? Here’s a weapon that fires a bullet at random velocities, to demonstrate the issue: The bullets impact the character in various places, rather than at …
Pixabay’s New Design is a step down for UX
Pixabay is a great source of royalty-free media among the sites providing free, properly licensed content. EDIT: Apparently I caught them mid-deployment of a UI redesign because the waveform and seek functionality are back. A recent UI update changed the way music is presented. Gone are the interactive waveform that let users seek around in …
When not all strings are Strings. Detect bugs in your GDscript more easily with static typing
One of the benefits of working with Godot Engine is that GDScript allows one to operate high level. GDScript is dynamically typed, so not even variable types have to be specified, but I would strongly recommend using static typing wherever possible. It can help with performance but primarily adds clarity when trying to follow the …