Merge branch 'testing'

This commit is contained in:
Kyle Gospodnetich 2024-07-21 21:10:35 -07:00
commit 2ca786e02a
24 changed files with 424 additions and 1303 deletions

View File

@ -1,32 +1,32 @@
name: Build Bazzite
on:
schedule:
- cron: '40 4 * * 2,5' # 4:40 utc tues thurs
- cron: "40 4 * * 2,5" # 4:40 utc tues thurs
pull_request:
branches:
- testing
- unstable
paths-ignore:
- '**.md'
- '**.txt'
- 'installer/**'
- 'repo_content/**'
- 'spec_files/**'
- 'post_install_files/**'
- 'press_kit/**'
- '.github/workflows/build_iso.yml'
- "**.md"
- "**.txt"
- "installer/**"
- "repo_content/**"
- "spec_files/**"
- "post_install_files/**"
- "press_kit/**"
- ".github/workflows/build_iso.yml"
push:
branches:
- testing
- unstable
paths-ignore:
- '**.md'
- '**.txt'
- 'repo_content/**'
- 'spec_files/**'
- 'post_install_files/**'
- 'press_kit/**'
- '.github/workflows/build_iso.yml'
- "**.md"
- "**.txt"
- "repo_content/**"
- "spec_files/**"
- "post_install_files/**"
- "press_kit/**"
- ".github/workflows/build_iso.yml"
merge_group:
workflow_dispatch:
env:
@ -57,7 +57,7 @@ jobs:
- fedora_version: 40
is_latest_version: true
is_stable_version: true
kernel_flavor: fsync # must match a kernel_flavor from akmods repo
kernel_flavor: fsync # must match a kernel_flavor from akmods repo
steps:
- name: Define env.IMAGE_FLAVOR
run: |
@ -261,6 +261,25 @@ jobs:
extra-args: |
--target=${{ matrix.base_name }}
- name: Check Secureboot
shell: bash
run: |
set -x
if [[ ! $(command -v sbverify) || ! $(command -v curl) || ! $(command -v openssl) ]]; then
sudo apt update
sudo apt install sbsigntool curl openssl
fi
podman run -d --rm --name ${{env.IMAGE_NAME}}-$(echo "${{ steps.generate-tags.outputs.alias_tags }}" | cut -d " " -f 1) "${{ env.IMAGE_NAME }}":$(echo "${{ steps.generate-tags.outputs.alias_tags }}" | cut -d " " -f 1) sleep 1000
podman cp ${{env.IMAGE_NAME}}-$(echo "${{ steps.generate-tags.outputs.alias_tags }}" | cut -d " " -f 1):/usr/lib/modules/${{ env.KERNEL_VERSION }}/vmlinuz .
podman rm -f ${{env.IMAGE_NAME}}-$(echo "${{ steps.generate-tags.outputs.alias_tags }}" | cut -d " " -f 1)
sbverify --list vmlinuz
curl --retry 3 -Lo kernel-sign.der https://github.com/ublue-os/kernel-cache/raw/main/certs/public_key.der
curl --retry 3 -Lo akmods.der https://github.com/ublue-os/kernel-cache/raw/main/certs/public_key_2.der
openssl x509 -in kernel-sign.der -out kernel-sign.crt
openssl x509 -in akmods.der -out akmods.crt
sbverify --cert kernel-sign.crt vmlinuz || exit 1
sbverify --cert akmods.crt vmlinuz || exit 1
# Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR.
# https://github.com/macbre/push-to-ghcr/issues/12
- name: Lowercase Registry

View File

@ -30,7 +30,8 @@ ARG CODE_NAME="${CODE_NAME:-Holographic}"
COPY system_files/desktop/shared system_files/desktop/${BASE_IMAGE_NAME} /
# Update packages that commonly cause build issues
RUN rpm-ostree override replace \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override replace \
--experimental \
--from repo=updates \
vulkan-loader \
@ -53,7 +54,14 @@ RUN rpm-ostree override replace \
rpm-ostree override replace \
--experimental \
--from repo=updates \
gtk3 \
nspr \
|| true && \
rpm-ostree override replace \
--experimental \
--from repo=updates \
nss-softokn \
nss-softokn-freebl \
nss-util \
|| true && \
rpm-ostree override replace \
--experimental \
@ -130,10 +138,12 @@ RUN rpm-ostree override replace \
rpm-ostree override remove \
glibc32 \
|| true && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Setup Copr repos
RUN curl -Lo /usr/bin/copr https://raw.githubusercontent.com/ublue-os/COPR-command/main/copr && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
curl -Lo /usr/bin/copr https://raw.githubusercontent.com/ublue-os/COPR-command/main/copr && \
chmod +x /usr/bin/copr && \
curl -Lo /etc/yum.repos.d/_copr_kylegospo-bazzite.repo https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-bazzite-fedora-"${FEDORA_MAJOR_VERSION}".repo && \
curl -Lo /etc/yum.repos.d/_copr_kylegospo-bazzite-multilib.repo https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite-multilib/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-bazzite-multilib-fedora-"${FEDORA_MAJOR_VERSION}".repo?arch=x86_64 && \
@ -157,11 +167,13 @@ RUN curl -Lo /usr/bin/copr https://raw.githubusercontent.com/ublue-os/COPR-comma
curl -Lo /etc/yum.repos.d/_copr_rodoma92-rmlint.repo https://copr.fedorainfracloud.org/coprs/rodoma92/rmlint/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-rmlint-fedora-"${FEDORA_MAJOR_VERSION}".repo && \
curl -Lo /etc/yum.repos.d/tailscale.repo https://pkgs.tailscale.com/stable/fedora/tailscale.repo && \
sed -i 's@gpgcheck=1@gpgcheck=0@g' /etc/yum.repos.d/tailscale.repo && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install kernel-fsync
COPY --from=fsync /tmp/rpms /tmp/fsync-rpms
RUN rpm-ostree cliwrap install-to-root / && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
--mount=type=bind,from=fsync,src=/tmp/rpms,dst=/tmp/fsync-rpms \
rpm-ostree cliwrap install-to-root / && \
if [[ "${KERNEL_FLAVOR}" =~ "fsync" ]]; then \
echo "Will install ${KERNEL_FLAVOR} kernel" && \
rpm-ostree override replace \
@ -175,10 +187,12 @@ RUN rpm-ostree cliwrap install-to-root / && \
; fi && \
rpm-ostree install \
scx_lavd && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Setup firmware
RUN mkdir -p /tmp/linux-firmware-neptune && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
mkdir -p /tmp/linux-firmware-neptune && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-cali.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/"${JUPITER_KERNEL_VERSION}"/cs35l41-dsp1-spk-cali.bin && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-cali.wmfw https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/"${JUPITER_KERNEL_VERSION}"/cs35l41-dsp1-spk-cali.wmfw && \
curl -Lo /tmp/linux-firmware-neptune/cs35l41-dsp1-spk-prot.bin https://gitlab.com/evlaV/linux-firmware-neptune/-/raw/"${JUPITER_KERNEL_VERSION}"/cs35l41-dsp1-spk-prot.bin && \
@ -212,12 +226,14 @@ RUN mkdir -p /tmp/linux-firmware-neptune && \
cp -rf /tmp/asus-firmware/* /usr/lib/firmware/ && \
rm -rf /tmp/asus-firmware \
; fi && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Add ublue packages, add needed negativo17 repo and then immediately disable due to incompatibility with RPMFusion
COPY --from=akmods /rpms /tmp/akmods-rpms
COPY --from=akmods-extra /rpms /tmp/akmods-rpms
RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
--mount=type=bind,from=akmods,src=/rpms,dst=/tmp/akmods-rpms \
--mount=type=bind,from=akmods-extra,src=/rpms,dst=/tmp/akmods-extra-rpms \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo && \
curl -Lo /etc/yum.repos.d/negativo17-fedora-multimedia.repo https://negativo17.org/repos/fedora-multimedia.repo && \
rpm-ostree install \
/tmp/akmods-rpms/kmods/*kvmfr*.rpm \
@ -225,22 +241,24 @@ RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo
/tmp/akmods-rpms/kmods/*openrazer*.rpm \
/tmp/akmods-rpms/kmods/*v4l2loopback*.rpm \
/tmp/akmods-rpms/kmods/*wl*.rpm \
/tmp/akmods-rpms/kmods/*gcadapter_oc*.rpm \
/tmp/akmods-rpms/kmods/*nct6687*.rpm \
/tmp/akmods-rpms/kmods/*evdi*.rpm \
/tmp/akmods-rpms/kmods/*zenergy*.rpm \
/tmp/akmods-rpms/kmods/*vhba*.rpm \
/tmp/akmods-rpms/kmods/*ayaneo-platform*.rpm \
/tmp/akmods-rpms/kmods/*ayn-platform*.rpm \
/tmp/akmods-rpms/kmods/*framework-laptop*.rpm \
/tmp/akmods-rpms/kmods/*bmi260*.rpm \
/tmp/akmods-rpms/kmods/*ryzen-smu*.rpm && \
/tmp/akmods-extra-rpms/kmods/*gcadapter_oc*.rpm \
/tmp/akmods-extra-rpms/kmods/*nct6687*.rpm \
/tmp/akmods-extra-rpms/kmods/*zenergy*.rpm \
/tmp/akmods-extra-rpms/kmods/*vhba*.rpm \
/tmp/akmods-extra-rpms/kmods/*ayaneo-platform*.rpm \
/tmp/akmods-extra-rpms/kmods/*ayn-platform*.rpm \
/tmp/akmods-extra-rpms/kmods/*bmi260*.rpm \
/tmp/akmods-extra-rpms/kmods/*ryzen-smu*.rpm && \
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install Valve's patched Mesa, Pipewire, Bluez, and Xwayland
# Install patched switcheroo control with proper discrete GPU support
RUN rpm-ostree override remove \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override remove \
mesa-va-drivers-freeworld && \
rpm-ostree override replace \
--experimental \
@ -276,18 +294,22 @@ RUN rpm-ostree override remove \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:sentry:switcheroo-control_discrete \
switcheroo-control && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Remove unneeded packages
RUN rpm-ostree override remove \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override remove \
ublue-os-update-services \
firefox \
firefox-langpacks \
htop && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install new packages
RUN rpm-ostree install \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree install \
discover-overlay \
python3-pip \
libadwaita \
@ -354,10 +376,12 @@ RUN rpm-ostree install \
curl -Lo /usr/bin/install-mf-wmv https://github.com/KyleGospo/steam-proton-mf-wmv/blob/master/install-mf-wmv.sh && \
chmod +x /usr/bin/install-mf-wmv && \
curl -Lo /usr/share/thumbnailers/exe-thumbnailer.thumbnailer https://raw.githubusercontent.com/jlu5/icoextract/master/exe-thumbnailer.thumbnailer && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install Steam & Lutris, plus supporting packages
RUN rpm-ostree install \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree install \
jupiter-sd-mounting-btrfs \
at-spi2-core.i686 \
atk.i686 \
@ -432,10 +456,12 @@ RUN rpm-ostree install \
sed -i 's@/usr/lib/wine/@/usr/lib64/wine/@g' /usr/bin/latencyflex && \
sed -i 's@"dxvk.conf"@"/usr/share/latencyflex/dxvk.conf"@g' /usr/bin/latencyflex && \
chmod +x /usr/bin/latencyflex && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Configure KDE & GNOME
RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
rpm-ostree install \
qt && \
rpm-ostree override remove \
@ -512,13 +538,16 @@ RUN if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' /usr/share/applications/org.gnome.SystemMonitor.desktop && \
systemctl enable dconf-update.service \
; fi && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install Gamescope, ROCM, and Waydroid on non-Nvidia images
RUN rpm-ostree install \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree install \
gamescope.x86_64 \
gamescope-libs.i686 \
gamescope-shaders \
gamescope-legacy \
rocm-hip \
rocm-opencl \
rocm-clinfo \
@ -526,21 +555,25 @@ RUN rpm-ostree install \
cage \
wlr-randr && \
sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Homebrew
RUN touch /.dockerenv && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
touch /.dockerenv && \
mkdir -p /var/home && \
mkdir -p /var/roothome && \
curl -Lo /tmp/brew-install https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh && \
chmod +x /tmp/brew-install && \
/tmp/brew-install && \
tar --zstd -cvf /usr/share/homebrew.tar.zst /home/linuxbrew/.linuxbrew && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Cleanup & Finalize
COPY system_files/overrides /
RUN rm -f /etc/profile.d/toolbox.sh && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
cp --no-dereference --preserve=links /usr/lib/libdrm.so.2 /usr/lib/libdrm.so && \
cp --no-dereference --preserve=links /usr/lib64/libdrm.so.2 /usr/lib64/libdrm.so && \
sed -i 's@/usr/bin/steam@/usr/bin/bazzite-steam@g' /usr/share/applications/steam.desktop && \
@ -645,6 +678,8 @@ RUN rm -f /etc/profile.d/toolbox.sh && \
curl -Lo /usr/lib/sysctl.d/99-bore-scheduler.conf https://github.com/CachyOS/CachyOS-Settings/raw/master/usr/lib/sysctl.d/99-bore-scheduler.conf && \
/usr/libexec/containerbuild/image-info && \
/usr/libexec/containerbuild/build-initramfs && \
/usr/libexec/containerbuild/cleanup.sh && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
ostree container commit
FROM bazzite AS bazzite-deck
@ -669,10 +704,12 @@ RUN 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-wallpaper-engine-kde-plugin.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_hhd-dev-hhd.repo && \
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ycollet-audinux.repo && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Configure KDE & GNOME
RUN rpm-ostree override remove \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override remove \
jupiter-sd-mounting-btrfs && \
if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \
rpm-ostree override remove \
@ -685,15 +722,16 @@ RUN rpm-ostree override remove \
gnome-shell-extension-caribou-blocker \
sddm \
; fi && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install new packages
# Dock updater - done manually due to proprietary parts preventing it from being on Copr
# Neptune firmware - done manually due to "TBD" license on needed audio firmware
RUN rpm-ostree install \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree install \
jupiter-fan-control \
jupiter-hw-support-btrfs \
galileo-mura \
steamdeck-dsp \
powerbuttond \
hhd \
@ -722,25 +760,30 @@ RUN rpm-ostree install \
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 && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install Steam Deck patched UPower
RUN rpm-ostree override replace \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override replace \
--experimental \
--from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite \
upower \
upower-libs && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install Gamescope Session & Supporting changes
# Add bootstraplinux_ubuntu12_32.tar.xz used by gamescope-session (Thanks ChimeraOS! - https://chimeraos.org/)
RUN curl -Lo /tmp/steam-jupiter.pkg.tar.zst https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/"${STEAM_PACKAGE_VERSION}".pkg.tar.zst && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
curl -Lo /tmp/steam-jupiter.pkg.tar.zst https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/"${STEAM_PACKAGE_VERSION}".pkg.tar.zst && \
mkdir -p /usr/etc/first-boot && \
tar --no-same-owner --no-same-permissions --no-overwrite-dir -I zstd -xvf /tmp/steam-jupiter.pkg.tar.zst usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz -o > /usr/etc/first-boot/bootstraplinux_ubuntu12_32.tar.xz && \
rm -f /tmp/steam-jupiter.pkg.tar.zst && \
rpm-ostree install \
gamescope-session-plus \
gamescope-session-steam && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Cleanup & Finalize
@ -785,6 +828,8 @@ RUN /usr/libexec/containerbuild/image-info && \
systemctl disable jupiter-biosupdate.service && \
systemctl disable jupiter-controller-update.service && \
systemctl disable batterylimit.service && \
/usr/libexec/containerbuild/cleanup.sh && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
ostree container commit
FROM ghcr.io/ublue-os/akmods-nvidia:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} AS nvidia-akmods
@ -804,7 +849,8 @@ COPY system_files/nvidia/shared system_files/nvidia/${BASE_IMAGE_NAME} /
# Remove everything that doesn't work well with NVIDIA
# Install X11 session (Remove me for Fedora 41)
RUN rpm-ostree override remove \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
rpm-ostree override remove \
rocm-hip \
rocm-opencl \
rocm-clinfo && \
@ -812,19 +858,25 @@ RUN rpm-ostree override remove \
rpm-ostree install \
plasma-workspace-x11 \
; fi && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Install NVIDIA driver
COPY --from=nvidia-akmods /rpms /tmp/akmods-rpms
RUN curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh && \
RUN --mount=type=cache,dst=/var/cache/rpm-ostree \
--mount=type=bind,from=nvidia-akmods,src=/rpms,dst=/tmp/akmods-rpms \
curl -Lo /tmp/nvidia-install.sh https://raw.githubusercontent.com/ublue-os/hwe/main/nvidia-install.sh && \
chmod +x /tmp/nvidia-install.sh && \
IMAGE_NAME="${BASE_IMAGE_NAME}" /tmp/nvidia-install.sh && \
rm -f /usr/share/vulkan/icd.d/nouveau_icd.*.json && \
ln -s libnvidia-ml.so.1 /usr/lib64/libnvidia-ml.so && \
/usr/libexec/containerbuild/cleanup.sh && \
ostree container commit
# Cleanup & Finalize
RUN echo "import \"/usr/share/ublue-os/just/95-bazzite-nvidia.just\"" >> /usr/share/ublue-os/justfile && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
/usr/libexec/containerbuild/image-info && \
/usr/libexec/containerbuild/build-initramfs && \
/usr/libexec/containerbuild/cleanup.sh && \
mkdir -p /var/tmp && chmod 1777 /var/tmp && \
ostree container commit

View File

@ -0,0 +1,37 @@
From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Sun, 8 Oct 2023 22:10:33 +0200
Subject: [PATCH] <cstdint>
---
src/reshade/source/effect_parser_stmt.cpp | 1 +
src/reshade/source/effect_token.hpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp
index 7829729..f126be2 100644
--- a/src/reshade/source/effect_parser_stmt.cpp
+++ b/src/reshade/source/effect_parser_stmt.cpp
@@ -9,6 +9,7 @@
#include <cctype> // std::toupper
#include <cassert>
#include <functional>
+#include <limits>
#include <string_view>
struct on_scope_exit
diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp
index 072d439..e4bb633 100644
--- a/src/reshade/source/effect_token.hpp
+++ b/src/reshade/source/effect_token.hpp
@@ -5,6 +5,7 @@
#pragma once
+#include <cstdint>
#include <string>
#include <vector>
--
2.41.0

View File

@ -0,0 +1,21 @@
From 88ce1e5de62886aa14c74421cde6130e16e70d7d Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Sat, 6 Jul 2024 20:52:50 +0200
Subject: [PATCH] utils: include limits.h for PATH_MAX
---
src/Utils/Process.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Utils/Process.cpp b/src/Utils/Process.cpp
index e71786f75..3e748e0d3 100644
--- a/src/Utils/Process.cpp
+++ b/src/Utils/Process.cpp
@@ -21,6 +21,7 @@
#include <pthread.h>
#include <stdlib.h>
#include <dirent.h>
+#include <limits.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>

View File

@ -0,0 +1,113 @@
%global libliftoff_minver 0.4.1
%global reshade_commit 4245743a8c41abbe3dc73980c1810fe449359bf1
%global reshade_shortcommit %(c=%{reshade_commit}; echo ${c:0:7})
%global _default_patch_fuzz 2
Name: gamescope-legacy
Version: 3.14.2
Release: 2.bazzite
Summary: Legacy builds of gamescope, a micro-compositor for video games on Wayland
License: BSD
URL: https://github.com/ValveSoftware/gamescope
Source0: %{url}/archive/%{version}/gamescope-%{version}.tar.gz
# Create stb.pc to satisfy dependency('stb')
Source1: stb.pc
Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commit}/reshade-%{reshade_shortcommit}.tar.gz
Patch0: 0001-cstdint.patch
# https://hhd.dev/
Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glm-devel
BuildRequires: google-benchmark-devel
BuildRequires: libXmu-devel
BuildRequires: libXcursor-devel
BuildRequires: pkgconfig(libdisplay-info)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libavif)
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18)
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(hwdata)
BuildRequires: spirv-headers-devel
# Enforce the the minimum EVR to contain fixes for all of:
# CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898
# CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666
# CVE-2023-45667
BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12
# Header-only library: -static is for tracking per guidelines
BuildRequires: stb_image-static
BuildRequires: stb_image_resize-devel
BuildRequires: stb_image_resize-static
BuildRequires: stb_image_write-devel
BuildRequires: stb_image_write-static
BuildRequires: vkroots-devel
BuildRequires: /usr/bin/glslangValidator
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
Requires: xorg-x11-server-Xwayland
Requires: gamescope-libs
Requires: gamescope-libs(x86-32)
Recommends: mesa-dri-drivers
Recommends: mesa-vulkan-drivers
%description
%{name} is the micro-compositor optimized for running video games on Wayland. This is a legacy build primarily intended for use by Polaris GPUs.
%prep
%autosetup -p1 -a2 -N -n gamescope-%{version}
# Install stub pkgconfig file
mkdir -p pkgconfig
cp %{SOURCE1} pkgconfig/stb.pc
# Replace spirv-headers include with the system directory
sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/meson.build
# Push in reshade from sources instead of submodule
rm -rf src/reshade && mv reshade-%{reshade_commit} src/reshade
%autopatch -p1
%build
export PKG_CONFIG_PATH=pkgconfig
%meson -Dpipewire=enabled -Denable_gamescope_wsi_layer=false -Denable_openvr_support=false -Dforce_fallback_for=[]
%meson_build
%install
%meson_install
# Rename to not conflict with the base package
mv %{buildroot}%{_bindir}/gamescope %{buildroot}%{_bindir}/gamescope-legacy
%files
%license LICENSE
%doc README.md
%{_bindir}/gamescope-legacy
%changelog
%autochangelog

View File

@ -6,7 +6,7 @@
Name: gamescope
Version: 100.%{gamescope_tag}
Release: 15.bazzite
Release: 18.bazzite
Summary: Micro-compositor for video games on Wayland
License: BSD
@ -15,18 +15,22 @@ URL: https://github.com/ValveSoftware/gamescope
# Create stb.pc to satisfy dependency('stb')
Source0: stb.pc
Patch0: 0001-cstdint.patch
Patch1: 0002-limits.patch
# https://github.com/ChimeraOS/gamescope
Patch0: chimeraos.patch
Patch2: chimeraos.patch
# https://hhd.dev/
Patch1: disable-steam-touch-click-atom.patch
Patch3: disable-steam-touch-click-atom.patch
Patch4: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
# https://github.com/ValveSoftware/gamescope/pull/1281
Patch2: deckhd.patch
Patch5: deckhd.patch
# https://github.com/ValveSoftware/gamescope/issues/1398
Patch3: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch
Patch6: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch
# https://github.com/ValveSoftware/gamescope/issues/1369
Patch4: revert-299bc34.patch
Patch7: revert-299bc34.patch
# https://github.com/ValveSoftware/gamescope/pull/1231
Patch5: 1231.patch
Patch8: 1231.patch
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build

View File

@ -0,0 +1,40 @@
From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001
From: antheas <git@antheas.dev>
Date: Sat, 20 Jul 2024 01:23:19 +0300
Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session
---
src/wlserver.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
index 1852be9..7de737d 100644
--- a/src/wlserver.cpp
+++ b/src/wlserver.cpp
@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
keysym == XKB_KEY_XF86AudioLowerVolume ||
keysym == XKB_KEY_XF86AudioRaiseVolume ||
keysym == XKB_KEY_XF86PowerOff;
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key )
+
+ // Check for steam keys (ctrl + 1/2)
+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 ||
+ keysym == XKB_KEY_2);
+
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) )
{
// Always send volume+/- to root server only, to avoid it reaching the game.
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface;
@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
{
wlserver_keyboardfocus( new_kb_surf, false );
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr );
+ // Send modifiers to steam for it to work
+ if (is_steamshortcut)
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers);
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state );
wlserver_keyboardfocus( old_kb_surf, false );
return;
--
2.45.2

File diff suppressed because it is too large Load Diff

View File

@ -66,9 +66,9 @@
Name: mesa
Summary: Mesa graphics libraries
%global ver 24.1.3
%global ver 24.1.4
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
Release: 101.bazzite.{{{ git_dir_version }}}
Release: 100.bazzite.{{{ git_dir_version }}}
License: MIT AND BSD-3-Clause AND SGI-B-2.0
URL: http://www.mesa3d.org
@ -78,14 +78,10 @@ Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
Source1: Mesa-MLAA-License-Clarification-Email.txt
Patch0: gnome-shell-glthread-disable.patch
# Performance bump
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25576
Patch4: 25576.patch
Patch10: gnome-shell-glthread-disable.patch
# https://gitlab.com/evlaV/mesa/
Patch5: valve.patch
Patch20: valve.patch
BuildRequires: meson >= 1.3.0
BuildRequires: gcc
@ -393,11 +389,7 @@ Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release}
The drivers with support for the Vulkan API.
%prep
%autosetup -n %{name}-%{ver} -N
%autopatch -p1 -M 99
%ifarch s390x
%autopatch -p1 -m 100
%endif
%autosetup -n %{name}-%{ver} -p1
cp %{SOURCE1} docs/
%build

View File

@ -1,19 +1,19 @@
From 4aa431b174c37b3bc0748ddc9bd2ca9c808881e2 Mon Sep 17 00:00:00 2001
From 239ea5c4cc82596383fba0342611a25d8d5a3d47 Mon Sep 17 00:00:00 2001
From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Date: Fri, 14 Jan 2022 15:58:45 +0100
Subject: [PATCH 5/8] STEAMOS: radv: min image count override for FH5
Subject: [PATCH 1/2] STEAMOS: radv: min image count override for FH5
Otherwise in combination with the vblank time reservation in
gamescope the game could get stuck in low power states.
---
src/util/00-radv-defaults.conf | 4 ++++
1 file changed, 4 insertions(+)
src/util/00-radv-defaults.conf | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf
index 9434dba1e3f..3c3ae562eb9 100644
index 983ce2511a7..3b3a6b36946 100644
--- a/src/util/00-radv-defaults.conf
+++ b/src/util/00-radv-defaults.conf
@@ -186,5 +186,9 @@ Application bugs worked around in this file:
@@ -200,6 +200,11 @@ Application bugs worked around in this file:
<application name="Rocket League" executable="RocketLeague">
<option name="radv_zero_vram" value="true" />
</application>
@ -21,26 +21,27 @@ index 9434dba1e3f..3c3ae562eb9 100644
+ <application name="Forza Horizon 5" application_name_match="ForzaHorizon5.exe">
+ <option name="vk_x11_override_min_image_count" value="4" />
+ </application>
</device>
</driconf>
+
<application name="Crystal Project" executable="Crystal Project.bin.x86_64">
<option name="radv_zero_vram" value="true" />
</application>
--
2.42.0
2.45.2
From 88327ee8507a323f48e43eeb87cf1f102d04f174 Mon Sep 17 00:00:00 2001
From b9a0bf948614b64b073ad1ee145987afdeb33994 Mon Sep 17 00:00:00 2001
From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Date: Mon, 21 Feb 2022 18:43:54 +0100
Subject: [PATCH 6/8] STEAMOS: Dynamic swapchain override for gamescope limiter
Subject: [PATCH 2/2] STEAMOS: Dynamic swapchain override for gamescope limiter
---
src/loader/loader_dri3_helper.c | 42 +++++++++++++++++++++++++++++++--
src/loader/loader_dri3_helper.h | 1 +
src/loader/meson.build | 2 +-
src/vulkan/wsi/wsi_common_x11.c | 38 +++++++++++++++++++++++++++++
4 files changed, 80 insertions(+), 3 deletions(-)
3 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index 32135770e9d..abc79dda97e 100644
index dc1db4fa8be..38e55dc23ae 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -289,6 +289,30 @@ dri3_update_max_num_back(struct loader_dri3_drawable *draw)
@ -102,7 +103,7 @@ index 32135770e9d..abc79dda97e 100644
dri3_update_max_num_back(draw);
/* Create a new drawable */
@@ -1092,6 +1124,12 @@ loader_dri3_swap_buffers_msc(struct loader_dri3_drawable *draw,
@@ -1085,6 +1117,12 @@ loader_dri3_swap_buffers_msc(struct loader_dri3_drawable *draw,
if (draw->type == LOADER_DRI3_DRAWABLE_WINDOW) {
dri3_fence_reset(draw->conn, back);
@ -116,7 +117,7 @@ index 32135770e9d..abc79dda97e 100644
* successful MSC and adding in a swap interval for each outstanding swap
* request. target_msc=divisor=remainder=0 means "Use glXSwapBuffers()
diff --git a/src/loader/loader_dri3_helper.h b/src/loader/loader_dri3_helper.h
index 1fd340bd145..b8f5eaaf190 100644
index cc2362dd599..fe73b3f329c 100644
--- a/src/loader/loader_dri3_helper.h
+++ b/src/loader/loader_dri3_helper.h
@@ -178,6 +178,7 @@ struct loader_dri3_drawable {
@ -128,7 +129,7 @@ index 1fd340bd145..b8f5eaaf190 100644
struct loader_dri3_extensions *ext;
const struct loader_dri3_vtable *vtable;
diff --git a/src/loader/meson.build b/src/loader/meson.build
index 35f9991ba2f..154cf809a69 100644
index ffb970f26be..326e2b5b9fd 100644
--- a/src/loader/meson.build
+++ b/src/loader/meson.build
@@ -29,7 +29,7 @@ if with_platform_x11 and with_dri3
@ -141,5 +142,5 @@ index 35f9991ba2f..154cf809a69 100644
build_by_default : false,
)
--
2.42.0
2.45.2

View File

@ -1,5 +0,0 @@
[Journal]
# Sets the maximum journal size to 50M for sched-ext namespace.
SystemMaxUse=50M
# Sets the priority level for messages to be stored to info.
MaxLevelStore=info

View File

@ -0,0 +1,2 @@
[Service]
Environment="HHD_QAM_KEYBOARD=1"

View File

@ -1,15 +0,0 @@
[Unit]
Description=Start scx_lavd scheduler
ConditionPathIsDirectory=/sys/kernel/sched_ext
StartLimitIntervalSec=30
StartLimitBurst=2
[Service]
Type=simple
ExecStart=/usr/bin/scx_lavd
Restart=on-failure
StandardError=journal
LogNamespace=sched-ext
[Install]
WantedBy=graphical.target

View File

@ -9,6 +9,13 @@ fi
systemctl enable --now hhd@$(systemd-escape $1).service
# Ensure HHD is never running for the root user
systemctl disable --now hhd@root.service
# Disable PPD
systemctl disable --now power-profiles-daemon.service
systemctl mask power-profiles-daemon.service
if /usr/libexec/hwsupport/hhd-tdp-supported-hardware; then
# Disable PPD
systemctl disable --now power-profiles-daemon.service
systemctl mask power-profiles-daemon.service
else
# Restore PPD if previously disabled
systemctl unmask power-profiles-daemon.service
systemctl enable --now power-profiles-daemon.service
fi

View File

@ -1,38 +0,0 @@
#!/usr/bin/bash
# The file to use for tracking if the warning has been shown
ACCEPTED="$HOME/.config/bazzite/gamescope-sdl-accepted"
# Check if the check has already run
if [ -f "$ACCEPTED" ]; then
# Exit if user has already aknowledged the warning
exit 0
fi
# Show the SDL workaround warning if required
if /usr/libexec/gamescope-sdl-workaround; then
# Add 4 spaces if you want to start a new line,
# it makes the text easier to read in the dialog.
zenity --text-info --title="WARNING: Problematic GPU detected!" --checkbox="Understood, I made sure to have a controller connected." --width 560 --height 430 <<< "
This GPU requires a workaround to work in Game Mode Session!
It is applied automatically, however it means that
keyboard and mouse will not work AT ALL when using
Game Mode Session (Desktop Mode will not be affected)
Please pair at least 1 bluetooth controller to the system now
so you can navigate Steam Game Mode.
If you plan to use a wired controller or one with a non
bluetooth dongle, verify it is detected in Steam BEFORE rebooting!"
# If the user mark the checkbox and clicks OK
# shellcheck disable=SC2181
if [ "$?" == "0" ]; then
# Make the .config/bazzite folder if needed
if [ ! -d "$HOME/.config/bazzite" ]; then
mkdir "$HOME/.config/bazzite/"
fi
# Mark that the user has acknowledged the warning
touch "$ACCEPTED"
fi
fi

View File

@ -5,16 +5,13 @@ IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO)
DECK_OPTION=""
if [ -f $HOME/.local/share/Steam/ubuntu12_32/steamui.so ]; then
# If Steam has been launched before we can safely launch with -steamdeck
# to maintain the gamemode update branch
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
DECK_OPTION="-steamdeck"
fi
# Apply Steam Download Speed Fix if not already applied
if [ ! -f $HOME/.local/share/Steam/steam_dev.cfg ]; then
bash -c 'printf "@nClientDownloadEnableHTTP2PlatformLinux 0\n@fDownloadRateImprovementToAddAnotherConnection 1.0\n" > $HOME/.local/share/Steam/steam_dev.cfg'
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then
if [ ! -d $HOME/.local/share/Steam ]; then
# Set up steam with the bootstrap before starting it, this allows steam to run for the first time even with no network access
if [[ -f "/etc/first-boot/bootstraplinux_ubuntu12_32.tar.xz" ]]; then
mkdir -p $HOME/.local/share/Steam
tar xf /etc/first-boot/bootstraplinux_ubuntu12_32.tar.xz -C $HOME/.local/share/Steam
fi
fi
# Install Bazzite's Steam Game Mode Startup & Suspend Videos
@ -29,12 +26,23 @@ if [ -f $HOME/.local/share/Steam/ubuntu12_32/steamui.so ]; then
if [ ! -f $HOME/.local/share/Steam/config/uioverrides/movies/deck-suspend-animation-from-throbber.webm ]; then
cp /usr/share/ublue-os/bazzite/bazzite-suspend.webm $HOME/.local/share/Steam/config/uioverrides/movies/deck-suspend-animation-from-throbber.webm
fi
fi
# Required to maintain the Steam update branch between desktop & Steam Game Mode
DECK_OPTION="-steamdeck"
fi
# Make sure Steam has been successfully started at least once. This is needed for desktop images that don't use a bootstrap archive
if [ -f $HOME/.local/share/Steam/ubuntu12_32/steamui.so ]; then
# Apply Steam Download Speed Fix if not already applied
if [ ! -f $HOME/.local/share/Steam/steam_dev.cfg ]; then
bash -c 'printf "@nClientDownloadEnableHTTP2PlatformLinux 0\n@fDownloadRateImprovementToAddAnotherConnection 1.0\n" > $HOME/.local/share/Steam/steam_dev.cfg'
fi
fi
switcheroo_state="$(switcherooctl list)"
DGPU_OPTION=""
# If we're running this on a dGPU, apply workaround for blank Steam window
# If we're running this on a dGPU in a multi-gpu AMD/Intel system, apply a workaround for the blank Steam window bug
if [[ $(echo "${switcheroo_state}" | grep -o 'Device:' | wc -l) -gt 1 ]]; then
# TODO: Check if -system-composer is needed with nvidia >=555 driver
if ! grep -Pq 'Name:\s+NVIDIA' <<< "$switcheroo_state"; then

View File

@ -33,6 +33,5 @@ STEAMOS_BTRFS_SDCARD_NTFS_MOUNT_OPTS="rw,noatime,lazytime,uid=1000,gid=1000,big_
# Defines the SD card format options to pass to mkfs.ntfs (default: "-f -F")
STEAMOS_BTRFS_SDCARD_NTFS_FORMAT_OPTS="-f -F"
# Toggle to enable/disable the bind mount for Steam's compatdata/ folder on fat, exfat, ntfs filesystems.
# Setting it to 0 will make the eject functionality in the Steam client work again but proton games will not start on it.
# DO NOT ENABLE THE BELOW VARIABLE ON BAZZITE
# Setting it to 1 will prevent the eject functionality in the Steam client from working but proton games will start.
STEAMOS_BTRFS_SDCARD_COMPATDATA_BIND_MOUNT="0"

View File

@ -0,0 +1,6 @@
system:
disable_runtime: true
gamemode: false
gamescope: false
pulse_latency: true
reset_desktop: true

View File

@ -147,7 +147,7 @@ else
echo "No karg changes needed"
fi
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then
if /usr/libexec/hwsupport/valve-hardware; then
if [[ ":Jupiter:" =~ ":$SYS_ID:" ]]; then
RESOLUTION=$(lshw -json -c display | jq -r .[]."configuration"."resolution")
@ -162,8 +162,6 @@ if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegam
systemctl enable --now jupiter-fan-control.service
systemctl enable --now vpower.service
# Only enabled on Valve Hardware because HHD handles this elsewhere
systemctl enable --now scx-lavd.service
else
echo "Generic device detected. Performing setup..."
systemctl disable --now jupiter-fan-control.service

View File

@ -85,7 +85,7 @@ fi
if [[ $BASE_IMAGE_NAME =~ "kinoite" ]]; then
echo 'Running setup for Kinoite'
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then
echo 'Running setup for Kinoite on Steam Deck'
if [[ ! -f "$HOME/Desktop/Return.desktop" ]]; then
echo 'Re-creating return to gamemode shortcut'
@ -151,7 +151,7 @@ else
ln -s "/usr/share/doc/mangohud/MangoHud.conf.example" "$TEMPLATES_DIR/MangoHud.conf"
fi
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then
echo 'Running setup for Silverblue on Steam Deck'
echo 'Tweaking GNOME indexer'
@ -167,15 +167,14 @@ else
fi
# Deck Build Setup
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegame" ]]; then
if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then
# HHD Setup
if /usr/libexec/hwsupport/hhd-supported-hardware; then
echo 'Enabling HHD'
pkexec /usr/libexec/bazzite-enable-hhd "$USER"
elif /usr/libexec/hwsupport/valve-hardware; then
echo 'Hiding HHD-UI on Deck hardware'
cp /usr/share/applications/hhd-ui.desktop "${XDG_DATA_HOME:-$HOME/.local/share}/applications/hhd-ui.desktop"
sed -i 's@\[Desktop Entry\]@\[Desktop Entry\]\nNoDisplay=true@g' "${XDG_DATA_HOME:-$HOME/.local/share}/applications/hhd-ui.desktop"
echo 'Enabling HHD'
pkexec /usr/libexec/bazzite-enable-hhd "$USER"
if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/applications/hhd-ui.desktop" ]; then
# Remove an old HHD desktop override done on Steam Decks when HHD did not support them
rm "${XDG_DATA_HOME:-$HOME/.local/share}/applications/hhd-ui.desktop"
fi
# SDGyroDSU Setup

View File

@ -0,0 +1,8 @@
#!/usr/bin/bash
set -eoux pipefail
shopt -s extglob
rm -rf /tmp/* || true
rm -rf /var/!(cache)
rm -rf /var/cache/!(rpm-ostree)

View File

@ -1,11 +1,4 @@
#!/usr/bin/bash
# Show a warning to people that need gamescope-sdl-workaround
# Only runs if the script file from the deck image exists
if [ -f "/usr/libexec/bazzite-sdl-gpu-warn" ]; then
# This will only show a warning if the user has not accepted the warning
/usr/libexec/bazzite-sdl-gpu-warn &
fi
# Simply launches the "yafti" GUI with the uBlue image's configuration.
/usr/bin/yafti /usr/share/ublue-os/firstboot/yafti.yml

View File

@ -24,7 +24,7 @@ setup-waydroid ACTION="":
OPTION=$(Choose "Initialize Waydroid" "Configure Waydroid" "Select GPU for Waydroid" "Reset Waydroid (also removes waydroid-related files from user folder)")
fi
if [[ "${OPTION,,}" =~ ^init ]]; then
if [[ ! $IMAGE_NAME =~ "deck" && ! $IMAGE_NAME =~ "ally" && ! $IMAGE_NAME =~ "framegame" ]]; then
if [[ ! $IMAGE_NAME =~ "deck" && ! $IMAGE_NAME =~ "ally" ]]; then
sudo systemctl enable --now waydroid-container
fi
sudo waydroid init -c 'https://ota.waydro.id/system' -v 'https://ota.waydro.id/vendor'