Steam Deck

Steam Deck

[Q] How do I install linux programms not available in Discover store.
Hi, I want to setup the steam Deck in a Way to replace my Intel NUC that I setup as Karaoke and Retro gaming PC but with steam games capabilities.

For that I want to install "Ultrastar Deluxe World Party" which has a native linux build and can be installed via snap store.

So I see two options:
1.) Install Snap store and then ultrastar
2.) Clone Ultrastar repo and make a pkg myself.

So I tried to get snapd installed by refreshing the pgp keys and install the basic development libraries required to make a pkg/compile:
1.) sudo pacman-key --init
2.) sudo pacman-key --populate archlinux
3.) sudo pacman-key --refresh-keys
4.) sudo pacman -S base-devel make gcc (to install fakeroot)

Unfortunately installing base-devel fails with warnings like "Failed to create dir 'usr/share/...'
which I think is caused by the immutable file system on the deck.
"makepkg -si" will fail with fakeroot missing, so going straight to install ultrastar will fail as well

So I am a Linux noob, but I try to fight my way through.
I find the above described method is already unecessary complicated (for the average user) and probably also stupid.
Is there an easier way to get ultrastar, or other linux programs that are not available in the Discover store, installed on the deck?

Thanks!
Last edited by Bubu-der-Uhu; Mar 6, 2022 @ 8:47am
< >
Showing 1-9 of 9 comments
@R+5 Mar 6, 2022 @ 8:58am 
You will need to study a bit about how to do stuff in manjaro linux, which is very similar to steam os v3. that will help you a lot.

How to install programs option 1

to install that karaoke, the first thing you need to do is to start a console in desktop mode, and install the program "yay" using this command:

sudo pacman -S yay

sudo = "super user do"; pacman is the basic package manager; "-S" gives the instruction to install something; and, "yay" is another package manager which is more helpful to easily install programs from the "AUR". if im correct, it means "arch user repository", which is a collection of prepackaged and ready to install programs. you can browse to find a lot of software, including games. I recommend you to read the comments, because sometimes programs may not launch or work at all because theres a missing dependency or a bug that wasnt noticed, etc

https://aur.archlinux.org/
https://aur.archlinux.org/packages?O=0&K=ultrastar

then, once you know what to install, and have "yay" installed, you use one of these commands:

yay -S ultrastar
or
yay -S ultrastardx-git
the program will find all options with that name, then you usually chose the first option; if you already know the exact name of the version that is working better for most people, then you can write it directly.

after the program downloads files, it will ask you to say yes to install dependencies and auto-configure the programs so you can launch it after it finishes.

How to install programs option 2

You can also use other options to install other programs if they arent available in the aur, or you know they are available in another "format".

The other most common option, and the best one if its available imo, is using the "AppImage" version of a program, which is "one file one program" approach (the file has everything it needs to run, so you dont need to install anything else). Its more or less the same as "Portable apps" for windows.

Just like manjaro, i think the deck includes an "Appimage manager" which can helpt you integrate those programs to find and run them directly from your list of installed programs.

The 2 main advantages of those files is to be able to run them without integration (ie you want to test it, without creating new folders and paths), and that you can place them in a different disk if you have limited space in your main disk (you will need to format the external disk as ext4).

Warning, and reduce risks with "Timeshift"

btw, if a dependency isnt available, or you need to remove something to be able to update a dependency, is safer to avoid doing that before asking for help, because even if its easy to change files manually using yay or pacman, you can also easily break your os, and begin a snowball effect that may lead you to reinstall it completely, so check how to configure the program "timeshift".

Also consider using an external disk with timeshift, to avoid space related issues.
Last edited by @R+5; Mar 6, 2022 @ 9:25am
MJ711 Mar 6, 2022 @ 1:31pm 
If i remember correctly, programs installed via pacman can be overwritten with a SteamOS update.
So be carefull.
gambikules Mar 6, 2022 @ 1:38pm 
god....why
Bubu-der-Uhu Mar 6, 2022 @ 1:42pm 
So far I couldnt get it working, even though @R+5 tipps were very helpfull...
There were constantly dependencys missing and after autoconf install I couldnt get passt the aclocal failed with status: 2 error.

Installing snapd still failed, but now because of stdlib.h.

I dont know if I should try further, maybe I should wait and see if there is official support coming.
Screenager Mar 6, 2022 @ 2:19pm 
Stuck at the same point. Just let us mess with the filesystem please. I don't care if it get's undone next update, as long as it is not a forced update. And please let us use all 8 Threads in Dekstop Mode. Why build Flatpacks elsewhere and upload them when you can build your own directly on the Deck?
Let the Powerusers poweruse and get inspired for stuff to automate and add in the Deck UI.
kalixdev Jul 9, 2023 @ 4:44am 
Recently, a new UltraStar game called "Melody Mania" was released on Steam.
It seems to run on Steam Deck with some restrictions. But it is not officially available for Linux yet.
Check out their Discord for details.
nix Jul 11, 2023 @ 4:48am 
Screenager, you *can* mess with the filesystem. steamos-readonly disable and bingo. (It you want things to persist across updates, you can use NetworkManager dispatcher hooks to reapply any changes that seem to be missing whenever the network comes back up.)
Prezidentas Jul 11, 2023 @ 5:09am 
Originally posted by nix:
Screenager, you *can* mess with the filesystem. steamos-readonly disable and bingo. (It you want things to persist across updates, you can use NetworkManager dispatcher hooks to reapply any changes that seem to be missing whenever the network comes back up.)
why are you necroing a year old thread?
nix Jul 11, 2023 @ 5:42am 
Oops! Didn't notice the date of the content I was replying to (but the thread was woken from the dead by the comment before mine, or I'd never have seen it).
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Mar 6, 2022 @ 8:40am
Posts: 9