Merge branch 'main' into unstable

This commit is contained in:
Kyle Gospodnetich 2023-11-27 10:31:44 -08:00
commit 5dde235711
11 changed files with 171 additions and 30 deletions

View File

@ -0,0 +1,7 @@
Copyright 2023 Joshua Ashton for Valve Software
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,41 @@
Name: galileo-mura
Version: {{{ git_dir_version }}}
Release: 1%{?dist}
Summary: Utilities for setting and reading mura correction on Galileo
License: MIT
URL: https://github.com/ublue-os/bazzite
Source: https://gitlab.com/evlaV/galileo-mura-extractor/-/archive/main/galileo-mura-extractor-main.tar.gz
BuildRequires: systemd-rpm-macros
BuildRequires: gcc
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
%description
Utilities for setting and reading mura correction on Galileo
# Disable debug packages
%define debug_package %{nil}
%prep
%autosetup -n galileo-mura-extractor-main
%build
%meson
%meson_build
%install
%meson_install
# This lists all the files that are included in the rpm package and that
# are going to be installed into target system where the rpm is installed.
%files
%license LICENSE
%attr(4755, root, root) %{_bindir}/galileo-mura-extractor
%{_bindir}/galileo-mura-setup
# Finally, changes from the latest release of your application are generated from
# your project's Git history. It will be empty until you make first annotated Git tag.
%changelog
{{{ git_dir_changelog }}}

View File

@ -1,18 +1,16 @@
diff --git a/etc/systemd/system/steamos-automount@.service b/etc/systemd/system/steamos-automount@.service
index dd700da..152e231 100644
index 96e8818..33038bc 100644
--- a/etc/systemd/system/steamos-automount@.service
+++ b/etc/systemd/system/steamos-automount@.service
@@ -14,6 +14,7 @@
@@ -14,5 +14,6 @@ Description=Mount removable drive %i
[Service]
Type=oneshot
RemainAfterExit=true
+EnvironmentFile=/etc/default/steamos-btrfs
ExecStart=-/usr/libexec/steamos-automount add %i
ExecStop=-/usr/libexec/steamos-automount remove %i
ExecReload=-/usr/libexec/steamos-automount retrigger %i
diff --git a/usr/lib/hwsupport/format-device.sh b/usr/lib/hwsupport/format-device.sh
index b136413..d3cbb16 100755
index 566eea2..d6803ff 100755
--- a/usr/lib/hwsupport/format-device.sh
+++ b/usr/lib/hwsupport/format-device.sh
@@ -2,6 +2,8 @@
@ -24,10 +22,11 @@ index b136413..d3cbb16 100755
# If the script is not run from a tty then send a copy of stdout and
# stderr to the journal. In this case stderr is also redirected to stdout.
if ! tty -s; then
diff --git a/usr/lib/hwsupport/steamos-automount.sh b/usr/lib/hwsupport/steamos-automount.sh
index 6dd3a2f..ca1c5ca 100755
--- a/usr/lib/hwsupport/steamos-automount.sh
+++ b/usr/lib/hwsupport/steamos-automount.sh
@@ -77,6 +77,7 @@
@@ -66,6 +66,7 @@ do_mount()
dev_json=$(lsblk -o PATH,LABEL,FSTYPE --json -- "$DEVICE" | jq '.blockdevices[0]')
ID_FS_LABEL=$(jq -r '.label | select(type == "string")' <<< "$dev_json")
ID_FS_TYPE=$(jq -r '.fstype | select(type == "string")' <<< "$dev_json")
@ -35,7 +34,7 @@ index b136413..d3cbb16 100755
#### SteamOS Btrfs Begin ####
if [[ -f /etc/default/steamos-btrfs ]]; then
@@ -120,6 +121,7 @@
@@ -109,6 +110,7 @@ do_mount()
UDISKS2_ALLOW='uid=$UID,gid=$GID,umask,dmask,fmask,locale,norecover,ignore_case,windows_names,compression,nocompression,big_writes,nls,nohidden,sys_immutable,sparse,showmeta,prealloc'
OPTS="${STEAMOS_BTRFS_SDCARD_NTFS_MOUNT_OPTS:-rw,noatime,lazytime,uid=1000,gid=1000,big_writes,umask=0022,ignore_case,windows_names}"
FSTYPE="lowntfs-3g"
@ -43,7 +42,7 @@ index b136413..d3cbb16 100755
if [[ ! -f /etc/filesystems ]] || ! grep -q '\b'"${FSTYPE}"'\b' /etc/filesystems; then
echo "${FSTYPE}" >> /etc/filesystems
fi
@@ -132,7 +134,7 @@
@@ -121,7 +123,7 @@ do_mount()
if [[ -f "${udisks2_mount_options_conf}" && ! -f "${udisks2_mount_options_conf}.orig" ]]; then
mv -f "${udisks2_mount_options_conf}"{,.orig}
fi

View File

@ -328,3 +328,13 @@ index 1a46251..73f2a3d 100755
import evdev
import threading
diff --git a/usr/bin/jupiter-initial-firmware-update b/usr/bin/jupiter-initial-firmware-update
index 1a46251..73f2a3d 100755
--- jupiter-initial-firmware-update
+++ jupiter-initial-firmware-update
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/sh
set -euo pipefail

View File

@ -1,5 +1,7 @@
%define packagename jupiter-hw-support
%define packagever jupiter-20231115.1
%define packagever jupiter-3.5-20231115.1
%global _default_patch_fuzz 2
Name: %{packagename}-btrfs
Version: {{{ git_dir_version }}}
Release: 1%{?dist}
@ -7,11 +9,11 @@ Summary: Steam Deck Hardware Support Package
License: GPLv3
URL: https://github.com/ublue-os/bazzite
Source: https://gitlab.com/evlaV/%{packagename}/-/archive/jupiter-20230927.2/%{packagename}-%{packagever}.tar.gz
Source: https://gitlab.com/evlaV/%{packagename}/-/archive/%{packagever}/%{packagename}-%{packagever}.tar.gz
Patch0: fedora.patch
Patch1: selinux.patch
Patch2: https://gitlab.com/popsulfr/steamos-btrfs/-/raw/main/files/usr/lib/hwsupport/steamos-automount.sh.patch.old.20231104103824.20231031.1000
Patch3: https://gitlab.com/popsulfr/steamos-btrfs/-/raw/main/files/usr/lib/hwsupport/format-device.sh.patch.old.20230922091429.20230915.100
Patch2: https://gitlab.com/popsulfr/steamos-btrfs/-/raw/v1.2.6.20231104/files/usr/lib/hwsupport/steamos-automount.sh.patch.old.20231104103824.20231031.1000
Patch3: https://gitlab.com/popsulfr/steamos-btrfs/-/raw/v1.2.6.20231104/files/usr/lib/hwsupport/format-device.sh.patch.old.20230922091429.20230915.100
Patch4: user.patch
Patch5: bazzite-btrfs.patch
Patch6: systemd-run.patch
@ -33,6 +35,8 @@ Requires: e2fsprogs
Requires: f3
BuildRequires: systemd-rpm-macros
BuildRequires: xcursorgen
BuildRequires: sed
%description
SteamOS 3.0 Steam Deck Hardware Support Package
@ -41,7 +45,7 @@ SteamOS 3.0 Steam Deck Hardware Support Package
%define debug_package %{nil}
%prep
%autosetup -p1 -n jupiter-hw-support-jupiter-20230927.2-faaccd721214cbb705bdcba8d3eddfdec1ef4e3b
%autosetup -p1 -n %{packagename}-%{packagever}
%build
@ -64,6 +68,8 @@ cp -rv usr/lib/udev %{buildroot}%{_prefix}/lib/udev
cp -rv usr/bin/* %{buildroot}%{_bindir}
cp -rv usr/lib/systemd/system/* %{buildroot}%{_unitdir}
cp -rv etc/* %{buildroot}%{_sysconfdir}
sed -i 's@steamos-cursor.png@usr/share/steamos/steamos-cursor.png@g' usr/share/steamos/steamos-cursor-config
xcursorgen usr/share/steamos/steamos-cursor-config %{buildroot}%{_datadir}/icons/steam/cursors/default
# Remove unneeded files
rm %{buildroot}%{_sysconfdir}/default/grub-steamos
rm %{buildroot}%{_datadir}/jupiter_bios_updater/h2offt-g
@ -94,6 +100,7 @@ rm -rf %{buildroot}%{_datadir}/alsa
%{_bindir}/amd_system_info
%{_bindir}/foxnet-biosupdate
%{_bindir}/jupiter-biosupdate
%{_bindir}/jupiter-initial-firmware-update
%{_bindir}/jupiter-check-support
%{_bindir}/jupiter-controller-update
%{_bindir}/steamos-polkit-helpers/*

View File

@ -1,5 +1,5 @@
diff --git a/usr/bin/steamos-polkit-helpers/steamos-priv-write b/usr/bin/steamos-polkit-helpers/steamos-priv-write
index 907133b..6ba1dd8 100755
index 296996e..ae0ae3e 100755
--- a/usr/bin/steamos-polkit-helpers/steamos-priv-write
+++ b/usr/bin/steamos-polkit-helpers/steamos-priv-write
@@ -2,6 +2,9 @@
@ -12,19 +12,31 @@ index 907133b..6ba1dd8 100755
if [[ $EUID -ne 0 ]];
then
exec pkexec --disable-internal-agent "$0" "$@"
@@ -12,16 +15,19 @@
@@ -12,21 +15,25 @@ WRITE_VALUE="$2"
function CommitWrite()
{
- if [ ! -z "$WRITE_VALUE" ]
- then
- echo "commit: $WRITE_VALUE -> $WRITE_PATH" | systemd-cat -t p-steamos-priv-write -p warning
- echo "$WRITE_VALUE" > "$WRITE_PATH"
+ if [[ ":Jupiter:" =~ ":$SYS_ID:" || ":Galileo:" =~ ":$SYS_ID:" || "$ENABLE_HARDWARE_CONTROL_ON_NON_DECK_HARDWARE" = 1 ]]; then
echo "commit: $WRITE_VALUE -> $WRITE_PATH" | systemd-cat -t p-steamos-priv-write -p warning
- echo "$WRITE_VALUE" > "$WRITE_PATH"
chmod a+w "$WRITE_PATH"
+ echo "$WRITE_VALUE" > "$WRITE_PATH"
+ if [ ! -z "$WRITE_VALUE" ]
+ then
+ echo "commit: $WRITE_VALUE -> $WRITE_PATH" | systemd-cat -t p-steamos-priv-write -p warning
+ chmod a+w "$WRITE_PATH"
+ echo "$WRITE_VALUE" > "$WRITE_PATH"
+ fi
+
+ echo "chmod a+w: $WRITE_PATH" | systemd-cat -t p-steamos-priv-write -p warning
+ else
+ echo "commit: Skipped - see /etc/default/steam-hardware-control" | systemd-cat -t p-steamos-priv-write -p warning
+ fi
exit 0
+ echo "commit: Skipped - see /etc/default/steam-hardware-control" | systemd-cat -t p-steamos-priv-write -p warning
fi
-
- chmod a+w "$WRITE_PATH"
- echo "chmod a+w: $WRITE_PATH" | systemd-cat -t p-steamos-priv-write -p warning
+
exit 0
}
function DeclineWrite()
@ -34,8 +46,8 @@ index 907133b..6ba1dd8 100755
exit 1
}
@@ -32,15 +38,90 @@
@@ -40,15 +47,90 @@ if [[ "$WRITE_PATH" == /dev/drm_dp_aux0 ]]; then
fi
if [[ "$WRITE_PATH" == /sys/class/drm/card*/device/power_dpm_force_performance_level ]]; then
- CommitWrite

View File

@ -0,0 +1,50 @@
Name: steamdeck-dsp
Version: {{{ git_dir_version }}}
Release: 1%{?dist}
Summary: Steamdeck Audio Processing
License: GPLv2
URL: https://github.com/ublue-os/bazzite
Source: https://gitlab.com/evlaV/valve-hardware-audio-processing/-/archive/main/valve-hardware-audio-processing-main.tar.gz
BuildRequires: make
BuildRequires: faust
BuildRequires: faust-tools
BuildRequires: boost-devel
BuildRequires: lv2-devel
BuildRequires: g++
%description
Steamdeck Audio Processing
# Disable debug packages
%define debug_package %{nil}
%prep
%autosetup -n valve-hardware-audio-processing-main
%build
%make_build FAUSTINC="/usr/include/faust" FAUSTLIB="/usr/share/faust"
%install
%make_install DEST_DIR="%{buildroot}"
mkdir -p %{buildroot}%{_datadir}/licenses/%{name}/
cp LICENSE %{buildroot}%{_datadir}/licenses/%{name}/LICENSE
# This lists all the files that are included in the rpm package and that
# are going to be installed into target system where the rpm is installed.
%files
%license LICENSE
%{_prefix}/lib/firmware/amd/*
%{_prefix}/lib/lv2/svg/valve_deck_*
%{_prefix}/lib/lv2/valve_*
%{_datadir}/alsa/ucm2/conf.d/acp5x/*.conf
%{_datadir}/alsa/ucm2/conf.d/sof-nau8821-max/*.conf
%{_datadir}/pipewire/pipewire.conf.d/*.conf
%{_datadir}/wireplumber/bluetooth.lua.d/*.lua
%{_datadir}/wireplumber/main.lua.d/*.lua
%{_datadir}/wireplumber/scripts/*.lua
# Finally, changes from the latest release of your application are generated from
# your project's Git history. It will be empty until you make first annotated Git tag.
%changelog
{{{ git_dir_changelog }}}

View File

@ -354,21 +354,31 @@ unhide-grub:
# Install Deck HD BIOS
install-deckhd-bios:
#!/usr/bin/env bash
RESOLUTION=$(sudo lshw -json -c display | jq -r .[]."configuration"."resolution")
if [[ "${RESOLUTION}" = "1200,1920" ]]; then
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
if [[ ":Jupiter:" =~ ":$SYS_ID:" ]]; then
RESOLUTION=$(sudo lshw -json -c display | jq -r .[]."configuration"."resolution")
if [[ "${RESOLUTION}" = "1200,1920" ]]; then
sudo systemctl mask --now jupiter-biosupdate.service
wget -q https://deckhd.com/downloads/install.sh -O /tmp/deckhd-install.sh
chmod +x /tmp/deckhd-install.sh
sudo ./tmp/deckhd-install.sh
else
else
echo "Unable to detect DeckHD. Aborting..."
fi
else
echo "This is only applicable to LCD Steam Decks with the DeckHD screen. Aborting..."
fi
# Enable BIOS & Firmware update services for the Steam Deck
enable-deck-bios-firmware-updates:
#!/usr/bin/env bash
sudo systemctl enable jupiter-biosupdate.service
sudo systemctl enable jupiter-controller-update.service
SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)"
if [[ ":Jupiter:" =~ ":$SYS_ID:" || ":Galileo:" =~ ":$SYS_ID:" ]]; then
sudo systemctl enable jupiter-biosupdate.service
sudo systemctl enable jupiter-controller-update.service
else
echo "This is only applicable to Valve's Steam Deck. Aborting..."
fi
# Disable Steam Deck BIOS updates
disable-bios-updates:

View File

@ -158,6 +158,9 @@ if [[ $IMAGE_NAME =~ "deck" || $IMAGE_NAME =~ "ally" || $IMAGE_NAME =~ "framegam
if [[ "${RESOLUTION}" = "1200,1920" ]]; then
echo "Jupiter with DeckHD detected, disabling BIOS updates..."
systemctl disable --now jupiter-biosupdate.service
elif [[ "$(awk '/MemTotal/{print $(NF-1)}' /proc/meminfo)" == "31664740" ]]; then
echo "Jupiter with 32GB RAM detected, disabling BIOS updates..."
systemctl disable --now jupiter-biosupdate.service
else
echo "Jupiter hardware detected, skipping further setup..."
fi