diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48cf357095..f097dd7fe9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -160,7 +160,7 @@ jobs: uses: ublue-os/remove-unwanted-software@v7 - name: Pull main, akmods, rechunk images - uses: Wandalen/wretry.action@v3.7.0 + uses: Wandalen/wretry.action@v3.7.2 with: attempt_limit: 3 attempt_delay: 15000 @@ -176,7 +176,7 @@ jobs: - name: Get source versions id: labels - uses: Wandalen/wretry.action@v3.7.0 + uses: Wandalen/wretry.action@v3.7.2 with: attempt_limit: 3 attempt_delay: 15000 @@ -381,7 +381,7 @@ jobs: # Push the image to GHCR (Image Registry) - name: Push To GHCR - uses: Wandalen/wretry.action@v3.7.0 + uses: Wandalen/wretry.action@v3.7.2 id: push if: github.event_name != 'pull_request' with: diff --git a/Containerfile b/Containerfile index 4313aa8a25..26b887335f 100644 --- a/Containerfile +++ b/Containerfile @@ -218,6 +218,7 @@ RUN --mount=type=cache,dst=/var/cache/rpm-ostree \ curl -Lo /etc/yum.repos.d/_copr_rok-cdemu.repo https://copr.fedorainfracloud.org/coprs/rok/cdemu/repo/fedora-"${FEDORA_MAJOR_VERSION}"/rok-cdemu-fedora-"${FEDORA_MAJOR_VERSION}".rep && \ 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/_copr_ilyaz-lact.repo https://copr.fedorainfracloud.org/coprs/ilyaz/LACT/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ilyaz-LACT-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 \ diff --git a/system_files/deck/shared/usr/share/ublue-os/just/85-bazzite-image.just b/system_files/deck/shared/usr/share/ublue-os/just/85-bazzite-image.just index 7ed0898643..8d83f6900c 100644 --- a/system_files/deck/shared/usr/share/ublue-os/just/85-bazzite-image.just +++ b/system_files/deck/shared/usr/share/ublue-os/just/85-bazzite-image.just @@ -103,19 +103,21 @@ restore-input-remapper: sed -i '/NoDisplay=true/d' ~/.local/share/applications/input-remapper-gtk.desktop # Install firmware files needed for ayaneo and orangepi speakers -install-speaker-firmare: +install-speaker-firmware ACTION="": #!/bin/bash - BASE_DIR="https://raw.githubusercontent.com/hhd-dev/hwinfo/master/firmware/" - INSTALL_DIR="/usr/local/firmware" - if [ ! -d "$INSTALL_DIR" ]; then - sudo mkdir -p $INSTALL_DIR + source /usr/lib/ujust/ujust.sh + OPTION={{ ACTION }} + FIRMWARE_SCRIPT="https://raw.githubusercontent.com/hhd-dev/hwinfo/refs/heads/master/firmware/bazzite-speaker.sh" + curl -o "/tmp/bazzite-speaker.sh" "$FIRMWARE_SCRIPT" && cat /tmp/bazzite-speaker.sh | pygmentize -l bash -O style=emacs + echo "" + echo "Run the above script using elevated permissions?" + if [ "$OPTION" == "" ]; then + OPTION=$(Choose "Yes" "No") + fi + if [[ "${OPTION,,}" =~ ^yes || "${OPTION,,}" =~ ^-y ]]; then + sudo bash /tmp/bazzite-speaker.sh fi - sudo wget -O $INSTALL_DIR/aw87xxx_acf_air1s.bin $BASE_DIR/awinic/aw87xxx_acf_air1s.bin - sudo wget -O $INSTALL_DIR/aw87xxx_acf_airplus.bin $BASE_DIR/awinic/aw87xxx_acf_airplus.bin - sudo wget -O $INSTALL_DIR/aw87xxx_acf_flip.bin $BASE_DIR/awinic/aw87xxx_acf_flip.bin - sudo wget -O $INSTALL_DIR/aw87xxx_acf_kun.bin $BASE_DIR/awinic/aw87xxx_acf_kun.bin - sudo wget -O $INSTALL_DIR/aw87xxx_acf_minipro.bin $BASE_DIR/awinic/aw87xxx_acf_minipro.bin - sudo wget -O $INSTALL_DIR/aw87xxx_acf_orangepi.bin $BASE_DIR/awinic/aw87xxx_acf_orangepi.bin + rm /tmp/bazzite-speaker.sh # Install hhd main branch locally until reboot, helpful for hhd testing and debugging. (rename to install-hhd-dev if we unhide) _hhd-dev: diff --git a/system_files/desktop/shared/etc/ublue-os/topgrade.toml b/system_files/desktop/shared/etc/ublue-os/topgrade.toml index 490a32aaf5..6126ea8a79 100644 --- a/system_files/desktop/shared/etc/ublue-os/topgrade.toml +++ b/system_files/desktop/shared/etc/ublue-os/topgrade.toml @@ -1,4 +1,3 @@ [commands] -"Linux AMDGPU Control Application" = "/usr/libexec/topgrade/lact-update" "Mozilla GNOME Themes" = "/usr/libexec/topgrade/mozilla-gnome-theme-update" "Third Party CSS Loader Themes" = "/usr/libexec/topgrade/third-party-css-loader-update" diff --git a/system_files/desktop/shared/usr/bin/bazzite-steam b/system_files/desktop/shared/usr/bin/bazzite-steam index 6dce7a52f6..a45ed393fb 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-steam +++ b/system_files/desktop/shared/usr/bin/bazzite-steam @@ -32,7 +32,7 @@ if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" ]]; then DECK_OPTION="-steamdeck" # HHD Support - if ! /usr/libexec/valve-hardware; then + if ! /usr/libexec/hwsupport/valve-hardware; then export SDL_GAMECONTROLLERCONFIG="060000000d0f00009601000000000000,Steam Controller (HHD),a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,paddle1:b13,paddle2:b12,paddle3:b15,paddle4:b14,misc2:b11,misc3:b16,misc4:b17,crc:ea35," fi diff --git a/system_files/desktop/shared/usr/bin/protontricks-launch b/system_files/desktop/shared/usr/bin/protontricks-launch new file mode 100644 index 0000000000..4d36472d92 --- /dev/null +++ b/system_files/desktop/shared/usr/bin/protontricks-launch @@ -0,0 +1,2 @@ +#!/usr/bin/bash +/usr/bin/flatpak run --command=protontricks-launch com.github.Matoking.protontricks "$@" diff --git a/system_files/desktop/shared/usr/libexec/topgrade/lact-update b/system_files/desktop/shared/usr/libexec/topgrade/lact-update deleted file mode 100755 index 424209b1be..0000000000 --- a/system_files/desktop/shared/usr/libexec/topgrade/lact-update +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/bash -shopt -s nullglob - -IMAGE_INFO="/usr/share/ublue-os/image-info.json" -BASE_IMAGE_NAME=$(jq -r '."base-image-name"' < $IMAGE_INFO) - -echo "Looking for updates..." - -if [[ $(rpm -qa | grep lact) ]]; then - LACT_VERSION=$(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | jq -r '.tag_name | ltrimstr("v")') - if [[ ! $(rpm-ostree status --booted | grep lact | grep $LACT_VERSION) ]]; then - # This will check if *any* rpm-ostree pin has the newest version, so we don't update needlessly if a user just needs to reboot or is trying an older pin. - echo "Found upstream version v$LACT_VERSION, updating..." - ublue-update --wait - PACKAGE="lact" - if [[ ${BASE_IMAGE_NAME} == 'kinoite' ]]; then - echo 'Installing LACT...' - wget \ - $(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | \ - jq -r ".assets[] | select(.name | test(\"lact-[0-9].*fedora-$(rpm -E %fedora)\")) | .browser_download_url") \ - -O /tmp/lact.rpm - else - echo 'Installing LACT Libadwaita...' - wget \ - $(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | \ - jq -r ".assets[] | select(.name | test(\"lact-libadwaita.*fedora-$(rpm -E %fedora)\")) | .browser_download_url") \ - -O /tmp/lact.rpm - PACKAGE="lact-libadwaita" - fi - rpm-ostree remove "$PACKAGE" - rpm-ostree install /tmp/lact.rpm - echo "Update complete" - fi -else - echo "LACT not installed, skipping." -fi - -exit 0 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 1e7e82e9ca..99d798e048 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 @@ -79,6 +79,25 @@ enable-displaylink: enable-tailscale: systemctl enable --now tailscaled.service +# toggles password prompt feedback in terminal, where sudo password prompts will display asterisks when enabled +toggle-password-feedback ACTION="": + #!/usr/bin/bash + PWFEEDBACK_FILE="/etc/sudoers.d/enable-pwfeedback" + OPTION={{ ACTION }} + if [ "$OPTION" = "on" ]; then + echo 'Defaults pwfeedback' | sudo tee $PWFEEDBACK_FILE + echo "enabled, restart terminal to see changes" + elif [ "$OPTION" = "off" ]; then + sudo rm -f $PWFEEDBACK_FILE + echo "disabled pwfeedback. restart your terminal to see changes" + elif sudo test -f $PWFEEDBACK_FILE; then + sudo rm -f $PWFEEDBACK_FILE + echo "disabled pwfeedback. restart your terminal to see changes" + else + echo 'Defaults pwfeedback' | sudo tee $PWFEEDBACK_FILE + echo "enabled, restart terminal to see changes" + fi + # 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/shared/usr/share/ublue-os/just/82-bazzite-apps.just b/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-apps.just index 8aa8cde2d9..ee0088cf78 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-apps.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-apps.just @@ -3,27 +3,12 @@ # Install LACT for overclocking & undervolting AMD GPUs install-lact: #!/usr/bin/bash - IMAGE_INFO="/usr/share/ublue-os/image-info.json" - BASE_IMAGE_NAME=$(jq -r '."base-image-name"' < $IMAGE_INFO) - ublue-update --wait - rpm-ostree kargs --append-if-missing=$(printf 'amdgpu.ppfeaturemask=0x%x\n' "$(($(cat /sys/module/amdgpu/parameters/ppfeaturemask) | 0x4000))") - if [[ ${BASE_IMAGE_NAME} == 'silverblue' ]]; then - echo 'Installing LACT Libadwaita...' - wget \ - $(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | \ - jq -r ".assets[] | select(.name | test(\"lact-libadwaita.*fedora-$(rpm -E %fedora)\")) | .browser_download_url") \ - -O /tmp/lact.rpm - else - echo 'Installing LACT...' - wget \ - $(curl -s https://api.github.com/repos/ilya-zlobintsev/LACT/releases/latest | \ - jq -r ".assets[] | select(.name | test(\"lact-[0-9].*fedora-$(rpm -E %fedora)\")) | .browser_download_url") \ - -O /tmp/lact.rpm - fi - rpm-ostree install --apply-live -y /tmp/lact.rpm - sudo systemctl enable --now lactd - rm /tmp/lact.rpm - echo 'Complete.' + if [[ ${BASE_IMAGE_NAME} == 'silverblue' ]]; then + rpm-ostree install lact-libadwaita + else + rpm-ostree install lact + fi + sudo systemctl enable --now lactd # Install CoolerControl, a GUI for viewing all your system's sensors and for creating custom fan and pump profiles based on any available temperature sensor28 install-coolercontrol: