Merge branch 'main' into testing

This commit is contained in:
Kyle Gospodnetich 2025-01-20 09:17:12 -08:00
commit 2e16fc50f7
12 changed files with 140 additions and 118 deletions

View File

@ -171,7 +171,7 @@ jobs:
# Prepare offline documentation # Prepare offline documentation
- id: download_offline_docs - id: download_offline_docs
continue-on-error: true continue-on-error: true
env: env:
docs_repo: KyleGospo/docs.bazzite.gg docs_repo: KyleGospo/docs.bazzite.gg
run: | run: |
DOCS_DIR="${{ github.workspace }}/system_files/desktop/shared/usr/share/ublue-os/docs/html" DOCS_DIR="${{ github.workspace }}/system_files/desktop/shared/usr/share/ublue-os/docs/html"

View File

@ -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 }}

View File

@ -37,11 +37,6 @@ screens:
default: false default: false
packages: packages:
- Install Resilio Sync: ujust install-resilio-sync - 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: configure-bazzite:
source: yafti.screen.package source: yafti.screen.package
values: values:

View File

@ -0,0 +1,3 @@
#!/usr/bin/bash
sudo waydroid container restart

View File

@ -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

View File

@ -28,6 +28,17 @@
<annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/waydroid-container-stop</annotate> <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/waydroid-container-stop</annotate>
</action> </action>
<action id="org.bazzite.policykit.waydroid.container.restart">
<description>Restart Waydroid Container</description>
<icon_name>package-x-generic</icon_name>
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/waydroid-container-restart</annotate>
</action>
<action id="org.bazzite.policykit.waydroid.fix.controllers"> <action id="org.bazzite.policykit.waydroid.fix.controllers">
<description>Fix Controllers in Waydroid</description> <description>Fix Controllers in Waydroid</description>
<icon_name>package-x-generic</icon_name> <icon_name>package-x-generic</icon_name>

View File

@ -1,6 +1,7 @@
polkit.addRule(function(action, subject) { polkit.addRule(function(action, subject) {
if ((action.id == "org.bazzite.policykit.waydroid.container.start" || if ((action.id == "org.bazzite.policykit.waydroid.container.start" ||
action.id == "org.bazzite.policykit.waydroid.container.stop" || action.id == "org.bazzite.policykit.waydroid.container.stop" ||
action.id == "org.bazzite.policykit.waydroid.container.restart" ||
action.id == "org.bazzite.policykit.waydroid.fix.controllers") && action.id == "org.bazzite.policykit.waydroid.fix.controllers") &&
subject.isInGroup("wheel")) { subject.isInGroup("wheel")) {
return polkit.Result.YES; return polkit.Result.YES;

View File

@ -32,11 +32,6 @@ screens:
default: false default: false
packages: packages:
- Install Resilio Sync: ujust install-resilio-sync - 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: lact:
description: LACT provides GPU overclocking for AMD & Nvidia GPUs description: LACT provides GPU overclocking for AMD & Nvidia GPUs
default: false default: false

View File

@ -40,8 +40,12 @@ alias changelog := changelogs
# Show the stable changelog # Show the stable changelog
changelogs: 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 # Show the testing (pre-release) changelog
changelogs-testing: changelogs-testing:
curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body' #!/usr/bin/bash
CONTENT=$(curl -s https://api.github.com/repos/ublue-os/bazzite/releases | jq -r 'map(select(.prerelease)) | .[0].body')
echo "$CONTENT" | glow -

View File

@ -87,3 +87,83 @@ toggle-bt-mic:
else else
echo "No changes were made." echo "No changes were made."
fi 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

View File

@ -32,13 +32,32 @@ install-steamcmd:
# Install OpenRazer for Razer gaming hardware # Install OpenRazer for Razer gaming hardware
install-openrazer: 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 && \ ublue-update --wait && \
rpm-ostree install -y openrazer-meta razergenie && \ rpm-ostree install -y openrazer-daemon && \
if ! grep -q "plugdev" /etc/group; then \ if ! grep -q "plugdev" /etc/group; then \
sudo bash -c 'grep "plugdev" /lib/group >> /etc/group' \ sudo bash -c 'grep "plugdev" /lib/group >> /etc/group' \
; fi && \ ; fi && \
sudo usermod -a -G plugdev $USER && \ 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." echo "Please reboot to apply needed changes."
# Install EmuDeck (https://www.emudeck.com/) # Install EmuDeck (https://www.emudeck.com/)
@ -131,13 +150,13 @@ install-scrcpy: distrobox-check-fedora
install-opentabletdriver: install-opentabletdriver:
#!/usr/bin/bash #!/usr/bin/bash
source /usr/lib/ujust/ujust.sh source /usr/lib/ujust/ujust.sh
if grep -qvz "arch" <<< $(distrobox list); then \ echo "Installing OpenTabletDriver..."
Assemble noconfirmcreate "" "arch"; \ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && \
fi && \ flatpak --system install -y flathub net.opentabletdriver.OpenTabletDriver && \
distrobox enter -n arch -- bash -c 'paru -Syu --noconfirm && paru -S opentabletdriver --noconfirm' && \ mkdir -p $HOME/.config/OpenTabletDriver && \
mkdir -p ~/.config/systemd/user/ && \ flatpak override --user --filesystem=xdg-config/OpenTabletDriver net.opentabletdriver.OpenTabletDriver && \
rm -f ~/.config/systemd/user/arch-opentabletdriver.service && \ mkdir -p $HOME/.config/systemd/user && \
wget https://raw.githubusercontent.com/ublue-os/bazzite/main/post_install_files/OpenTabletDriver/opentabletdriver.service -O ~/.config/systemd/user/arch-opentabletdriver.service && \ 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 --user daemon-reload && \
systemctl enable --user --now arch-opentabletdriver.service && \ systemctl enable --user --now arch-opentabletdriver.service && \
distrobox enter -n arch -- bash -c 'distrobox-export --app otd-gui' distrobox enter -n arch -- bash -c 'distrobox-export --app otd-gui'

View File

@ -29,6 +29,7 @@ setup-waydroid ACTION="":
fi fi
sudo waydroid init -c 'https://ota.waydro.id/system' -v 'https://ota.waydro.id/vendor' sudo waydroid init -c 'https://ota.waydro.id/system' -v 'https://ota.waydro.id/vendor'
sudo restorecon -R /var/lib/waydroid 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" echo "Waydroid has been initialized, please run waydroid once before you Configure Waydroid"
elif [[ "${OPTION,,}" =~ ^configure ]]; then elif [[ "${OPTION,,}" =~ ^configure ]]; then
git clone https://github.com/ublue-os/waydroid_script.git --depth 1 /tmp/waydroid_script git clone https://github.com/ublue-os/waydroid_script.git --depth 1 /tmp/waydroid_script