diff --git a/.github/workflows/comment-filter.yml b/.github/workflows/comment-filter.yml index 62e04c8f..b349b62c 100644 --- a/.github/workflows/comment-filter.yml +++ b/.github/workflows/comment-filter.yml @@ -12,4 +12,4 @@ jobs: runs-on: ubuntu-latest steps: - name: Comment filter - uses: DecimalTurn/Comment-Filter@558e9a0b05c9a211a581ee365c90a0a3e3ff9476 #v0.1.3 + uses: DecimalTurn/Comment-Filter@9683f002007cc8739893f27123f6d3d857ea7808 #v0.1.4 diff --git a/.github/workflows/sign_image.yml b/.github/workflows/sign_image.yml index 34a58212..2ff91de0 100644 --- a/.github/workflows/sign_image.yml +++ b/.github/workflows/sign_image.yml @@ -37,7 +37,7 @@ jobs: echo "NAME=$name" >> $GITHUB_OUTPUT - name: Setup Cosign - uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0 + uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0 - name: Sign Image env: diff --git a/Containerfile b/Containerfile index e5c51c80..be771dfb 100644 --- a/Containerfile +++ b/Containerfile @@ -215,7 +215,13 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ curl -Lo /etc/yum.repos.d/_copr_rodoma92-kde-cdemu-manager.repo https://copr.fedorainfracloud.org/coprs/rodoma92/kde-cdemu-manager/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rodoma92-kde-cdemu-manager-fedora-"${FEDORA_MAJOR_VERSION}".repo && \ 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 && \ + rpm-ostree install \ + https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ + https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \ sed -i 's@gpgcheck=1@gpgcheck=0@g' /etc/yum.repos.d/tailscale.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 && \ /usr/libexec/containerbuild/cleanup.sh && \ ostree container commit @@ -300,12 +306,11 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ /usr/libexec/containerbuild/cleanup.sh && \ ostree container commit -# Add ublue packages, add needed negativo17 repo and then immediately disable due to incompatibility with RPMFusion +# Add ublue packages 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 \ /tmp/akmods-rpms/kmods/*xone*.rpm \ @@ -321,7 +326,6 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ /tmp/akmods-extra-rpms/kmods/*bmi260*.rpm \ /tmp/akmods-extra-rpms/kmods/*ryzen-smu*.rpm \ /tmp/akmods-extra-rpms/kmods/*evdi*.rpm && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ rpm-ostree override replace \ --experimental \ --from repo=copr:copr.fedorainfracloud.org:ublue-os:staging \ @@ -329,18 +333,16 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ fwupd-plugin-flashrom \ fwupd-plugin-modem-manager \ fwupd-plugin-uefi-capsule-data && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.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 --mount=type=cache,dst=/var/cache/rpm-ostree \ - rpm-ostree override remove \ - mesa-va-drivers-freeworld && \ rpm-ostree override replace \ --experimental \ --from repo=copr:copr.fedorainfracloud.org:kylegospo:bazzite-multilib \ - mesa-filesystem \ mesa-libxatracker \ mesa-libglapi \ mesa-dri-drivers \ @@ -362,12 +364,12 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ bluez-cups \ bluez-libs \ xorg-x11-server-Xwayland && \ + sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/rpmfusion-*.repo && \ rpm-ostree install \ - mesa-va-drivers-freeworld \ - mesa-vdpau-drivers-freeworld.x86_64 \ libaacs \ libbdplus \ libbluray && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-*.repo && \ rpm-ostree override replace \ --experimental \ --from repo=copr:copr.fedorainfracloud.org:sentry:switcheroo-control_discrete \ @@ -428,8 +430,8 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ yad \ f3 \ pulseaudio-utils \ - unrar \ lzip \ + rar \ libxcrypt-compat \ mesa-libGLU \ vulkan-tools \ @@ -502,23 +504,7 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ pipewire-alsa.i686 \ gobject-introspection \ clinfo \ - https://kojipkgs.fedoraproject.org//packages/SDL2/2.30.3/1.fc40/i686/SDL2-2.30.3-1.fc40.i686.rpm && \ - sed -i '0,/enabled=1/s//enabled=0/' /etc/yum.repos.d/fedora-updates.repo && \ - rpm-ostree install \ - mesa-vulkan-drivers.i686 \ - mesa-va-drivers-freeworld.i686 \ - mesa-vdpau-drivers-freeworld.i686 && \ - 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/rpmfusion-nonfree-updates-testing.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/rpmfusion-nonfree-updates-testing.repo && \ - sed -i '0,/enabled=0/s//enabled=1/' /etc/yum.repos.d/fedora-updates.repo && \ rpm-ostree install \ lutris \ umu-launcher \ @@ -529,12 +515,16 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ libFAudio.x86_64 \ libFAudio.i686 \ winetricks \ - protontricks \ latencyflex-vulkan-layer \ + mesa-vulkan-drivers.i686 \ + mesa-va-drivers.i686 \ vkBasalt.x86_64 \ vkBasalt.i686 \ mangohud.x86_64 \ - mangohud.i686 && \ + mangohud.i686 \ + obs-vkcapture.x86_64 \ + libobs_vkcapture.x86_64 \ + libobs_glcapture.x86_64 && \ ln -s wine32 /usr/bin/wine && \ ln -s wine32-preloader /usr/bin/wine-preloader && \ ln -s wineserver64 /usr/bin/wineserver && \ @@ -716,30 +706,6 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ echo "import \"/usr/share/ublue-os/just/84-bazzite-virt.just\"" >> /usr/share/ublue-os/justfile && \ echo "import \"/usr/share/ublue-os/just/85-bazzite-image.just\"" >> /usr/share/ublue-os/justfile && \ echo "import \"/usr/share/ublue-os/just/90-bazzite-de.just\"" >> /usr/share/ublue-os/justfile && \ - if grep -q "kinoite" <<< "${BASE_IMAGE_NAME}"; then \ - mkdir -p "/usr/share/ublue-os/dconfs/desktop-kinoite/" && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-kinoite/" && \ - find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-kinoite/" \; && \ - dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" && \ - rm "/usr/share/ublue-os/dconfs/desktop-kinoite/zz0-"*"-bazzite-desktop-kinoite-"*".gschema.override" && \ - ; else \ - mkdir -p "/usr/share/ublue-os/dconfs/desktop-silverblue/" && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/desktop-silverblue/" && \ - find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/desktop-silverblue/" \; && \ - dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" && \ - # Replace sort-directories-first to be compatible with dconf - sed -i 's/\[org.gtk.Settings.FileChooser\]/\[org\/gtk\/settings\/file-chooser\]/g; s/\[org.gtk.gtk4.Settings.FileChooser\]/\[org\/gtk\/gtk4\/settings\/file-chooser\]/g' "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-00-bazzite-desktop-silverblue-global" && \ - rm "/usr/share/ublue-os/dconfs/desktop-silverblue/zz0-"*"-bazzite-desktop-silverblue-"*".gschema.override" && \ - ; fi && \ - # Test Bazzite gschema override for errors. If there are no errors, proceed with compiling Bazzite gschema, which includes setting overrides. - mkdir -p /tmp/bazzite-schema-test && \ - find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \ - echo "Running error test for Bazzite Desktop gschema override. Aborting if failed." && \ - glib-compile-schemas --strict /tmp/bazzite-schema-test && \ - echo "Compiling gschema to include Bazzite Desktop setting overrides" && \ - glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \ - rm -r /tmp/bazzite-schema-test && \ sed -i 's/stage/none/g' /etc/rpm-ostreed.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 && \ @@ -758,9 +724,9 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_hikariknight-looking-glass-kvmfr.repo && \ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/tailscale.repo && \ sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/charm.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates.repo && \ - sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/rpmfusion-nonfree-updates-testing.repo && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-steam.repo && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-rar.repo && \ mkdir -p /etc/flatpak/remotes.d && \ curl -Lo /etc/flatpak/remotes.d/flathub.flatpakrepo https://dl.flathub.org/repo/flathub.flatpakrepo && \ systemctl enable tuned.service && \ @@ -769,7 +735,7 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ systemctl disable brew-upgrade.timer && \ systemctl disable brew-update.timer && \ systemctl enable btrfs-dedup@var-home.timer && \ - systemctl enable displaylink.service && \ + systemctl disable displaylink.service && \ systemctl enable input-remapper.service && \ systemctl unmask bazzite-flatpak-manager.service && \ systemctl enable bazzite-flatpak-manager.service && \ @@ -777,7 +743,7 @@ RUN rm -f /etc/profile.d/toolbox.sh && \ systemctl enable ublue-update.timer && \ systemctl enable incus-workaround.service && \ systemctl enable bazzite-hardware-setup.service && \ - systemctl enable tailscaled.service && \ + systemctl disable tailscaled.service && \ systemctl enable dev-hugepages1G.mount && \ systemctl --global enable bazzite-user-setup.service && \ systemctl --global enable podman.socket && \ @@ -923,22 +889,6 @@ RUN /usr/libexec/containerbuild/image-info && \ systemctl disable gdm.service && \ systemctl enable sddm.service \ ; fi && \ - if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then \ - mkdir -p "/usr/share/ublue-os/dconfs/deck-silverblue/" && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/deck-silverblue/" && \ - find "/etc/dconf/db/distro.d/" -maxdepth 1 -type f -exec cp {} "/usr/share/ublue-os/dconfs/deck-silverblue/" \; && \ - dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" && \ - rm "/usr/share/ublue-os/dconfs/deck-silverblue/zz0-"*"-bazzite-deck-silverblue-"*".gschema.override" && \ - ; fi && \ - # Test Bazzite gschema override for errors. If there are no errors, proceed with compiling Bazzite gschema, which includes setting overrides. - mkdir -p /tmp/bazzite-schema-test && \ - find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \ - echo "Running error test for Bazzite Deck gschema override. Aborting if failed." && \ - glib-compile-schemas --strict /tmp/bazzite-schema-test && \ - echo "Compiling gschema to include Bazzite Deck setting overrides" && \ - glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \ - rm -r /tmp/bazzite-schema-test && \ systemctl enable bazzite-autologin.service && \ systemctl enable wireplumber-workaround.service && \ systemctl enable wireplumber-sysconf.service && \ @@ -999,6 +949,10 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ # Install NVIDIA driver RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ --mount=type=bind,from=nvidia-akmods,src=/rpms,dst=/tmp/akmods-rpms \ + sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ + rpm-ostree install \ + mesa-vdpau-drivers.x86_64 \ + mesa-vdpau-drivers.i686 && \ 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 && \ @@ -1009,21 +963,7 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ # Cleanup & Finalize RUN echo "import \"/usr/share/ublue-os/just/95-bazzite-nvidia.just\"" >> /usr/share/ublue-os/justfile && \ - if grep -q "silverblue" <<< "${BASE_IMAGE_NAME}"; then \ - mkdir -p "/usr/share/ublue-os/dconfs/nvidia-silverblue/" && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" "/usr/share/ublue-os/dconfs/nvidia-silverblue/" && \ - dconf-override-converter to-dconf "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" && \ - rm "/usr/share/ublue-os/dconfs/nvidia-silverblue/zz0-"*"-bazzite-nvidia-silverblue-"*".gschema.override" && \ - ; fi && \ - # Test Bazzite gschema override for errors. If there are no errors, proceed with compiling Bazzite gschema, which includes setting overrides. - mkdir -p /tmp/bazzite-schema-test && \ - find "/usr/share/glib-2.0/schemas/" -type f ! -name "*.gschema.override" -exec cp {} "/tmp/bazzite-schema-test/" \; && \ - cp "/usr/share/glib-2.0/schemas/zz0-"*".gschema.override" "/tmp/bazzite-schema-test/" && \ - echo "Running error test for Bazzite Nvidia gschema override. Aborting if failed." && \ - glib-compile-schemas --strict /tmp/bazzite-schema-test && \ - echo "Compiling gschema to include Bazzite Nvidia setting overrides" && \ - glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null && \ - rm -r /tmp/bazzite-schema-test && \ + sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/negativo17-fedora-multimedia.repo && \ mkdir -p /var/tmp && chmod 1777 /var/tmp && \ /usr/libexec/containerbuild/image-info && \ /usr/libexec/containerbuild/build-initramfs && \ diff --git a/README.md b/README.md index 02d25f98..47c1ee1b 100644 --- a/README.md +++ b/README.md @@ -374,4 +374,4 @@ We also ship a config for the popular [pull app](https://github.com/apps/pull) i - Follow Universal Blue on [Mastodon](https://fosstodon.org/@UniversalBlue). -[**View the full list of Bazzite resources and social presence**](https://universal-blue.discourse.group/docs?topic=8). +[**View the full list of Bazzite resources and social presence**](https://docs.bazzite.gg/Resources/). diff --git a/installer/gnome_flatpaks/flatpaks b/installer/gnome_flatpaks/flatpaks index 4d0a300b..41cc5b33 100644 --- a/installer/gnome_flatpaks/flatpaks +++ b/installer/gnome_flatpaks/flatpaks @@ -1,5 +1,6 @@ app/org.mozilla.firefox/x86_64/stable app/com.mattjakeman.ExtensionManager/x86_64/stable +app/com.github.Matoking.protontricks/stable app/io.github.fastrizwaan.WineZGUI/x86_64/stable app/io.github.dvlv.boxbuddyrs/x86_64/stable app/it.mijorus.gearlever/x86_64/stable diff --git a/installer/kde_flatpaks/flatpaks b/installer/kde_flatpaks/flatpaks index af78d440..abb01541 100644 --- a/installer/kde_flatpaks/flatpaks +++ b/installer/kde_flatpaks/flatpaks @@ -8,6 +8,7 @@ app/io.github.fastrizwaan.WineZGUI/x86_64/stable app/io.github.dvlv.boxbuddyrs/x86_64/stable app/it.mijorus.gearlever/x86_64/stable app/com.github.tchx84.Flatseal/x86_64/stable +app/com.github.Matoking.protontricks/stable app/io.github.flattool.Warehouse/x86_64/stable app/net.davidotek.pupgui2/x86_64/stable runtime/org.freedesktop.Platform.VulkanLayer.MangoHud/x86_64/23.08 diff --git a/spec_files/gamescope/gamescope-legacy.spec b/spec_files/gamescope/gamescope-legacy.spec index 5feb5170..5bf68f37 100644 --- a/spec_files/gamescope/gamescope-legacy.spec +++ b/spec_files/gamescope/gamescope-legacy.spec @@ -5,7 +5,7 @@ Name: gamescope-legacy Version: 3.14.2 -Release: 3.bazzite +Release: 4.bazzite Summary: Legacy builds of gamescope, a micro-compositor for video games on Wayland License: BSD @@ -18,7 +18,7 @@ Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commi Patch0: 0001-cstdint.patch # https://hhd.dev/ -Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch +Patch1: v2-0001-steam-overlay-hotkeys.patch # ChimeraOS Patch2: legacy-720p.patch diff --git a/spec_files/gamescope/gamescope.spec b/spec_files/gamescope/gamescope.spec index 52f377b4..e523b35c 100644 --- a/spec_files/gamescope/gamescope.spec +++ b/spec_files/gamescope/gamescope.spec @@ -6,7 +6,7 @@ Name: gamescope Version: 100.%{gamescope_tag} -Release: 2.bazzite +Release: 3.bazzite Summary: Micro-compositor for video games on Wayland License: BSD @@ -22,7 +22,7 @@ Patch1: chimeraos.patch # https://hhd.dev/ Patch2: disable-steam-touch-click-atom.patch -Patch3: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch +Patch3: v2-0001-steam-overlay-hotkeys.patch # https://github.com/ValveSoftware/gamescope/issues/1369 Patch4: revert-299bc34.patch diff --git a/spec_files/gamescope/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch b/spec_files/gamescope/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch deleted file mode 100644 index b583936d..00000000 --- a/spec_files/gamescope/v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001 -From: antheas -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 - diff --git a/spec_files/gamescope/v2-0001-steam-overlay-hotkeys.patch b/spec_files/gamescope/v2-0001-steam-overlay-hotkeys.patch new file mode 100644 index 00000000..c22ea43b --- /dev/null +++ b/spec_files/gamescope/v2-0001-steam-overlay-hotkeys.patch @@ -0,0 +1,44 @@ +diff --git a/src/wlserver.cpp b/src/wlserver.cpp +index 3535c9b..d29a3d5 100644 +--- a/src/wlserver.cpp ++++ b/src/wlserver.cpp +@@ -290,6 +290,9 @@ static void wlserver_handle_modifiers(struct wl_listener *listener, void *data) + bump_input_counter(); + } + ++// false if GS_ENABLE_CTRL_12 exists and is 0, true otherwise ++bool env_gs_enable_ctrl_12 = getenv("GS_ENABLE_CTRL_12") ? (getenv("GS_ENABLE_CTRL_12")[0] != '0') : true; ++ + static void wlserver_handle_key(struct wl_listener *listener, void *data) + { + struct wlserver_keyboard *keyboard = wl_container_of( listener, keyboard, key ); +@@ -310,7 +313,14 @@ 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 overlay key (ctrl/super + 1/2) ++ bool is_steamshortcut = ++ ((env_gs_enable_ctrl_12 && (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL)) || ++ (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_LOGO)) && ++ (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; +@@ -319,6 +329,13 @@ 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 ); ++ if (is_steamshortcut) ++ { ++ // send ctrl down modifier to trigger the overlay ++ wlr_keyboard_modifiers ctrl_down_modifier; ++ ctrl_down_modifier.depressed = WLR_MODIFIER_CTRL; ++ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &ctrl_down_modifier); ++ } + wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state ); + wlserver_keyboardfocus( old_kb_surf, false ); + return; diff --git a/spec_files/mesa/mesa.spec b/spec_files/mesa/mesa.spec index a5236e1a..b6bf71cb 100644 --- a/spec_files/mesa/mesa.spec +++ b/spec_files/mesa/mesa.spec @@ -68,7 +68,9 @@ Name: mesa Summary: Mesa graphics libraries %global ver 24.1.7 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 100.bazzite.{{{ git_dir_version }}} +Epoch: 1 +%global orig_release 1%{?dist} +Release: 100.bazzite.%{orig_release} License: MIT AND BSD-3-Clause AND SGI-B-2.0 URL: http://www.mesa3d.org @@ -232,7 +234,7 @@ Provides: libEGL-devel%{?_isa} %package dri-drivers Summary: Mesa-based DRI drivers -Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{orig_release} Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %if 0%{?with_va} Recommends: %{name}-va-drivers%{?_isa} @@ -244,7 +246,7 @@ Recommends: %{name}-va-drivers%{?_isa} %if 0%{?with_omx} %package omx-drivers Summary: Mesa-based OMX drivers -Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{orig_release} %description omx-drivers %{summary}. @@ -253,7 +255,7 @@ Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rel %if 0%{?with_va} %package va-drivers Summary: Mesa-based VA-API video acceleration drivers -Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{orig_release} Obsoletes: %{name}-vaapi-drivers < 22.2.0-5 %description va-drivers @@ -263,7 +265,7 @@ Obsoletes: %{name}-vaapi-drivers < 22.2.0-5 %if 0%{?with_vdpau} %package vdpau-drivers Summary: Mesa-based VDPAU drivers -Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{orig_release} %description vdpau-drivers %{summary}. diff --git a/spec_files/pipewire/pipewire.spec b/spec_files/pipewire/pipewire.spec index 7541461b..58ec5c68 100644 --- a/spec_files/pipewire/pipewire.spec +++ b/spec_files/pipewire/pipewire.spec @@ -1,6 +1,6 @@ %global majorversion 1 %global minorversion 0 -%global microversion 7 +%global microversion 8 %global apiversion 0.3 %global spaversion 0.2 @@ -9,7 +9,7 @@ %global ms_version 0.4.2 # For rpmdev-bumpspec and releng automation -%global baserelease 2 +%global baserelease 1 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -44,8 +44,7 @@ %bcond_without jackserver_plugin %bcond_without libmysofa %bcond_without lv2 -#bcond_without roc -%bcond_with roc +%bcond_without roc %endif %if 0%{?rhel} || ("%{_arch}" == "s390x") @@ -424,26 +423,26 @@ cp %{SOURCE1} subprojects/packagefiles/ %build %meson \ - -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \ - -D sdl2=disabled \ - -D audiotestsrc=disabled -D videotestsrc=disabled \ - -D volume=disabled -D bluez5-codec-aptx=disabled \ - -D bluez5-codec-lc3plus=disabled -D bluez5-codec-lc3=enabled \ + -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \ + -D sdl2=disabled \ + -D audiotestsrc=disabled -D videotestsrc=disabled \ + -D volume=disabled -D bluez5-codec-aptx=disabled \ + -D bluez5-codec-lc3plus=disabled -D bluez5-codec-lc3=enabled \ %ifarch s390x - -D bluez5-codec-ldac=disabled \ + -D bluez5-codec-ldac=disabled \ %endif - -D session-managers=[] \ - -D rtprio-server=60 -D rtprio-client=55 -D rlimits-rtprio=70 \ - %{!?with_jack:-D pipewire-jack=disabled} \ - %{!?with_jackserver_plugin:-D jack=disabled} \ - %{!?with_libcamera_plugin:-D libcamera=disabled} \ - %{?with_jack:-D jack-devel=true} \ - %{!?with_alsa:-D pipewire-alsa=disabled} \ - %{?with_vulkan:-D vulkan=enabled} \ - %{!?with_libmysofa:-D libmysofa=disabled} \ - %{!?with_lv2:-D lv2=disabled} \ - %{!?with_roc:-D roc=disabled} \ - %{!?with_ffado:-D libffado=disabled} \ + -D session-managers=[] \ + -D rtprio-server=60 -D rtprio-client=55 -D rlimits-rtprio=70 \ + %{!?with_jack:-D pipewire-jack=disabled} \ + %{!?with_jackserver_plugin:-D jack=disabled} \ + %{!?with_libcamera_plugin:-D libcamera=disabled} \ + %{?with_jack:-D jack-devel=true} \ + %{!?with_alsa:-D pipewire-alsa=disabled} \ + %{?with_vulkan:-D vulkan=enabled} \ + %{!?with_libmysofa:-D libmysofa=disabled} \ + %{!?with_lv2:-D lv2=disabled} \ + %{!?with_roc:-D roc=disabled} \ + %{!?with_ffado:-D libffado=disabled} \ %{nil} %meson_build @@ -834,15 +833,21 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Thu Sep 19 2024 Wim Taymans - 1.0.8-1 +- Update version to 1.0.8 + * Tue Jun 18 2024 Peter Robinson - 1.0.7-2 - Rebuild for libcamera 0.3 * Fri May 24 2024 Wim Taymans - 1.0.7-1 - Update version to 1.0.7 - + * Thu May 09 2024 Wim Taymans - 1.0.6-1 - Update version to 1.0.6 +* Tue Apr 23 2024 Wim Taymans - 1.0.5-2 +- Enable ROC again + * Mon Apr 15 2024 Wim Taymans - 1.0.5-1 - Update version to 1.0.5 diff --git a/spec_files/umu-launcher/umu-launcher.spec b/spec_files/umu-launcher/umu-launcher.spec index ff4370aa..eb303bc0 100644 --- a/spec_files/umu-launcher/umu-launcher.spec +++ b/spec_files/umu-launcher/umu-launcher.spec @@ -1,12 +1,13 @@ -%define commit 9b12f90b4e113275b5e8ea33a88674275bf3a1c8 +%define commit 12ebba1bea5006aaa0493d4d9e5d1ba1fe434ac1 +%define tag 1.1.1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global build_timestamp %(date +"%Y%m%d") -%global rel_build 1.%{build_timestamp}.%{shortcommit}%{?dist} +%global rel_build 2.%{build_timestamp}.%{shortcommit}%{?dist} Name: umu-launcher -Version: 1.0 +Version: 1.1.1 Release: %{rel_build} Summary: A tool for launching non-steam games with proton @@ -31,6 +32,7 @@ BuildRequires: python3 Requires: python Requires: python3 Requires: python3-xlib +Requires: python3-filelock %description @@ -39,7 +41,7 @@ Requires: python3-xlib %prep git clone --single-branch --branch main https://github.com/Open-Wine-Components/umu-launcher.git cd umu-launcher -git checkout %{commit} +git checkout %{tag} git submodule update --init --recursive %build diff --git a/system_files/deck/shared/etc/environment b/system_files/deck/shared/etc/environment index d28b52a0..cb049800 100644 --- a/system_files/deck/shared/etc/environment +++ b/system_files/deck/shared/etc/environment @@ -3,3 +3,6 @@ EDITOR=/usr/bin/vim # Disable Brew auto-update HOMEBREW_NO_AUTO_UPDATE=1 + +# Passthrough ctrl + 1/2 ingame +#GS_ENABLE_CTRL_12=0 \ No newline at end of file diff --git a/system_files/desktop/shared/usr/bin/bazzite-rollback-helper b/system_files/desktop/shared/usr/bin/bazzite-rollback-helper index 493f962e..e07ccfa1 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-rollback-helper +++ b/system_files/desktop/shared/usr/bin/bazzite-rollback-helper @@ -86,4 +86,7 @@ EOF # display the helptext elif [[ "$1" == "-h" || "$1" == "--h" || "$1" == "-help" || "$1" == "--help" || "$1" == "help" || -z "$1" ]]; then echo "$helptext" +else + echo "Unsupported Option: $1" + echo "run 'bazzite-rollback-helper help' for more details" fi diff --git a/system_files/desktop/shared/usr/bin/protontricks b/system_files/desktop/shared/usr/bin/protontricks new file mode 100755 index 00000000..3b7375e1 --- /dev/null +++ b/system_files/desktop/shared/usr/bin/protontricks @@ -0,0 +1,2 @@ +#!/usr/bin/bash +/usr/bin/flatpak run com.github.Matoking.protontricks "$@" diff --git a/system_files/desktop/shared/usr/libexec/bazzite-flatpak-manager b/system_files/desktop/shared/usr/libexec/bazzite-flatpak-manager index ff84bd4a..3e5d6a5e 100755 --- a/system_files/desktop/shared/usr/libexec/bazzite-flatpak-manager +++ b/system_files/desktop/shared/usr/libexec/bazzite-flatpak-manager @@ -1,7 +1,7 @@ #!/usr/bin/bash # SCRIPT VERSION -VER=23 +VER=24 VER_FILE="/etc/bazzite/flatpak_manager_version" VER_RAN=$(cat $VER_FILE) IMAGE_INFO="/usr/share/ublue-os/image-info.json" @@ -26,6 +26,16 @@ fi flatpak remote-add --if-not-exists --system flathub /etc/flatpak/remotes.d/flathub.flatpakrepo flatpak remote-modify --system --enable flathub +PROTONTRICKS_SETUP_FILE="/etc/bazzite/protontricks_installed" +if [[ ! -f "$PROTONTRICKS_SETUP_FILE" ]]; then + if ! grep -q "com.github.Matoking.protontricks" <<< $(/usr/bin/flatpak list --app --columns=application); then + flatpak install --system --assumeyes com.github.Matoking.protontricks + touch "$PROTONTRICKS_SETUP_FILE" + else + touch "$PROTONTRICKS_SETUP_FILE" + fi +fi + # Flatpak theming support flatpak override \ --filesystem=xdg-config/gtk-4.0:ro \ @@ -55,6 +65,13 @@ flatpak override \ --device=dri \ dev.goats.xivlauncher +# Fix permissions for Protontricks +flatpak override \ + --filesystem=~/.local/share/Steam \ + --filesystem=/var/mnt \ + --filesystem=/run/media \ + com.github.Matoking.protontricks + # Params needed for HW accelerated video on Nvidia (Ignoring hybrid systems) if [[ $IMAGE_FLAVOR =~ "nvidia" ]] && [ $(grep -o "\-display" <<< $(lshw -C display) | wc -l) -le 1 ] && grep -q "vendor: NVIDIA Corporation" <<< $(lshw -C display); then flatpak override \ diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just index 5fc0e2bf..be6dfe74 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/80-bazzite.just @@ -71,6 +71,14 @@ add-user-to-input-group: fi sudo usermod -a -G input $USER +# Enable support for DisplayLink +enable-displaylink: + systemctl enable --now displaylink.service + +# Enable support for Tailscale +enable-tailscale: + systemctl enable --now tailscaled.service + # Configure watchdog (default: enabled, recovers the system in the event of a malfunction) configure-watchdog ACTION="": #!/usr/bin/bash diff --git a/system_files/desktop/silverblue/etc/dconf/db/distro.d/01-bazzite-desktop-silverblue-folders b/system_files/desktop/silverblue/etc/dconf/db/distro.d/01-bazzite-desktop-silverblue-folders index 7816c503..4c24d30f 100644 --- a/system_files/desktop/silverblue/etc/dconf/db/distro.d/01-bazzite-desktop-silverblue-folders +++ b/system_files/desktop/silverblue/etc/dconf/db/distro.d/01-bazzite-desktop-silverblue-folders @@ -2,7 +2,7 @@ # Some Gnome extensions don't ship gschema XML, so their settings also need to go in dconf [org/gnome/desktop/app-folders/folders/GamingUtilities] -apps=['protontricks.desktop', 'discover_overlay_configure.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.gerbilsoft.rom-properties.rp-config.desktop', 'input-remapper-gtk.desktop', 'steamos-nested-desktop.desktop', 'hhd-ui.desktop'] +apps=['com.github.Matoking.protontricks.desktop', 'discover_overlay_configure.desktop', 'com.vysp3r.ProtonPlus.desktop', 'io.github.benjamimgois.goverlay.desktop', 'com.gerbilsoft.rom-properties.rp-config.desktop', 'input-remapper-gtk.desktop', 'steamos-nested-desktop.desktop', 'hhd-ui.desktop'] name='Gaming Utilities' translate=false diff --git a/system_files/overrides/usr/share/ublue-os/homebrew/bazzite-cli.Brewfile b/system_files/overrides/usr/share/ublue-os/homebrew/bazzite-cli.Brewfile index 8cad6f00..efef9f39 100644 --- a/system_files/overrides/usr/share/ublue-os/homebrew/bazzite-cli.Brewfile +++ b/system_files/overrides/usr/share/ublue-os/homebrew/bazzite-cli.Brewfile @@ -7,6 +7,7 @@ brew "gh" brew "glab" brew "rg" brew "tealdeer" +brew "trash-cli" brew "ugrep" brew "yq" brew "zoxide"