Skip to content

Commit

Permalink
chore(deck): Update steam-install and steamos-setup scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
zelikos committed Dec 22, 2024
1 parent c8de8b1 commit b67a142
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 52 deletions.
104 changes: 57 additions & 47 deletions files/scripts/steam-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,66 +4,76 @@ set -oue pipefail

# Based on Bazzite's solution for installing Steam without package conflicts: https://github.com/ublue-os/bazzite/pull/330

echo "Setting up repositories..."

# Enable bazzite-multilib for their build of Mesa, and for extest later.
echo "Adding bazzite-multilib repository"

wget https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite-multilib/repo/fedora-${OS_VERSION}/kylegospo-bazzite-multilib-fedora-${OS_VERSION}.repo?arch=x86_64 -O /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo
curl -Lo /etc/yum.repos.d/negativo17-fedora-steam.repo https://negativo17.org/repos/fedora-steam.repo && \
curl -Lo /etc/yum.repos.d/negativo17-fedora-rar.repo https://negativo17.org/repos/fedora-rar.repo
curl -Lo /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite-multilib/repo/fedora-"${OS_VERSION}"/kylegospo-bazzite-multilib-fedora-"${OS_VERSION}".repo?arch=x86_64

# Ensure that needed Mesa packages are installed from bazzite-multilib
echo "Installing Mesa packages from bazzite-multilib"

rpm-ostree override replace \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \
mesa-filesystem \
mesa-dri-drivers \
mesa-libEGL \
mesa-libEGL-devel \
mesa-libgbm \
mesa-libGL \
mesa-libglapi \
mesa-vulkan-drivers \

# Install other 32-bit Steam dependencies
mesa-libxatracker \
mesa-libglapi \
mesa-dri-drivers \
mesa-libgbm \
mesa-libEGL \
mesa-vulkan-drivers \
mesa-libGL \
pipewire \
pipewire-alsa \
pipewire-gstreamer \
pipewire-jack-audio-connection-kit \
pipewire-jack-audio-connection-kit-libs \
pipewire-libs \
pipewire-pulseaudio \
pipewire-utils \
pipewire-plugin-libcamera \
bluez \
bluez-obexd \
bluez-cups \
bluez-libs \
xorg-x11-server-Xwayland

echo "Installing other Steam dependencies"

rpm-ostree install \
vulkan-loader.i686 \
alsa-lib.i686 \
fontconfig.i686 \
gtk2.i686 \
libICE.i686 \
libnsl.i686 \
libxcrypt-compat.i686 \
libpng12.i686 \
libXext.i686 \
libXinerama.i686 \
libXtst.i686 \
libXScrnSaver.i686 \
NetworkManager-libnm.i686 \
nss.i686 \
pulseaudio-libs.i686 \
libcurl.i686 \
systemd-libs.i686 \
libva.i686 \
libvdpau.i686 \
libdbusmenu-gtk3.i686 \
libatomic.i686 \
pipewire-alsa.i686
jupiter-sd-mounting-btrfs \
at-spi2-core.i686 \
atk.i686 \
vulkan-loader.i686 \
alsa-lib.i686 \
fontconfig.i686 \
gtk2.i686 \
libICE.i686 \
libnsl.i686 \
libxcrypt-compat.i686 \
libpng12.i686 \
libXext.i686 \
libXinerama.i686 \
libXtst.i686 \
libXScrnSaver.i686 \
NetworkManager-libnm.i686 \
nss.i686 \
pulseaudio-libs.i686 \
libcurl.i686 \
systemd-libs.i686 \
libva.i686 \
libvdpau.i686 \
libdbusmenu-gtk3.i686 \
libatomic.i686 \
pipewire-alsa.i686 \
gobject-introspection \
steam

echo "Installing Steam"
# Add bootstrap_steam.tar.gz used by gamescope-session (Thanks GE & Nobara Project!)
mkdir -p /usr/share/gamescope-session-plus/
curl -Lo /usr/share/gamescope-session-plus/bootstrap_steam.tar.gz https://large-package-sources.nobaraproject.org/bootstrap_steam.tar.gz

sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree.repo
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo
rpm-ostree install steam
sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/rpmfusion-nonfree-steam.repo
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree.repo
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo
sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/fedora-updates.repo

# Cleanup
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo
11 changes: 8 additions & 3 deletions files/scripts/steamos-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,15 @@
set -oue pipefail

# Steam setup
git clone https://gitlab.com/evlaV/jupiter-dock-updater-bin.git \
--depth 1 \
/tmp/jupiter-dock-updater-bin
mv -v /tmp/jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/libexec/jupiter-dock-updater
rm -rf /tmp/jupiter-dock-updater-bin
ln -s /usr/bin/steamos-logger /usr/bin/steamos-info
ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice
ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning
sed -i 's@/usr/bin/steam@/usr/bin/zelideck-steam@g' /usr/share/applications/steam.desktop
mkdir -p "/usr/etc/xdg/autostart"
cp "/usr/share/applications/steam.desktop" "/usr/etc/xdg/autostart/steam.desktop"
sed -i 's@/usr/bin/zelideck-steam %U@/usr/bin/zelideck-steam -silent %U@g' /usr/etc/xdg/autostart/steam.desktop
mkdir -p /etc/skel/.config/autostart/
cp "/usr/share/applications/steam.desktop" "/etc/skel/.config/autostart/steam.desktop"
sed -i 's@/usr/bin/zelideck-steam %U@/usr/bin/zelideck-steam -silent %U@g' /etc/skel/.config/autostart/steam.desktop
5 changes: 3 additions & 2 deletions recipes/gnome/zeliblue-deck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,15 @@ modules:
repos:
- https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-%OS_VERSION%/kylegospo-bazzite-fedora-%OS_VERSION%.repo
install:
- gamescope
- gamescope.x86_64
- gamescope-libs.i686
- gamescope-shaders
- gamescope-session-plus
- gamescope-session-steam
- libei
- libei.i686
- mangohud
- sddm
# - steam

- type: systemd
system:
Expand Down

0 comments on commit b67a142

Please sign in to comment.