yay icon indicating copy to clipboard operation
yay copied to clipboard

Add instructions for installing on SteamOS / Steam Deck

Open aaronfranke opened this issue 1 year ago • 18 comments

Is your feature request related to a problem? Please describe.

SteamOS has an immutable root file system, and even if you unlock it, any system updates will wipe and reset that file system. This makes it challenging to keep software installed. I am interested to know if there are any instructions for "properly" installing yay onto SteamOS so that yay and any packages won't get wiped with system updates.

Describe the solution you'd like

Add documentation that explains the proper way to install yay on SteamOS / Steam Decks.

Additional context

Steam Deck users are typically less experienced, often having no Linux experience at all. So the instructions need to be clear and easy to follow. Ideally just a series of copy-paste-able terminal commands.

aaronfranke avatar Apr 08 '23 22:04 aaronfranke

I'm not sure what's the issue, I've just installed using the following commands (https://github.com/Jguer/yay/pull/2115):

# Allow to write over file system (steam os block)
sudo steamos-readonly disable

# Ensure we have the keys updated
sudo pacman-key --init
sudo pacman-key --populate archlinux

# Install git and base-devel dependencies
sudo pacman -S --needed git base-devel
# Ensure that dependencies get installed correctly (this may be not necessary in some cases)
sudo pacman -S git base-devel
# When prompted, select all options



# INSTALL FROM SOURCE
# git clone https://aur.archlinux.org/yay.git
# cd yay
# makepkg -si

# OR INSTALL FROM BINARY
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si


# Disable again the write over file system
sudo steamos-readonly disable

As per your post, when the updates will get wipped? After steam upgrade?

ProtocolNebula avatar Apr 12 '23 10:04 ProtocolNebula

This is what I get when I run makepkg -si

/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/cc1: error while loading shared libraries: libisl.so.23: cannot open shared object file: No such file or directory
make: *** [Makefile:113: yay] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

danysgit avatar May 04 '23 18:05 danysgit

Could this be due to the missing packages on Steam Deck by default?

Try pacman -S glibc linux-api-headers

AlgebraManiacABC avatar May 09 '23 09:05 AlgebraManiacABC

@AlgebraManiacABC i have the same problem like @geekcubano and it diddent fix it and i dont now what to do any idea

Jay-Poch avatar Jun 13 '23 13:06 Jay-Poch

after restart works now and i dont know wy so thank you i gues

Jay-Poch avatar Jun 13 '23 14:06 Jay-Poch

I was able to fix the issue by doing the following

  • Running the command @AlgebraManiacABC provided
  • Restarting like @gfgfgsffdg said
  • Switching to yay-bin I am on a Steam Deck, which from what I've seen this is a common issue for this particular device, so I'm not sure if switching to yay-bin will help people not on the Steam Deck, but that's what helped me.

Vinniehat avatar Jun 14 '23 16:06 Vinniehat

The best practice is always to always download the source files and then compile yourself. But why is it? It is because you are supposed to check if something malicious is being done in the code before you compile and install. Since I REALLY doubt you are checking the code at all and you only want to install the thing, why even bother to compile the code yourself? Just install yay from the binaries, execute this after disabling the steamos write protection:

In Terminal enter: passwd

Set your password.

sudo steamos-readonly disable

sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si

You are then done.

Bisonfan95 avatar Sep 19 '23 15:09 Bisonfan95

@Bisonfan95 the whole reason why this thread exists is because that doesn't work.

danysgit avatar Sep 19 '23 17:09 danysgit

@Bisonfan95 the whole reason why this thread exists is because that doesn't work.

@geekcubano what do you mean by "that"? the compilation or the binary installation? because if it is the binary installation yes it does work I just installed it on my Deck, if I didn't I wouldn't post this. You might be downloading yay and not yay-bin. Check your commands. @VioletSnow08 is another success case.

Bisonfan95 avatar Sep 19 '23 18:09 Bisonfan95

Yeah, the commands that @Bisonfan95 mentioned should work. I haven't touched this in a bit because once it's installed it worked, but, I do distinctly remember having to use yay-bin.

Vinniehat avatar Sep 19 '23 18:09 Vinniehat

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

Alenux55 avatar Mar 08 '24 00:03 Alenux55

Hey folks,

It appears that yay-bin fails to install because it depends on a version of pacman that the steam deck apparently can't install.

Log:

(deck@steamdeck repos)$ git clone https://aur.archlinux.org/yay-bin.git
Cloning into 'yay-bin'...
remote: Enumerating objects: 447, done.
remote: Counting objects: 100% (447/447), done.
remote: Compressing objects: 100% (295/295), done.
remote: Total 447 (delta 149), reused 441 (delta 149), pack-reused up0 (from 0)
Receiving objects: 100% (447/447), 99.40 KiB | 259.00 KiB/s, done.
Resolving deltas: 100% (149/149), done.
(12)(deck@steamdeck repos)$ cd yay-bin
(deck@steamdeck yay-bin)$ makepkg -si
==> Making package: yay-bin 12.3.5-1 (Fri 24 May 2024 12:34:54 AM PDT)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for deck: 
error: target not found: pacman>6.1
==> ERROR: 'pacman' failed to install missing dependencies.
==> Missing dependencies:
  -> pacman>6.1
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
(8)(deck@steamdeck yay-bin)$

Version available on SteamOS:

pacman 6.0.2-7

I attempted to remedy this by updating my mirrors then updating via pacman -Syu, but that broke pacman for me and I ended up having to reinstall the OS. Any ideas?

PickledFishMan avatar May 24 '24 07:05 PickledFishMan

If you have problems installing yay-bin that depends on pacman>6.1.

The version 12.3.1 with commit 96f90180a3cf72673b1769c23e2c74edb0293a9f on yay-bin AUR. It works on pacman 6.0 that current SteamOS 3.5 uses

Install it using these commands:

git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
git checkout 96f90180a3cf72673b1769c23e2c74edb0293a9f
makepkg -si

t4bby avatar Jun 08 '24 19:06 t4bby

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

THANK YOU! --populate holo was missing for me on the steam deck.

yosory avatar Jun 15 '24 11:06 yosory

This wasn't working for me; kept getting errors about "unknown trust". As per comment 4 on this thread, adding: pacman-key --populate holo after pacman-key --populate archlinux resolved this issue. Documentation should be updated I think.

Can confirm this works. I ran sudo pacman-key --populate holo before sudo pacman-key --populate archlinux and I was able to install some missing libraries using pacman

orlandofua-msd avatar Jul 13 '24 14:07 orlandofua-msd

following t4bby's instructions were successful and you can then update everything using yay -Syu

Cheekster2016 avatar Jul 19 '24 23:07 Cheekster2016