ROS on Steam Deck

Yes,i also strongly recommend the distrobox to run ubuntu in SD

Hello all!

I’m curious to know if anyone here uses the Steam Deck regularly for robot development. Is it a staple in your daily workflow, or did it become a one-time demo that’s now collecting dust?

Not exactly regularly, but we use it for PR events when showing the robots to the public. If there are smaller groups of people, it looks pretty great. For larger groups, the display is too small. And connecting to a 4k TV is a bad idea since the internal display’s resolution is quite small and looks awful mirrored on a 4k display.

We had one problem in rviz - decompressing large images compressed with image_transport/jpg slowed down rviz quite a lot. So I added a republisher that takes the compressed image and decompresses it outside rviz, and everything runs smooth now. We also use point_cloud_transport for transmitting Ouster 3d pointclouds over wifi to the Deck.

1 Like

Hi all,

I just got ROS2 Humble installed on steam deck using distrobox (Yay!!), but after entering ubuntu-22-04, I couldn’t get a demo node listener on my PC to hear the demo node talker on the deck or vice versa.

I also cant ping my other PC within distrobox after installing iputils-ping in the podman container on deck.

I made my container with the standard “distrobox create -i ubuntu:22.04” command, but do I need to do anything else to get the container to talk to external devices?

I use mine at events to drive a screen for visualisation using a USB-C dock to output to a monitor, it means I don’t have to have my laptop logged in full time. I don’t use it as much as I’d like but then that’s mostly just my ADHD addled brain not being able to concentrate on one project long enough :sweat_smile:

The fellow who runs Articulated Robotics on YouTube uses one a lot for development work, I often see deck@deck as the user he’s logged in as in the terminal.

He talks about using one as a dev machine below, including why it might not be a good fit for some people too. Basically it’s good but a decent laptop may be a better option, as a second machine for dev work that also acts as a great controller though it’s a win for sure.

Finally using mine in anger, to control a robot I’ve built to rescue a spanner lost under my workshop floor :sweat_smile:

I thought I’d try building out a Unity based ROS controller using their ROS TCP Connector, it works a treat but I think this would be a solution for a dedicated robot rather than hacked together robot. For that I’ll be looking at writing a Joy message publisher for Foxglove Studio as I think it’ll be easier than developing something myself from scratch.

The hacked together version of the bot:

I sent it on recon and actually found the damn spanner!

and because I’ve got attached to it, I’m rebuilding it before putting a gripper on the front and sending it back under the workshop to retrieve the spanner!

I’ll start a new thread to cover the misadventures of this bot, but the Steam Deck is working a treat for it!


Why is there a problem with installing Ubuntu natively on the Steamdeck?
In the comments above, everyone is talking about a distrobox-container…

Has anyone made experiences with other gaming-handhelds?
I would prefer a native Ubuntu-installation for controlling a robot with ROS2 Humble…

Basically, it doesn’t matter whether you install ubuntu natively or use a Docker container. The big advantage of a Docker container over a native installation is that you don’t end up messing up the main operating system because something didn’t work with the ros2 installation and, once you’ve done it properly, it works everywhere. You can load all your dependencies into such a Docker container and then you don’t have to search for them from the net. In addition, there are also simply good sources that provide a good basis for something like this.

Hi all, i just wanted to add some info to the thread.
I am using a steam deck in dual boot, SteamOS/Ubuntu22.04.
Installed ROS2 rolling using repos and everything works out of the box.
The steam deck controller is correctly picked up by joy node.


Hi! Just wonder if you’re using a steam deck OLED or the LCD version? I failed getting things to work with my steam deck OLED :frowning:

Hi, what part of it didn’t work?
Did you manage to install ubuntu 22?

I was trying to install vanilla archlinux, the default linux kernel doesn’t work well (the screen is vertical) that I installed Neptune kernel from jupiter-staging repo. After installing Jupiter-staging/mesa and several packages, I was still unable to start gui