Skip to content

Commit

Permalink
Merge pull request #59 from ublue-os/main
Browse files Browse the repository at this point in the history
[pull] main from ublue-os:main
  • Loading branch information
pull[bot] authored Apr 28, 2024
2 parents 2143de1 + 1376dbf commit 1e46c0b
Show file tree
Hide file tree
Showing 19 changed files with 116 additions and 38 deletions.
36 changes: 24 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,18 +189,29 @@ jobs:
podman pull ${{ env.IMAGE_REGISTRY }}/akmods:${{ matrix.kernel_flavor}}-${{ matrix.fedora_version }}
podman pull ${{ env.IMAGE_REGISTRY }}/akmods-nvidia:${{ matrix.kernel_flavor}}-${{ matrix.fedora_version }}
- name: Get kernel version
- name: Get source versions
id: labels
shell: bash
run: |
set -eo pipefail
skopeo inspect docker://${{ env.IMAGE_REGISTRY }}/akmods:${{ matrix.kernel_flavor }}-${{ matrix.fedora_version }} > akmods.json
linux=$(jq -r '.Labels["ostree.linux"]' akmods.json)
if [ -z "$linux" ] || [ "null" = "$linux" ]; then
echo "inspected image linux version must not be empty or null"
exit 1
fi
echo "KERNEL_VERSION=$linux" >> $GITHUB_ENV
uses: Wandalen/[email protected]
with:
attempt_limit: 3
attempt_delay: 15000
command: |
set -eo pipefail
skopeo inspect docker://${{ env.IMAGE_REGISTRY }}/${{ matrix.base_image_name }}-${{ matrix.base_image_flavor }}:${{ matrix.fedora_version }} > source.json
ver=$(jq -r '.Labels["org.opencontainers.image.version"]' source.json)
if [ -z "$ver" ] || [ "null" = "$ver" ]; then
echo "inspected image version must not be empty or null"
exit 1
fi
echo "SOURCE_IMAGE_VERSION=$ver" >> $GITHUB_ENV
skopeo inspect docker://${{ env.IMAGE_REGISTRY }}/akmods:${{ matrix.kernel_flavor }}-${{ matrix.fedora_version }} > akmods.json
linux=$(jq -r '.Labels["ostree.linux"]' akmods.json)
if [ -z "$linux" ] || [ "null" = "$linux" ]; then
echo "inspected image linux version must not be empty or null"
exit 1
fi
echo "KERNEL_VERSION=$linux" >> $GITHUB_ENV
# Build metadata
- name: Image Metadata
Expand All @@ -210,9 +221,10 @@ jobs:
images: |
${{ env.IMAGE_NAME }}
labels: |
ostree.linux=${{ env.KERNEL_VERSION }}
org.opencontainers.image.title=${{ env.IMAGE_NAME }}
org.opencontainers.image.description=Bazzite is an OCI image that serves as an alternative operating system for the Steam Deck, and a ready-to-game SteamOS-like for desktop computers, living room home theater PCs, and numerous other handheld PCs.
org.opencontainers.image.version=${{ env.SOURCE_IMAGE_VERSION }}
ostree.linux=${{ env.KERNEL_VERSION }}
io.artifacthub.package.readme-url=https://bazzite.gg/
io.artifacthub.package.logo-url=https://raw.githubusercontent.com/ublue-os/bazzite/main/repo_content/logo.png
Expand Down
4 changes: 2 additions & 2 deletions Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ RUN mkdir -p /tmp/linux-firmware-neptune && \
ostree container commit

# Add ublue packages, add needed negativo17 repo and then immediately disable due to incompatibility with RPMFusion
COPY --from=ghcr.io/ublue-os/akmods:${AKMODS_FLAVOR}-${FEDORA_MAJOR_VERSION} /rpms /tmp/akmods-rpms
COPY --from=ghcr.io/ublue-os/akmods-extra:${AKMODS_FLAVOR}-${FEDORA_MAJOR_VERSION} /rpms /tmp/akmods-rpms
COPY --from=ghcr.io/ublue-os/akmods:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} /rpms /tmp/akmods-rpms
COPY --from=ghcr.io/ublue-os/akmods-extra:${KERNEL_FLAVOR}-${FEDORA_MAJOR_VERSION} /rpms /tmp/akmods-rpms
RUN 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 \
Expand Down
5 changes: 4 additions & 1 deletion spec_files/kf6-kio/kf6-kio.spec
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

Name: kf6-%{framework}
Version: %{majmin_ver_kf6}.0
Release: 1%{?dist}.bazzite.{{{ git_dir_version }}}
Release: 2%{?dist}.bazzite.{{{ git_dir_version }}}
Summary: KDE Frameworks 6 Tier 3 solution for filesystem abstraction

License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT
Expand Down Expand Up @@ -223,6 +223,9 @@ Developer Documentation files for %{name} for use with KDevelop or QtCreator.
%{_qt6_docdir}/*.qch

%changelog
* Thu Apr 18 2024 Jan Grulich <[email protected]> - 6.1.0-2
- Rebuild (qt6)

* Wed Apr 10 2024 Marc Deop i Argemí <[email protected]> - 6.1.0-1
- 6.1.0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ process-scheduler enable=true {
// Preset process assignment profiles
assignments {
// Prevent crackling and distortion from the sound server
sound-server nice=-15 io=(realtime)0 {
sound-server nice=-19 sched=(fifo)89 io=(realtime)0 {
"/usr/bin/pipewire"
"/usr/bin/pipewire-pulse"
"/usr/bin/jackd"
"/usr/bin/wireplumber"
}

// Applications with realtime audio processing needs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[org/gnome/mutter]
experimental-features=['variable-refresh-rate']

[org/gnome/desktop/interface]
toolkit-accessibility=false
font-antialiasing='rgba'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*Want an animated wallpaper?* The Wallpaper Engine plugin for KDE is pre-installed~[View the usage guide](https://github.com/catsout/wallpaper-engine-kde-plugin#usage)
*Rather use KDE Konsole?* You can restore the application icon for it with `ujust restore-original-terminal`. Be sure to also change the default terminal in System Settings.
ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam.
*Want to customize and theme your desktop?* [Tweak your desktop by following our guide](https://universal-blue.discourse.group/docs?topic=574)
ProtonUp-Qt can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam.
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ process-scheduler enable=true {
// Preset process assignment profiles
assignments {
// Prevent crackling and distortion from the sound server
sound-server nice=-15 io=(realtime)0 {
sound-server nice=-19 sched=(fifo)89 io=(realtime)0 {
"/usr/bin/pipewire"
"/usr/bin/pipewire-pulse"
"/usr/bin/jackd"
"/usr/bin/wireplumber"
}

// Applications with realtime audio processing needs
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/bash
## setup auto-unlock LUKS2 encrypted root on Fedora/Silverblue/maybe others
## From https://github.com/bsherman/ublue-custom/blob/main/usr/bin/luks-enable-tpm2-autounlock
set -u

[ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1;}

read -p "This will modify your system and enable TPM2 auto-unlock of your LUKS partition! Are you sure you've read the script and are good with this? " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell
fi

## Inspect crypttab to find disk info, should look like this
#sudo cat /etc/crypttab
#luks-912462a2-39ce-abcd-1234-89c6c0304cb4 UUID=912462a2-39ce-abcd-1234-89c6c0304cb4 none discard
DISK_UUID=$(sudo awk '{ print $2 }' /etc/crypttab | cut -d= -f2)
CRYPT_DISK="/dev/disk/by-uuid/$DISK_UUID"

## Backup the crypttab
if [ -f /etc/crypttab.known-good ]; then
echo "Our backup already exists at /etc/crypttab.known-good\nExiting..."
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
cp -a /etc/crypttab /etc/crypttab.known-good

## modify the crypttab
grep tpm2-device /etc/crypttab > /dev/null
if [ 0 -eq $? ]; then
echo "TPM2 already present in /etc/crypttab. Exiting..."
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
sed -i "s/discard/discard,tpm2-device=auto/" /etc/crypttab

cryptsetup luksDump $CRYPT_DISK | grep systemd-tpm2 > /dev/null
if [ 0 -eq $? ]; then
KEYSLOT=$(cryptsetup luksDump $CRYPT_DISK|grep -A23 systemd-tpm2|grep Keyslot|awk '{print $2}')
echo "TPM2 already present in LUKS Keyslot $KEYSLOT of $CRYPT_DISK. Exiting..."
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi

## Run crypt enroll
echo "Enrolling TPM2 unlock requires your existing LUKS2 unlock password"
echo
systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 $CRYPT_DISK

## Now reboot
echo
echo "TPM2 LUKS auto-unlock configured. Reboot now."


# References:
# https://www.reddit.com/r/Fedora/comments/uo4ufq/any_way_to_get_systemdcryptenroll_working_on/
# https://0pointer.net/blog/unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,18 @@ install-gamemode-video:
rm -f $HOME/.local/share/Steam/config/uioverrides/movies/deck_startup.webm
cp /usr/share/ublue-os/bazzite/bazzite.webm $HOME/.local/share/Steam/config/uioverrides/movies/deck_startup.webm

# Set up automatic LUKS unlock via TPM
setup-luks-tpm-unlock:
#!/usr/bin/bash
sudo /usr/libexec/luks-enable-tpm2-autounlock

# Force-enable AMD pstate
pstate-force-enable:
rpm-ostree kargs --append-if-missing=amd_pstate=active

# Configure grub bootmenu visibility and fix duplicate entries
configure-grub ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
GRUB_STATE="$(grep -P "^GRUB_TIMEOUT_STYLE=hidden" /etc/default/grub)"
OPTION={{ ACTION }}
Expand Down Expand Up @@ -100,7 +105,7 @@ add-user-to-input-group:

# Configure watchdog (default: enabled, recovers the system in the event of a malfunction)
configure-watchdog ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
WATCHDOG_STATE="$(rpm-ostree kargs)"
CPU_MODEL=$(lscpu --json | jq -r '."lscpu"[7]."data"')
Expand Down Expand Up @@ -143,7 +148,7 @@ configure-watchdog ACTION="":

# Set the default powerprofile to load when the desktop starts
configure-powerprofile ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
OPTION={{ ACTION }}
if [ "$OPTION" == "help" ]; then
Expand Down Expand Up @@ -179,7 +184,7 @@ configure-powerprofile ACTION="":

# Install and configure Decky Loader (https://github.com/SteamDeckHomebrew/decky-loader) and plugins for alternative handhelds
setup-decky ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
DECKY_STATE="${b}${red}Not Installed${n}"
if [[ -d $HOME/homebrew/plugins ]]; then
Expand Down Expand Up @@ -234,7 +239,7 @@ setup-decky ACTION="":

# Ptyxis terminal transparency
ptyxis-transparency opacity="0.95":
#!/usr/bin/env bash
#!/usr/bin/bash
set -euxo pipefail
if [[ -n "$(echo "{{ opacity }}" | grep -v '^[.0-9]*$')" ]]; then
printf "Value must be numeric: %s.\n" "{{ opacity }}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ install-opentabletdriver:

# This installs ollama, a way to run various open LLMs locally on the CPU or GPU
install-ollama:
#!/usr/bin/env bash
#!/usr/bin/bash
echo 'Follow the prompts and check the tutorial: '
echo
GPU_CHOICES=()
Expand Down Expand Up @@ -194,7 +194,7 @@ install-ollama:
# Create fedora distrobox if it doesn't exist
[private]
distrobox-check-fedora:
#!/bin/env bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
if grep -qvz "fedora" <<< $(distrobox list); then
echo "Setting up Fedora distrobox"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Setup and configure CDEmu Daemon and Client plus GUI Apps
setup-cdemu ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
CDEMU_STATE="$(rpm -qa cdemu-daemon)"
SERVICE_STATE="$(systemctl is-enabled --user cdemu-daemon.service)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Setup and configure Sunshine Game Streaming host
setup-sunshine ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
SUNSHINE_STATE="$(rpm -qa sunshine)"
SERVICE_STATE="$(systemctl is-enabled --user sunshine.service)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Add virtual audio channels/sinks named Game, Voice, Browser and Music which you can split audio to using qpwgraph, helvum, carla or other pipewire patchbays for use in OBS and other use cases
setup-virtual-channels ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
IMAGE_INFO="/usr/share/ublue-os/image-info.json"
IMAGE_NAME=$(jq -r '."image-name"' < $IMAGE_INFO)
Expand Down Expand Up @@ -96,7 +96,7 @@ setup-virtual-channels ACTION="":

# Setup a simple Virtual Surround 7.1 sink using the ASH Control Room 1 convolver file (you can change this yourself after setup)
setup-virtual-surround ACTION="":
#!/bin/bash
#!/usr/bin/bash
source /usr/lib/ujust/ujust.sh
mkdir -p ~/.config/pipewire/pipewire.conf.d
mkdir -p ~/.config/pipewire/hrir_hesuvi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ Packages installed in Distrobox can be exported to appear like any other applica
**Support the app store!**~[Donate to  Flatpak](https://opencollective.com/flatpak)
**Support indie game preservation and OSS developers!**~[Join Hit Save!'s Patreon](https://patreon.com/hitsave)
**H.264 hardware acceleration is supported out of the box.** No tweaks necessary!
*Using full disk encryption and tired of entering your password?* `ujust setup-luks-tpm-unlock` can help you use your CPU's TPM to unlock your device.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,4 @@ Discover Overlay is preinstalled, allowing Discord to overlay your games during
*Looking to setup Waydroid?*~[View our documentation](https://universal-blue.discourse.group/docs?topic=32)
Bazzite uses ZSTD compression in BTRFS by default, and deduplicates files across your entire drive. **More space for your games!**
*Have a large library of ROMs to manage?* ROM Properties Page shell extension is installed by default and makes it much easier, with thumbnails and additional info for all of your files.
*Need more control over your Flatpaks?* Check out the Warehouse and Flatseal applications to manage them.
*Want more tips and tricks?*~[View Documentation](https://universal-blue.discourse.group/docs?topic=574)
*Desktop users: Want to easily customize MangoHud and vkBasalt?* Use the GOverlay application as a graphical user interface to adjust settings.
*Need more control over your Flatpaks?* Check out the Warehouse and Flatseal applications to manage them.
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,7 @@ show-power-option=false
show-gamemode=false
hide-forcequit=true
show-boxbuddy=true

[org/gnome/shell/extensions/auto-power-profile]
ac='balanced'
bat='power-saver'
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ style-dialogs=0
blur=false

[org/gnome/shell/extensions/blur-my-shell/screenshot]
blur=false
blur=true

[org/gnome/shell/extensions/blur-my-shell/lockscreen]
blur=false
blur=true

[org/gnome/shell/extensions/com/github/hermes83/compiz-windows-effect]
maximize-effect=true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*Looking for some nostalgia?* Enable `Compiz windows effect` from the Extension Manager.
*Missing the top left hot corner?* Apply pressure to the bottom edge of your screen with your mouse. You can also re-enable the hot corner from settings if desired.
ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam.
Manage desktop extensions with [Extension Manager](https://universal-blue.discourse.group/docs?topic=166)
ProtonPlus can be used to install and update custom versions of Proton. We recommend Proton-GE for problematic Steam games and Wine-GE for all other use cases outside of Steam.

0 comments on commit 1e46c0b

Please sign in to comment.