Distrobox is a way to use pretty much any other Linux distribution in your terminal, along with full GUI apps and now it supports the Steam Deck with SteamOS too.
The update released a few days ago had some issues (#1, #2, #3), which I reported to the developer and they've since fixed up the installers and the documentation for Steam Deck. So with that in mind, I took it for a spin to see how it works and I've been thoroughly impressed with how easy it is.
It gives you a container system to install other distributions. So for the likes of SteamOS on the Steam Deck, without messing with the root filesystem, you can install something like Ubuntu and access everything it has available. Useful for software not available via Flathub (Discover) or elsewhere.
Here's a short video overview of the basic setup and running some apps from Ubuntu on Steam Deck:
Direct Link
Guide (official link):
First up, run these install scripts one after the other in a terminal app (like Konsole on Steam Deck):
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local
Next up, we need to add the directories it uses into our .bashrc file, so we can run commands as normal in terminal. In your .bashrc file (found in your Home folder), open it in a text editor and add these to the bottom:
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/.local/podman/bin:$PATH
Now you can install a Linux distribution with Distrobox, with Ubuntu as the example (in terminal again):
distrobox create -i ubuntu:20.04
Then once done, you can enter it:
distrobox enter ubuntu-20-04
This is where the fun begins. Now you can install or do whatever you like, inside Ubuntu. However, you also need to add this to your .bashrc file to run graphical applications / games on Steam Deck:
xhost +si:localuser:$USER
I've inserted the code
xhost +si:localuser:$USER
in the .bashrc file as specified but when I try to enter ubuntu in bash I receive the error bash: xhost: command not found
. I should clarify that I am able to enter the ubuntu subsystem but with said error. Leads me to believe everything is working except the UI ability (which I as a shell dummy would really like to use)I'm a fairly new linux user going mostly by tutorial right now and trying to get my steam deck set up as a development environment for The Odin Project and I'm pretty stuck at this stage.
$ curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local
Checking dependencies...
Fetching crun 1.8.7...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 2773k 100 2773k 0 0 3616k 0 --:--:-- --:--:-- --:--:-- 3616k
Fetching podman 4.6.2...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9 100 9 0 0 10 0 --:--:-- --:--:-- --:--:-- 10
Unpacking Podman...
tar: This does not look like a tar archive
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
See more from me