From d7eaee931abefa315eec4d64a35a8ac8945874fe Mon Sep 17 00:00:00 2001 From: Pat Connors <121328689+nicknamenamenick@users.noreply.github.com> Date: Sat, 18 Jan 2025 13:02:57 -0500 Subject: [PATCH 1/7] chore(yafti): Remove scrcpy from the Bazzite Portal (#2139) * Remove scrcpy from Bazzite Portal (desktop) Too large of a download to setup a container for a first-time setup utility which confuses new users when the device goes to sleep and it breaks among other issues. * Remove scrcpy from Bazzite Portal (deck) Too large of a download to setup a container for a first-time setup utility which confuses new users when the device goes to sleep and it breaks among other issues. --- .../deck/shared/usr/share/ublue-os/firstboot/yafti.yml | 5 ----- .../desktop/shared/usr/share/ublue-os/firstboot/yafti.yml | 5 ----- 2 files changed, 10 deletions(-) diff --git a/system_files/deck/shared/usr/share/ublue-os/firstboot/yafti.yml b/system_files/deck/shared/usr/share/ublue-os/firstboot/yafti.yml index ec1aff6d..33dacad4 100644 --- a/system_files/deck/shared/usr/share/ublue-os/firstboot/yafti.yml +++ b/system_files/deck/shared/usr/share/ublue-os/firstboot/yafti.yml @@ -37,11 +37,6 @@ screens: default: false packages: - Install Resilio Sync: ujust install-resilio-sync - scrcpy: - description: scrcpy provides display and control of Android devices connected on USB (or over TCP/IP) - default: false - packages: - - Install scrcpy: ujust install-scrcpy configure-bazzite: source: yafti.screen.package values: diff --git a/system_files/desktop/shared/usr/share/ublue-os/firstboot/yafti.yml b/system_files/desktop/shared/usr/share/ublue-os/firstboot/yafti.yml index 1d1dfcf9..1edc94d4 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/firstboot/yafti.yml +++ b/system_files/desktop/shared/usr/share/ublue-os/firstboot/yafti.yml @@ -32,11 +32,6 @@ screens: default: false packages: - Install Resilio Sync: ujust install-resilio-sync - scrcpy: - description: scrcpy provides display and control of Android devices connected on USB (or over TCP/IP) - default: false - packages: - - Install scrcpy: ujust install-scrcpy lact: description: LACT provides GPU overclocking for AMD & Nvidia GPUs default: false From bc7246648771d6cec5028b3c02b9785dcfb903c9 Mon Sep 17 00:00:00 2001 From: Zeglius <33781398+Zeglius@users.noreply.github.com> Date: Sat, 18 Jan 2025 19:47:31 +0100 Subject: [PATCH 2/7] fix(docs): Replace offline docs build action (attempt 3) (#2112) * fix(deck): Add new override videos to the just (#2100) * chore(repo): Update opengraph images * Revert "feat: Update to kernel 6.12.8-207" This reverts commit b645716f84e71cb2cbd4725a1d333657fb99b6ba. * chore(deps): update wandalen/wretry.action action to v3.8.0 (#2095) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add new override videos --------- Co-authored-by: Kyle Gospodnetich Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(docs): Replace offline docs build action (attempt 3) This centralizes the logic to build the docs in a single repo (https://github.com/KyleGospo/docs.bazzite.gg) and fixes offline docs not building --------- Co-authored-by: Sean Co-authored-by: Kyle Gospodnetich Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- .github/workflows/build_mkdocs/action.yml | 95 ------------------- .../share/ublue-os/just/85-bazzite-image.just | 2 + 3 files changed, 3 insertions(+), 96 deletions(-) delete mode 100644 .github/workflows/build_mkdocs/action.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c3668b9..ede25e28 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -175,7 +175,7 @@ jobs: run: rm -r ${{ github.workspace }}/docs && git clone https://github.com/KyleGospo/docs.bazzite.gg.git ${{ github.workspace }}/docs continue-on-error: true - name: Build offline documentation - uses: ./.github/workflows/build_mkdocs + uses: KyleGospo/docs.bazzite.gg@main continue-on-error: true with: github_token: ${{ github.token }} diff --git a/.github/workflows/build_mkdocs/action.yml b/.github/workflows/build_mkdocs/action.yml deleted file mode 100644 index d67c7898..00000000 --- a/.github/workflows/build_mkdocs/action.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: Build mkdocs -description: Parametrized mkdocs building - -inputs: - github_token: - description: github token - required: true - - site_url: - description: Set `MKDOCS_SITE_URL` env var - default: "" - required: true - - working_dir: - description: Parent directory that contains mkdocs.yml - default: ${{ github.workspace }}/docs - - output_dir: - description: Where we will output the resulting webpage - default: ${{ github.workspace }}/book - - upload_github_page: - description: Upload github-page - default: "false" - - repo_url: - description: URL of the repo - default: ${{ github.server_url }}/${{ github.repository }} - -outputs: - artifact_id: - description: "Artifact id uploaded (is an empty string in case of `upload_github_page: false`)" - value: ${{ steps.upload-artifact.outputs.artifact_id }} - -runs: - using: composite - steps: - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install Poetry - uses: abatilo/actions-poetry@v4 - - - name: Configure Poetry - working-directory: ${{ inputs.working_dir }} - shell: bash - run: | - poetry config virtualenvs.create true --local - poetry config virtualenvs.in-project true --local - - - name: Poetry install deps - shell: bash - working-directory: ${{ inputs.working_dir }} - run: poetry install - - - name: Build book - shell: bash - working-directory: ${{ inputs.working_dir }} - env: - MKDOCS_SITE_URL: ${{ inputs.site_url }} - MKDOCS_REPO_URL: ${{ inputs.repo_url }} - _OUTPUT_DIR: ${{ inputs.output_dir }} - run: | - source .venv/bin/activate - max_tries=3 - is_ok=0 - while [[ $max_tries -gt 0 && is_ok -ne 1 ]]; do - if ! mkdocs build --verbose -d $_OUTPUT_DIR; then - max_tries=$(( $max_tries -1 )) - else - is_ok=1 - fi - done - - - name: Setup Pages - if: ${{ inputs.upload_github_page == 'true' }} - uses: actions/configure-pages@v5 - with: - token: ${{ inputs.github_token }} - - - name: Upload artifact - if: ${{ inputs.upload_github_page == 'true' }} - uses: actions/upload-pages-artifact@v3 - id: upload-artifact - with: - path: ${{ inputs.output_dir }} - token: ${{ inputs.github_token }} - - - name: Deploy to GitHub Pages - if: ${{ inputs.upload_github_page == 'true' }} - id: deployment - uses: actions/deploy-pages@v4 - with: - token: ${{ inputs.github_token }} 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 fa688c08..5d314b63 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 @@ -172,6 +172,8 @@ configure-override-videos ACTION="": rm $HOME/.local/share/Steam/config/uioverrides/movies/deck_startup.webm rm $HOME/.local/share/Steam/config/uioverrides/movies/deck-suspend-animation.webm rm $HOME/.local/share/Steam/config/uioverrides/movies/deck-suspend-animation-from-throbber.webm + rm $HOME/.local/share/Steam/config/uioverrides/movies/steam_os_suspend.webm + rm $HOME/.local/share/Steam/config/uioverrides/movies/steam_os_suspend_from_throbber.webm fi # Restores the stock virtual keyboard under KDE & GNOME From f636184f507b3cf0456ea6afa6da1185b7fe878c Mon Sep 17 00:00:00 2001 From: JSON Derulo <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Sun, 19 Jan 2025 12:11:35 -0500 Subject: [PATCH 3/7] feat: more readable ujust changelogs (#2137) * feat: more readable ujust changelogs * fix: simplified just recipe --- .../desktop/shared/usr/share/ublue-os/just/10-update.just | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just b/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just index 1ead09cf..c3612690 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just @@ -40,8 +40,12 @@ alias changelog := changelogs # Show the stable changelog changelogs: - curl -s https://api.github.com/repos/ublue-os/bazzite/releases/latest | jq -r '.body' + #!/usr/bin/bash + CONTENT=$(curl -s https://api.github.com/repos/ublue-os/bazzite/releases/latest | jq -r '.body') + echo "$CONTENT" | glow - # Show the testing (pre-release) changelog changelogs-testing: - curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body' + #!/usr/bin/bash + CCONTENT=$(curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body') + echo "$CONTENT" | glow - From e1a531cf8dd0b4c81b7a8d6ac0ac402aee9fa648 Mon Sep 17 00:00:00 2001 From: Aarron Lee Date: Sun, 19 Jan 2025 12:12:10 -0500 Subject: [PATCH 4/7] feat(waydroid): add force waydroid restart shortcut (#2131) Co-authored-by: Aarron Lee --- .../shared/usr/libexec/waydroid-container-restart | 3 +++ .../applications/waydroid-container-restart.desktop | 8 ++++++++ .../polkit-1/actions/org.bazzite.waydroid.policy | 11 +++++++++++ .../usr/share/polkit-1/rules.d/30-waydroid.rules | 1 + .../usr/share/ublue-os/just/82-bazzite-waydroid.just | 1 + 5 files changed, 24 insertions(+) create mode 100755 system_files/desktop/shared/usr/libexec/waydroid-container-restart create mode 100755 system_files/desktop/shared/usr/share/applications/waydroid-container-restart.desktop diff --git a/system_files/desktop/shared/usr/libexec/waydroid-container-restart b/system_files/desktop/shared/usr/libexec/waydroid-container-restart new file mode 100755 index 00000000..17f61eda --- /dev/null +++ b/system_files/desktop/shared/usr/libexec/waydroid-container-restart @@ -0,0 +1,3 @@ +#!/usr/bin/bash + +sudo waydroid container restart \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/applications/waydroid-container-restart.desktop b/system_files/desktop/shared/usr/share/applications/waydroid-container-restart.desktop new file mode 100755 index 00000000..be6cbf14 --- /dev/null +++ b/system_files/desktop/shared/usr/share/applications/waydroid-container-restart.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Force Restart Waydroid +Exec=pkexec /usr/libexec/waydroid-container-restart +Categories=X-WayDroid-App; +X-Purism-FormFactor=Workstation;Mobile; +Icon=waydroid +NoDisplay=false \ No newline at end of file diff --git a/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy b/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy index ab18119d..fada7b9a 100644 --- a/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy +++ b/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.waydroid.policy @@ -28,6 +28,17 @@ /usr/libexec/waydroid-container-stop + + Restart Waydroid Container + package-x-generic + + yes + yes + yes + + /usr/libexec/waydroid-container-restart + + Fix Controllers in Waydroid package-x-generic diff --git a/system_files/desktop/shared/usr/share/polkit-1/rules.d/30-waydroid.rules b/system_files/desktop/shared/usr/share/polkit-1/rules.d/30-waydroid.rules index 91d74c48..2e54b858 100644 --- a/system_files/desktop/shared/usr/share/polkit-1/rules.d/30-waydroid.rules +++ b/system_files/desktop/shared/usr/share/polkit-1/rules.d/30-waydroid.rules @@ -1,6 +1,7 @@ polkit.addRule(function(action, subject) { if ((action.id == "org.bazzite.policykit.waydroid.container.start" || action.id == "org.bazzite.policykit.waydroid.container.stop" || + action.id == "org.bazzite.policykit.waydroid.container.restart" || action.id == "org.bazzite.policykit.waydroid.fix.controllers") && subject.isInGroup("wheel")) { return polkit.Result.YES; diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-waydroid.just b/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-waydroid.just index 0f5846a3..b2222121 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-waydroid.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/82-bazzite-waydroid.just @@ -29,6 +29,7 @@ setup-waydroid ACTION="": fi sudo waydroid init -c 'https://ota.waydro.id/system' -v 'https://ota.waydro.id/vendor' sudo restorecon -R /var/lib/waydroid + cp /usr/share/applications/waydroid-container-restart.desktop ~/.local/share/applications echo "Waydroid has been initialized, please run waydroid once before you Configure Waydroid" elif [[ "${OPTION,,}" =~ ^configure ]]; then git clone https://github.com/ublue-os/waydroid_script.git --depth 1 /tmp/waydroid_script From c22bc3fd9009f38322b6885edbb89bbe525786d4 Mon Sep 17 00:00:00 2001 From: JSON Derulo <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Sun, 19 Jan 2025 13:14:06 -0500 Subject: [PATCH 5/7] feat(fixes): add toggle-i915-sleep-fix script for power-saving issues #2073) (#2145) * feat(fixes): add toggle-i915-sleep-fix script for power-saving issues (#2073) * chore: syntax cleanup * chore: forgot a commented out line * feat: add missing kargs for higher power saving * rm DS_store --- .../share/ublue-os/just/81-bazzite-fixes.just | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/81-bazzite-fixes.just b/system_files/desktop/shared/usr/share/ublue-os/just/81-bazzite-fixes.just index a1ca9885..bdb6bff4 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/81-bazzite-fixes.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/81-bazzite-fixes.just @@ -87,3 +87,83 @@ toggle-bt-mic: else echo "No changes were made." fi + +toggle-i915-sleep-fix: + #!/usr/bin/bash + # Explain the purpose of the script + echo -e "This script manages the i915.enable_dc kernel parameter, which controls a power-saving feature for Intel graphics" + echo -e "Enabling this setting can reduce power consumption, but may cause issues like random reboots or failed suspend on certain devices" + echo -e "Disabling it ensures stability at the cost of slightly higher power usage" + # Get the current i915.enable_dc setting + get_current_status() { + local karg_status + karg_status=$(cat /proc/cmdline | grep -o 'i915.enable_dc=[-0-9]' | cut -d= -f2) + if [[ -z "$karg_status" ]]; then + echo "Not Set" + else + echo "$karg_status" + fi + } + # Toggle i915.enable_dc kernel parameter + update_karg() { + local new_value=$1 + if [[ $new_value -ge 0 && $new_value -le 4 ]]; then + echo -e "\nYou are setting power-saving mode (i915.enable_dc=$new_value).\n" + if [[ $new_value -eq 0 ]]; then + echo -e "This disables power-saving mode and prioritizes stability.\n" + elif [[ $new_value -eq 1 ]]; then + echo -e "This enables basic power-saving mode but may cause minor stability issues.\n" + elif [[ $new_value -ge 2 ]]; then + echo -e "This enables higher levels of power-saving mode, which may impact stability further.\n" + fi + elif [[ $new_value -eq -1 ]]; then + echo -e "\nYou are setting power-saving mode to auto (i915.enable_dc=-1).\n" + else + echo -e "\nInvalid value for i915.enable_dc. Please choose a valid value.\n" + return + fi + sudo rpm-ostree kargs --replace "i915.enable_dc=$new_value" + echo -e "Kernel parameter updated. Reboot required to apply changes." + } + # Display current status + current_status=$(get_current_status) + echo -e "\nCurrent i915.enable_dc setting: $current_status\n" + # Prompt user for action + CHOICE=$(ugum choose "Set to Auto (i915.enable_dc=-1)" "Disable Power Saving (i915.enable_dc=0)" "Set to Level 1 (i915.enable_dc=1)" "Set to Level 2 (i915.enable_dc=2)" "Set to Level 3 (i915.enable_dc=3)" "Set to Level 4 (i915.enable_dc=4)" "Unset Parameter" "Exit without changes") + case "$CHOICE" in + "Set to Auto (i915.enable_dc=-1)") + echo "Setting power-saving mode to auto (i915.enable_dc=-1)..." + update_karg -1 + ;; + "Disable Power Saving (i915.enable_dc=0)") + echo "Disabling power-saving mode (i915.enable_dc=0)..." + update_karg 0 + ;; + "Set to Level 1 (i915.enable_dc=1)") + echo "Setting power-saving mode to level 1 (i915.enable_dc=1)..." + update_karg 1 + ;; + "Set to Level 2 (i915.enable_dc=2)") + echo "Setting power-saving mode to level 2 (i915.enable_dc=2)..." + update_karg 2 + ;; + "Set to Level 3 (i915.enable_dc=3)") + echo "Setting power-saving mode to level 3 (i915.enable_dc=3)..." + update_karg 3 + ;; + "Set to Level 4 (i915.enable_dc=4)") + echo "Setting power-saving mode to level 4 (i915.enable_dc=4)..." + update_karg 4 + ;; + "Unset Parameter") + echo "Unsetting i915.enable_dc..." + sudo rpm-ostree kargs --delete "i915.enable_dc=[-0-9]" + echo -e "Kernel parameter unset. Reboot required to apply changes." + ;; + "Exit without changes") + echo "No changes made." + ;; + *) + echo "Invalid choice. Exiting without changes." + ;; + esac From de806bdd5c71d9917ace25610f98760c2fc9c332 Mon Sep 17 00:00:00 2001 From: dreamyuki <49896401+dreamyukii@users.noreply.github.com> Date: Mon, 20 Jan 2025 01:14:43 +0700 Subject: [PATCH 6/7] feat: change openrazer just recipe (#2136) * feat: change openrazer just recipe and use polychromatic and razer genie from flathub * fix: small things on openrabtledriver recipe --- .../share/ublue-os/just/82-bazzite-apps.just | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) 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 85010ee8..9945003a 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 @@ -32,13 +32,32 @@ install-steamcmd: # Install OpenRazer for Razer gaming hardware install-openrazer: - sudo wget https://download.opensuse.org/repositories/hardware:/razer/Fedora_$(rpm -E %fedora)/hardware:razer.repo -O /etc/yum.repos.d/hardware:razer.repo && \ + #!/usr/bin/bash + source /usr/lib/ujust/ujust.sh + OPENRAZER_CONFIGURATOR_APP="None of openrazer frontend apps" + sudo curl -Lo /etc/yum.repos.d/hardware:razer.repo https://openrazer.github.io/hardware:razer.repo && \ ublue-update --wait && \ - rpm-ostree install -y openrazer-meta razergenie && \ - if ! grep -q "plugdev" /etc/group; then \ + rpm-ostree install -y openrazer-daemon && \ + if ! grep -q "plugdev" /etc/group; then \ sudo bash -c 'grep "plugdev" /lib/group >> /etc/group' \ ; fi && \ sudo usermod -a -G plugdev $USER && \ + echo "${bold}Select OpenRazer Frontend Apps${normal}" + OPTION=$(Choose "Razer Genie" "Polychromatic" "None") + if [[ "${OPTION,,}" =~ ^razer[[:space:]]genie ]]; then + echo "Installing Razer Genie..." + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak --system install -y flathub xyz.z3ntu.razergenie + OPENRAZER_CONFIGURATOR_APP="Razer Genie" + elif [[ "${OPTION,,}" =~ ^polychromatic ]]; then + echo "Installing Polychromatic..." + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak --system install -y flathub app.polychromatic.controller + OPENRAZER_CONFIGURATOR_APP="Polychromatic" + else + echo "Not Selecting GUI Frontend" + fi + echo "$OPENRAZER_CONFIGURATOR_APP is installed" echo "Please reboot to apply needed changes." # Install EmuDeck (https://www.emudeck.com/) @@ -136,7 +155,8 @@ install-opentabletdriver: flatpak --system install -y flathub net.opentabletdriver.OpenTabletDriver && \ mkdir -p $HOME/.config/OpenTabletDriver && \ flatpak override --user --filesystem=xdg-config/OpenTabletDriver net.opentabletdriver.OpenTabletDriver && \ - curl -s https://raw.githubusercontent.com/flathub/net.opentabletdriver.OpenTabletDriver/refs/heads/master/scripts/opentabletdriver.service > ~/.config/systemd/user/opentabletdriver.service && \ + mkdir -p $HOME/.config/systemd/user && \ + curl -s https://raw.githubusercontent.com/flathub/net.opentabletdriver.OpenTabletDriver/refs/heads/master/scripts/opentabletdriver.service > $HOME/.config/systemd/user/opentabletdriver.service && \ systemctl --user daemon-reload && \ systemctl enable --user --now opentabletdriver.service From 063d7af27a3a9553aaad6f515da08c4b54b98a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gir=C3=B3n?= Date: Mon, 20 Jan 2025 16:54:39 +0100 Subject: [PATCH 7/7] fix typo (#2157) --- .../desktop/shared/usr/share/ublue-os/just/10-update.just | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just b/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just index c3612690..59a4a3ba 100644 --- a/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just +++ b/system_files/desktop/shared/usr/share/ublue-os/just/10-update.just @@ -47,5 +47,5 @@ changelogs: # Show the testing (pre-release) changelog changelogs-testing: #!/usr/bin/bash - CCONTENT=$(curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body') + CONTENT=$(curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body') echo "$CONTENT" | glow -