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.
Development snapshot #4 of Godot Engine 4.1 is here. Among many other changes, it fixes a lighting issue related to using Light-only mode in CanvasItemMaterial (#44559). Unfortunately, it also introduced a UX issue with gradient color pickers (#77745), which makes it quite difficult to work with gradients at all. If you use gradients, I recommend …
This release improves weight management. Inventories can now configure an option weight limit, and item stacking and item transfer strategies are weight-aware. The crafting demo and crafting mechanic in the inventory tour have been improved. Auto-crafting is limited to the crafting slide, so that items don’t automatically and unexpectedly get crafted while stepping through the …
Here’s a tutorial on how to create breakable objects in Blender and Godot. It covers the steps needed to design and implement breakable objects, including scripting and using physics properties to make objects break apart into smaller pieces upon collision or other interactions.
I’m wrapping up development on version 1 of the Inventory System, which is currently at v1.18.1. All core functionality is in place, and it provides many quality-of-life features. The guide covers and walks through most of the code base, and the demo projects show off a lot of use cases. This first version has been …
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
Godot Engine 4.1.dev4 is available
Development snapshot #4 of Godot Engine 4.1 is here. Among many other changes, it fixes a lighting issue related to using Light-only mode in CanvasItemMaterial (#44559). Unfortunately, it also introduced a UX issue with gradient color pickers (#77745), which makes it quite difficult to work with gradients at all. If you use gradients, I recommend …
Inventory System 2 Alpha 3 available
This release improves weight management. Inventories can now configure an option weight limit, and item stacking and item transfer strategies are weight-aware. The crafting demo and crafting mechanic in the inventory tour have been improved. Auto-crafting is limited to the crafting slide, so that items don’t automatically and unexpectedly get crafted while stepping through the …
Making breakable objects in Godot
Here’s a tutorial on how to create breakable objects in Blender and Godot. It covers the steps needed to design and implement breakable objects, including scripting and using physics properties to make objects break apart into smaller pieces upon collision or other interactions.
Inventory System v1.18.1 available (and v2 progress update)
I’m wrapping up development on version 1 of the Inventory System, which is currently at v1.18.1. All core functionality is in place, and it provides many quality-of-life features. The guide covers and walks through most of the code base, and the demo projects show off a lot of use cases. This first version has been …