aboutsummaryrefslogtreecommitdiff
path: root/system/system76-power
diff options
context:
space:
mode:
authorErich Ritz <erich.public@protonmail.com>2023-01-27 09:36:52 -0600
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2023-01-28 08:22:51 +0700
commitee9ab65711786a694b667420f6481bd180af17d0 (patch)
treeb32d907a118ee0a7e45f2f3896562e28477603b3 /system/system76-power
parent4f0dad46e3f3cf648745494c468776896a18ff86 (diff)
system/system76-power: Updated for version 1.1.24_c504ff6.
Signed-off-by: Erich Ritz <erich.public@protonmail.com> Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/system76-power')
-rw-r--r--system/system76-power/README10
-rw-r--r--system/system76-power/fix_groups.patch6
-rw-r--r--system/system76-power/system76-power.SlackBuild21
-rw-r--r--system/system76-power/system76-power.info242
-rw-r--r--system/system76-power/xeon_fan_curve.patch52
5 files changed, 215 insertions, 116 deletions
diff --git a/system/system76-power/README b/system/system76-power/README
index 07fc0c0cef3c..65a249370027 100644
--- a/system/system76-power/README
+++ b/system/system76-power/README
@@ -13,3 +13,13 @@ permissions set:
The system76-power daemon log messages are logged to
/var/log/system76-power.log by default. Logging can be disabled by
setting LOG_FILE=/dev/null in /etc/rc.d/rc.system76-power.
+
+This project is pinned to a specific Rust version, currently 1.61.0. As
+such, rustup is a compile time only dependency. If this specific
+version of the Rust toolchain is not already installed, it will be
+downloaded and installed automatically during build script execution.
+It can be installed manually beforehand by running
+ rustup toolchain install 1.61.0
+
+NOTE: The directions in rustup's README must be followed so that the
+rust installed by rustup is preferred over the system rust.
diff --git a/system/system76-power/fix_groups.patch b/system/system76-power/fix_groups.patch
index 4a94584efe01..5773d1cb534b 100644
--- a/system/system76-power/fix_groups.patch
+++ b/system/system76-power/fix_groups.patch
@@ -1,7 +1,7 @@
-diff --git a/data/system76-power.conf b/data/system76-power.conf
+diff --git a/data/com.system76.PowerDaemon.conf b/data/com.system76.PowerDaemon.conf
index 335981c..1705b0c 100644
---- a/data/system76-power.conf
-+++ b/data/system76-power.conf
+--- a/data/com.system76.PowerDaemon.conf
++++ b/data/com.system76.PowerDaemon.conf
@@ -6,17 +6,9 @@
<allow send_destination="com.system76.PowerDaemon"/>
<allow receive_sender="com.system76.PowerDaemon"/>
diff --git a/system/system76-power/system76-power.SlackBuild b/system/system76-power/system76-power.SlackBuild
index 391536fba8c4..9f91a1a2ca8c 100644
--- a/system/system76-power/system76-power.SlackBuild
+++ b/system/system76-power/system76-power.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for system76-power
-# Copyright 2019-2022 Erich Ritz, Jenks, Oklahoma, USA
+# Copyright 2019-2023 Erich Ritz, Jenks, Oklahoma, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -33,8 +33,9 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=system76-power
-VERSION=${VERSION:-1.1.20}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.1.24_c504ff6}
+SRCVER=${SRCVER:-c504ff6d2f6b851d2d1d3b0433e87540c94540d3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -52,9 +53,6 @@ case "$ARCH" in
*) echo "Unsupported ARCH '$ARCH'"; exit 1 ;;
esac
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -83,9 +81,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
# build offline
# configuration tells cargo to use the configured directory
@@ -170,6 +168,8 @@ find -L . \
# Prevent syslog messasge 'Unknown group "sudo" in message bus configuration file'.
patch -p1 < $CWD/fix_groups.patch
+# Prevent CPU from overheating
+patch -p1 < $CWD/xeon_fan_curve.patch
export CARGO_HOME=.cargo
@@ -181,8 +181,7 @@ make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-rm -rf $PKG/etc/systemd
-mv $PKG/etc/dbus-1 $PKG/usr/share/
+rm -rf $PKG/usr/lib
mkdir -p $PKG/etc/logrotate.d $PKG/etc/rc.d
install -m 0644 $CWD/config/system76-power.logrotate $PKG/etc/logrotate.d/system76-power.new
install -m 0644 $CWD/config/rc.system76-power $PKG/etc/rc.d/rc.system76-power.new
diff --git a/system/system76-power/system76-power.info b/system/system76-power/system76-power.info
index 69de038c0a3a..a4200127bccf 100644
--- a/system/system76-power/system76-power.info
+++ b/system/system76-power/system76-power.info
@@ -1,136 +1,174 @@
PRGNAM="system76-power"
-VERSION="1.1.20"
+VERSION="1.1.24_c504ff6"
HOMEPAGE="https://github.com/pop-os/system76-power"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/pop-os/system76-power/archive/1.1.20/system76-power-1.1.20.tar.gz \
+DOWNLOAD_x86_64="https://github.com/pop-os/system76-power/archive/c504ff6/system76-power-c504ff6d2f6b851d2d1d3b0433e87540c94540d3.tar.gz \
https://github.com/pop-os/sysfs-class/tarball/ab63e7f638aadfaf896a02e53cf330343d331337/pop-os-sysfs-class-0.1.3-1-gab63e7f.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.1.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.71.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.74.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus-crossroads/dbus-crossroads-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-4.0.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap_derive/clap_derive-4.0.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap_lex/clap_lex-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/concat-in-place/concat-in-place-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling/darling-0.10.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_core/darling_core-0.10.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_macro/darling_macro-0.10.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus-crossroads/dbus-crossroads-0.5.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus-tokio/dbus-tokio-0.7.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus/dbus-0.9.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fern/fern-0.6.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-channel/futures-channel-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-core/futures-core-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-executor/futures-executor-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-io/futures-io-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-macro/futures-macro-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-sink/futures-sink-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-task/futures-task-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-util/futures-util-0.3.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/futures/futures-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus/dbus-0.9.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/derive_setters/derive_setters-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fern/fern-0.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-channel/futures-channel-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-core/futures-core-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-executor/futures-executor-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-io/futures-io-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-macro/futures-macro-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-sink/futures-sink-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-task/futures-task-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-util/futures-util-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures/futures-0.3.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/heck/heck-0.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.19.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/hidapi/hidapi-1.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hidapi/hidapi-1.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ident_case/ident_case-1.0.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify-sys/inotify-sys-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify/inotify-0.9.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/intel-pstate/intel-pstate-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.106.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify/inotify-0.10.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/intel-pstate/intel-pstate-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.137.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/libdbus-sys/libdbus-sys-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.4.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.7.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/miow/miow-0.3.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ntapi/ntapi-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.8.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/numtoa/numtoa-0.2.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.8.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-lite/pin-project-lite-0.2.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.16.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/os_str_bytes/os_str_bytes-6.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-lite/pin-project-lite-0.2.9.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-utils/pin-utils-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.22.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-hack/proc-macro-hack-0.5.19.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-nested/proc-macro-nested-0.1.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.32.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.10.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.130.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.130.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.26.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error-attr/proc-macro-error-attr-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error/proc-macro-error-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.47.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.147.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.147.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.87.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/slab/slab-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/slab/slab-0.4.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/smart-default/smart-default-0.6.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.81.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror-impl/thiserror-impl-1.0.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror/thiserror-1.0.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio-macros/tokio-macros-1.5.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio/tokio-1.13.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/socket2/socket2-0.4.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.10.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.9.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.103.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror-impl/thiserror-impl-1.0.37.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror/thiserror-1.0.37.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio-macros/tokio-macros-1.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio/tokio-1.21.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-ident/unicode-ident-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.11.0+wasi-snapshot-preview1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate"
-MD5SUM_x86_64="07ed8bc133cbaa7f4337398e05441331 \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows-sys/windows-sys-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_i686_gnu/windows_i686_gnu-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_i686_msvc/windows_i686_msvc-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.42.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.42.0.crate"
+MD5SUM_x86_64="81a029d8ffeaae5573fe8fec352d2255 \
864d84ec428600e74b322b01d0d9040c \
- 294a49d3c53865fa7ac5d0ce2f5d5735 \
142cb4b9a653e56e56311f0c883b8582 \
- c6443ec8d007c729ba5482008d0c864d \
+ 05d77ef52e90ad161fdd41b252420467 \
a295edb6953237ebbdfa8e731229f9a3 \
- 92941d0a7ba2114d1a4f38d5a85a1163 \
+ 10943d8a11c64d3d91db2fdc1e61cfde \
74634128440dbc3766bda76fdf0aaa05 \
- bc79e0eb364df515a33755ac9a581cfd \
- 363d49825181dd36c061c5df606a8ef4 \
+ df6717dbf343d6c444ef2da8bdaac9d9 \
+ ad454bc7294a43587ac00d9ba493b1c7 \
+ ce4e3a5dfad6932a907b9a663065c627 \
+ a9bbef8e965372f310b1187ed99a9ebf \
+ a42201f337a8d7cd51aae9e5ecad91f0 \
+ b1c8b47b8fc9077b6a6aadc47c819115 \
+ 5663ea952316dfff411bc1ef78c1979d \
+ fdbbb75171c0ed605f75af03900a2eb3 \
b520c4887053e2bc5e915c0a88d13047 \
- 3ddbeaaa356f7725a3e4c12ff457d6b0 \
- 9bb99bc31c32da009e64621f4c635748 \
- bb4c6a75e0330d60413c42fd2df8e1d4 \
- 39a615e6e64be47b6526dbdb10f03aa5 \
- d73699336519523e79350eb635ce1364 \
- 5227c2060895de6ed04329db776c9ff7 \
- 555dda6ea822696b6aa40f7ede0ebfcd \
- 18cae1d8dc312fa017b24b21d906a9fc \
- ae3146575859e9e6a95576f75bfddc5e \
- c8fde0f0c8aa0cc139753968337b28e1 \
- 33b9ba92f40b683106fcfeb0bc1006c3 \
+ eb1e014c417a0d7f2e843c868188af55 \
+ 7b107c4c32bb3fd872bad1b08c555c9b \
+ d03adfd6f55dfa573361e8ddca01470a \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ 590d076cb05cc9698c2823a88086dbfd \
+ 628b749399fec3c20ed1c30d1a756699 \
+ 0eaad5fe43b228070a11920d7555f604 \
+ 2796648a206334732b3c0b91b6af0193 \
+ a7657fa1d5c02a66b3b877f3ef974824 \
+ 2049a5d39b5b34d9fa89f4809cb9c7c0 \
+ 76e610f9520efa9b8ce6b4657fdc430d \
+ 46b4e7466d39fc766921733568035f43 \
+ 3de071e30013f03c34355453a46659e5 \
+ 4fd75413081a400a1c230f0700732611 \
0b7994d1256215201bdfb810a357ffa2 \
- 6dd79c5abb4bea1d7c257e5ade97a1ac \
+ 11880870656bdae715b2d40f1877f2ed \
+ fe77a3f609b6fd8d5b08f3b2ef14d2ad \
639af0cca65c012e6a028acfb657e417 \
- 1c69490f9cefc24e2119217039c61dda \
- 9f49e4c2883dcd3c628bdc9da5e42c28 \
- 06e7dbde9932c6a9bac63d9288670678 \
- 181c1ef1393781fc4a79273bc8f7b58f \
+ deeafa46cd579476d1e57118f9c3f91e \
+ 2462165e077d8a663e36d1fc030d3afe \
+ 2c8eab87a03ec9f3ad09d11774a3cbd0 \
+ 889c49bc56723cfb9866df1cab93a4ce \
b572f0c3d1144e7c35dcdfd4f08913f8 \
- 40e508baeee8cdccbc471489b0f449ff \
- d75b1c734f85b007c55ca84217df4201 \
- 84c0c029460fffc209296b914a16e4c8 \
- 4604959975c2154a14f6b5e97444e2c8 \
- 420f93a43fa603c1253213bdf28983df \
+ b31bf94ffe7e0f2ada93afae1076eaeb \
+ 94b8bf179385ff071bdc33b58bf047c0 \
+ a8a1c536701e539cdce215fd7f55de9f \
6361a447cdbc285fce46c8a090428167 \
- 09890b5c787af9aedc40f1d75cbe57bb \
- 499155f20603f837aa2d4710a6ac38de \
+ d4c38b7b14686f092747434ec081d8a7 \
+ 6dc52546400cb3a19b5beeb4a87b3063 \
+ ce6dde2ea2691fdd97632fb8c9b3e042 \
07c75fec267864bcbb800ca7709ceae2 \
- 1236023abc760e0e79de0dc634fd9fd8 \
- c7c38eb603bed6f42edbc4294806a44a \
- e6fd8764e2acb835d7d2f04d052e30ce \
- 000d675657f9e2041501b0cca03131f9 \
- 13a51212a18799d3a7022a12244a8ce3 \
- a69721c73263cd2040e1a5f120b03a6f \
- 72696c3c7b35807d51fdc9692794aea4 \
- 6022cfe830087be40e5ef983c5eadbfa \
- 77e39649bcd85e1591f04e88625500f4 \
+ 57a5575d623bcbc7ba5c033c9f87744f \
+ 7d76a523677de261dda1b65d29a93c4e \
+ 6a32bab57772c3a1146d599b65ffb0cb \
+ 487f06e2ab256c39cdd4a404814532bb \
+ 1de20a0fc1cfdf5e332cbdb2e0899a2b \
+ 20e127104e602f7766746289ffd23c67 \
+ fbb26834819534a6cf6ec8df4bccff02 \
+ 0ace7498eb81851eeec835b1866eb4ca \
+ b898807d8111d1d280862868cbd4cd67 \
21b43d5721b3a9c16059acb691f4314d \
- 2fcf5fe983975bbcea43129c9fb31923 \
+ 9b7ebf6b588afaad70bf48a742973a30 \
26b4ac1432c227434bc943817f42872e \
- 781d4ccf5d04c98fa02af207a9639249 \
- 3d219fde6db317dbc30f75002606f21f \
- a8de006fe0c7e373c560dd51599287a8 \
- 3e61457993a6e3fdaaf2fbe82bd7dff3 \
- cc180843b3b626ede01ebd9a0d9fbdaa \
- 14c3246ec7af33c7eabcb484c319a838 \
- 98b4d2f14aac026e05f73af1fb5a94e4 \
- a42cc2834b2150027d7b427558a87803 \
- 087bfc476e9d73628cebd265590f11f7 \
- 333b4ba3f64c35b6f89b521e8d64548b \
+ 362eebacce3b2c9204fdef6d1c04d757 \
+ 82d98dc87dc8503400aa095f5aa70f13 \
+ 90253ab52670a0551a533eb78a1f6b10 \
+ 51f0ea5d3f9ba09041383de851062c75 \
+ 40ce77bc7803d0ff8734f6a11c4e8814 \
+ 1688ae2cb59368d0b35c9913ebc06dad \
+ a1fa70e992507a9d15a30b054b07591a \
+ 45273943465d6fc2a3f8bf282460508a \
+ 1024839cb24a2ec4af860cb73259c43b \
+ 15b1826d931453eef20babb0f1f4fe2d \
+ d18d362345c4fe512ef67b738b239fb8 \
+ e972ea58ec203bfa6c79c1207852298b \
db96b50050277bf05a3c68534bbb9586 \
+ b9e37d5fc4ad28b612b78ad37816684d \
09de9d01e7331ff3da11f58be8bef0df \
- 0498c4a11448bfc35dc7bb2caa64c753"
-REQUIRES="system76-io-dkms"
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ 110789f2dd21a2ea820ebed976b4b1c2 \
+ 86854324255f07e8f64cc11ef8be3b3c \
+ 510f0324dbaea90d9d3ca2eea5e71a04 \
+ 38cf2b9fa16048f19e0d3b2d73479e50 \
+ f41cbc66ecf1f5006d0f0a7df2726c73 \
+ c373eadcbc79dfc0b580d12851add17d \
+ b04135c0705b10e9866585e1d75e68a3 \
+ 404688aa3e82019927df8a16c7d258d1"
+REQUIRES="system76-io-dkms rustup %README%"
MAINTAINER="Erich Ritz"
EMAIL="erich.public@protonmail.com"
diff --git a/system/system76-power/xeon_fan_curve.patch b/system/system76-power/xeon_fan_curve.patch
new file mode 100644
index 000000000000..4cd1ffe4493d
--- /dev/null
+++ b/system/system76-power/xeon_fan_curve.patch
@@ -0,0 +1,52 @@
+From 9de22620c8876ddfa15a452d5435405f43e8a1fd Mon Sep 17 00:00:00 2001
+From: Erich Ritz <erich.public@protonmail.com>
+Date: Wed, 23 Mar 2022 08:28:57 -0500
+Subject: [PATCH] Make xeon fan curve more aggressive
+
+I've been suffering from occasional power offs with no warning, and I
+suspect the CPU is getting too hot. On the most recent power off, the
+computer once again powered down during the bootup phase (before the EFI
+boot screen). To me this solidified my suspicions.
+
+I have a a thelio-massive-b1 with 2
+Intel(R) Xeon(R) Gold 6238 CPU @ 2.10GHz
+
+I patched the source making the xeon fan curve more aggressive and the
+maximum CPU temperatures are now a little lower. Under low system load
+there is no noticable difference in fan speed.
+
+Plots of CPU temperature, fan speed, and fan command are attached as
+comments to the commit on GitHub.
+
+Signed-off-by: Erich Ritz <erich.public@protonmail.com>
+---
+ src/fan.rs | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/src/fan.rs b/src/fan.rs
+index c0fca10..73e284c 100644
+--- a/src/fan.rs
++++ b/src/fan.rs
+@@ -271,13 +271,12 @@ impl FanCurve {
+ .append(50_00, 40_00)
+ .append(55_00, 45_00)
+ .append(60_00, 50_00)
+- .append(65_00, 55_00)
+- .append(70_00, 60_00)
+- .append(72_00, 65_00)
+- .append(74_00, 80_00)
+- .append(76_00, 85_00)
+- .append(77_00, 90_00)
+- .append(78_00, 100_00)
++ .append(62_00, 60_00)
++ .append(64_00, 65_00)
++ .append(66_00, 80_00)
++ .append(68_00, 85_00)
++ .append(69_00, 90_00)
++ .append(70_00, 100_00)
+ }
+
+ pub fn get_duty(&self, temp: i16) -> Option<u16> {
+--
+2.35.6
+