chore: Don't create a separate image for other handhelds

This commit is contained in:
RJ Trujillo 2023-08-29 06:52:36 -06:00
parent 3bd26561ac
commit 6f2e80d43d

View File

@ -429,143 +429,3 @@ RUN rm /usr/share/applications/wine*.desktop && \
chmod -R 1777 /var/tmp && \
mkdir -p /var/lib/bluetooth && \
ostree container commit
FROM bazzite as bazzite-generic-handheld
ARG IMAGE_NAME="${IMAGE_NAME}"
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME}"
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR}"
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
COPY system_files/deck/shared /
COPY system_files/deck/${BASE_IMAGE_NAME} /
# Setup Copr repos
RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/LatencyFleX/repo/fedora-$(rpm -E %fedora)/kylegospo-LatencyFleX-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-obs-vkcapture.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-wallpaper-engine-kde-plugin.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ycollet-audinux.repo
# Install gamescope-limiter patched Mesa and patched udisks2 (Needed for SteamOS SD card mounting)
RUN rpm-ostree override replace \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \
mesa-dri-drivers \
mesa-libEGL \
mesa-libgbm \
mesa-libGL \
mesa-libglapi \
mesa-vulkan-drivers && \
if [ ${FEDORA_MAJOR_VERSION} -lt 39 ]; then \
rpm-ostree override replace \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite \
udisks2 \
libudisks2 \
udisks2-btrfs \
; fi
# Configure KDE & GNOME
RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
rpm-ostree override remove \
steamdeck-kde-presets-desktop && \
rpm-ostree install \
steamdeck-kde-presets \
; else \
rpm-ostree install \
gnome-shell-extension-bazzite-menu \
gnome-shell-extension-search-light \
sddm \
sddm-sugar-steamOS \
; fi
# Install new packages
RUN rpm-ostree install \
mesa-va-drivers \
vulkan-tools \
steam_notif_daemon \
ryzenadj \
latencyflex-vulkan-layer \
vkBasalt \
mangohud \
sdgyrodsu \
python-vdf \
python-crcmod && \
# Install Steam and Lutris into their own OCI layer
RUN rpm-ostree install \
steam \
lutris \
libFAudio \
gamescope \
gamescope-session \
wine-core \
winetricks && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
rpm-ostree override remove \
gamemode \
; else \
rpm-ostree override remove \
gamemode \
gnome-shell-extension-gamemode \
gnome-shell-extension-appindicator \
; fi
# Install HandyGCCS
RUN wget https://copr.fedorainfracloud.org/coprs/drokath/bazzite/repo/fedora-$(rpm -E %fedora)/drokath-bazzite-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_drokath-bazzite.repo && \
rpm-ostree install HandyGCCS && \
systemctl enable handycon
# Cleanup & Finalize
RUN rm /usr/share/applications/wine*.desktop && \
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/870/913/' /usr/share/alsa/ucm2/AMD/acp5x/acp5x.conf && \
sed -i 's@/usr/bin/steam@/usr/bin/bazzite-steam@g' /usr/share/applications/steam.desktop && \
mkdir -p "/etc/xdg/autostart" && \
cp "/usr/share/applications/steam.desktop" "/etc/xdg/autostart/steam.desktop" && \
sed -i 's@/usr/bin/bazzite-steam %U@/usr/bin/bazzite-steam -silent %U@g' /etc/xdg/autostart/steam.desktop && \
cp "/usr/share/ublue-os/firstboot/yafti.yml" "/etc/yafti.yml" && \
sed -i 's/#HandlePowerKey=poweroff/HandlePowerKey=suspend/g' /etc/systemd/logind.conf && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
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-latencyflex.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-obs-vkcapture.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-wallpaper-engine-kde-plugin.repo && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_ycollet-audinux.repo && \
mv /etc/sddm.conf /etc/sddm.conf.d/steamos.conf && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
systemctl enable plasma-autologin.service \
; else \
systemctl mask power-profiles-daemon.service && \
systemctl disable gdm.service && \
systemctl enable sddm.service && \
systemctl enable gnome-autologin.service \
; fi && \
systemctl enable jupiter-fan-control.service && \
systemctl enable duperemove-weekly@$(systemd-escape /run/media/mmcblk0p1).timer && \
systemctl enable vpower.service && \
systemctl enable ds-inhibit.service && \
systemctl --global enable sdgyrodsu.service && \
systemctl disable input-remapper.service && \
systemctl --global disable ublue-update.timer && \
rm -f /usr/etc/sddm.conf && \
rm -f /etc/default/bazzite && \
echo -e "IMAGE_NAME=${IMAGE_NAME}\nBASE_IMAGE_NAME=${BASE_IMAGE_NAME}\nIMAGE_FLAVOR=${IMAGE_FLAVOR}\nFEDORA_MAJOR_VERSION=${FEDORA_MAJOR_VERSION}" >> /etc/default/bazzite && \
rm -rf \
/tmp/* \
/var/* && \
mkdir -p /var/tmp && \
chmod -R 1777 /var/tmp && \
mkdir -p /var/lib/duperemove && \
mkdir -p /var/lib/bluetooth && \
ostree container commit