forked from pool/power-profiles-daemon
- Add respect-dpm-manual.patch:
Don't override user settings for dpm if set to manual (glfo#upower/power-profiles-daemon#163) OBS-URL: https://build.opensuse.org/package/show/Base:System/power-profiles-daemon?expand=0&rev=31
This commit is contained in:
commit
8fca984cd0
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
53
hold-profile-hardening.patch
Normal file
53
hold-profile-hardening.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Index: power-profiles-daemon-0.11/src/power-profiles-daemon.c
|
||||||
|
===================================================================
|
||||||
|
--- power-profiles-daemon-0.11.orig/src/power-profiles-daemon.c
|
||||||
|
+++ power-profiles-daemon-0.11/src/power-profiles-daemon.c
|
||||||
|
@@ -537,6 +537,29 @@ holder_disappeared (GDBusConnection *con
|
||||||
|
g_ptr_array_free (cookies, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#define MAX_UNTRUSTED_STR_LEN 1024
|
||||||
|
+#define MAX_PROFILE_HOLDS 32
|
||||||
|
+
|
||||||
|
+static gboolean
|
||||||
|
+check_sane_string(const char *s)
|
||||||
|
+{
|
||||||
|
+ guint i;
|
||||||
|
+
|
||||||
|
+ for (i = 0; s[i] != 0; i++) {
|
||||||
|
+ gchar ch = s[i];
|
||||||
|
+
|
||||||
|
+ if (i > MAX_UNTRUSTED_STR_LEN)
|
||||||
|
+ return FALSE;
|
||||||
|
+
|
||||||
|
+ if (g_ascii_isalnum(ch) || g_ascii_isspace(ch))
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ return FALSE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
hold_profile (PpdApp *data,
|
||||||
|
GVariant *parameters,
|
||||||
|
@@ -559,6 +582,18 @@ hold_profile (PpdApp *dat
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (!check_sane_string(reason) || !check_sane_string(application_id)) {
|
||||||
|
+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
|
||||||
|
+ "Input strings are too long or contain invalid characters");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (g_hash_table_size(data->profile_holds) > MAX_PROFILE_HOLDS) {
|
||||||
|
+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_LIMITS_EXCEEDED,
|
||||||
|
+ "Too many profile holds already active");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
hold = g_new0 (ProfileHold, 1);
|
||||||
|
hold->profile = profile;
|
||||||
|
hold->reason = g_strdup (reason);
|
3
power-profiles-daemon-0.21.tar.bz2
Normal file
3
power-profiles-daemon-0.21.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c61a2350e58d51d4d6e58a61cf2aaa9b307ce42f16c40c4ece0bf1ed6d020506
|
||||||
|
size 63984
|
3
power-profiles-daemon-0.22.tar.bz2
Normal file
3
power-profiles-daemon-0.22.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a030b25c4e86faab782a134cf7ac8e19d1e7edf2d2c0ed6f158750de10c1f8d5
|
||||||
|
size 66394
|
202
power-profiles-daemon.changes
Normal file
202
power-profiles-daemon.changes
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 9 18:54:06 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
|
||||||
|
|
||||||
|
- Add respect-dpm-manual.patch:
|
||||||
|
Don't override user settings for dpm if set to manual
|
||||||
|
(glfo#upower/power-profiles-daemon#163)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 3 06:20:18 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
|
||||||
|
|
||||||
|
- Update to version 0.22:
|
||||||
|
* power-profiles-daemon is now battery-level aware:
|
||||||
|
some drivers use this value for better optimizations
|
||||||
|
* AMD p-state improvements:
|
||||||
|
+ supports core performance boost when not in power-saver mode
|
||||||
|
+ uses minimum frequency to lowest non-linear frequency
|
||||||
|
+ more impervious to faulty firmware and kernel bugs
|
||||||
|
* support for changing DPM clocks on amdgpu:
|
||||||
|
explicitly set the DPM clocks down to "low" when in
|
||||||
|
power-saver mode
|
||||||
|
* powerprofilesctl can disable logind and upower integration
|
||||||
|
* fix handling of turbo_pct, now assumed as not present
|
||||||
|
by default
|
||||||
|
* power-profiles-daemon.service further lockdown restrictions
|
||||||
|
* start power-profiles-daemon.service after
|
||||||
|
multi-user.target AND display-manager.target
|
||||||
|
to avoid conflicts with module loading
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 17 10:01:27 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Drop BuildRequires on python-pylint by disabling pylint option
|
||||||
|
during configure.
|
||||||
|
- Split out bash-completion into own package:
|
||||||
|
powerprofilesctl-bash-completion.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 9 10:48:35 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.21:
|
||||||
|
* power-profiles-daemon is now battery-state aware and some
|
||||||
|
drivers use a more power efficient state when using the
|
||||||
|
balanced profile on battery.
|
||||||
|
* Various fixes for the powerprofilesctl command line tool when
|
||||||
|
using the launch or version commands.
|
||||||
|
* Generate manual page for powerprofilesctl and shell
|
||||||
|
completions.
|
||||||
|
* Improved daemon command line interface for debugging, see
|
||||||
|
`--help-debug` for more information.
|
||||||
|
* More restrictive systemd service lockdown settings.
|
||||||
|
* Various code optimizations.
|
||||||
|
- Drop python3-shebang.patch: no longer required since
|
||||||
|
%python3_fix_shebang is used anyway.
|
||||||
|
- New BuildRequires: cmake, pkgconfig(bash-completion),
|
||||||
|
python3-argparse-manpage, python3-pylint, python3-shtab.
|
||||||
|
- New Requires: bash-completion, python3-gobject.
|
||||||
|
- Build completions for zsh shell and split off new package
|
||||||
|
powerprofilesctl-zsh-completion to be automatically installed
|
||||||
|
when both zsh and power-profiles-daemon are installed.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 30 20:01:51 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
|
||||||
|
|
||||||
|
- Revert "Remove duplicate DBus service files
|
||||||
|
net.hadess.PowerProfiles" workaround to boo#1222179 (see comment
|
||||||
|
10).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 13 10:12:35 UTC 2024 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- remove dependency on /usr/bin/python3 using
|
||||||
|
%python3_fix_shebang macro, [bsc#1212476]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 21 12:09:15 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
|
||||||
|
|
||||||
|
- Remove duplicate DBus service files net.hadess.PowerProfiles
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 15 05:53:07 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
|
||||||
|
|
||||||
|
- Update to version 0.20:
|
||||||
|
* Service has new name 'org.freedesktop.UPower.PowerProfiles'
|
||||||
|
* Allow multiple power-profiles-daemon drivers to load simultaneously
|
||||||
|
* amdgpu panel power savings which uses dedicated hardware in systems with
|
||||||
|
integrated Radeon graphics to decrease panel power consumption when the
|
||||||
|
system is on battery
|
||||||
|
- Add python3-shebang.patch:
|
||||||
|
* resolve env-script-interpreter error
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 26 15:19:01 UTC 2023 - Enrico Belleri <idesmi@protonmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.13:
|
||||||
|
* Add support for the AMD P-State driver included in Linux 6.3
|
||||||
|
* Fix mismatched profiles on some HP laptops and some
|
||||||
|
miscellaneous bug fixes.
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 3 23:56:23 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.12:
|
||||||
|
* Add support for the Intel "Energy Performance Bias" feature.
|
||||||
|
- Adapt to change of installed dbus configuration file
|
||||||
|
[boo#1201125].
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 13 13:13:55 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.11.1:
|
||||||
|
* Stops power-profiles-daemon from modifying the cpufreq driver
|
||||||
|
when the user/administrator has chosen to disable the Intel
|
||||||
|
P-State scaling governor (eg. forcing a passive operation
|
||||||
|
mode).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 1 17:32:18 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.11:
|
||||||
|
* Fixes problems on Intel machines when the CPUs didn't support
|
||||||
|
turbo at all, or the performance scaling governor was built as
|
||||||
|
default in the kernel.
|
||||||
|
* Add better end-user documentation.
|
||||||
|
* Fixes in the command-line tool to not cause bug report tools
|
||||||
|
to popup on not-uncommon errors.
|
||||||
|
* Bug fix for running on some systems with controllable charge
|
||||||
|
speeds.
|
||||||
|
- Drop fd1664dfe26f13f8c8cd7b44483cd872dfdede36.patch: upstreamed.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 19 15:29:11 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||||
|
|
||||||
|
- Add fd1664dfe26f13f8c8cd7b44483cd872dfdede36.patch: main: Error
|
||||||
|
out on D-Bus communication errors (rh#2019536).
|
||||||
|
- Bump pkgconfig(polkit-gobject-1) BuildRequires version to 0.114.
|
||||||
|
It's required for the g_autoptr() support we use.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 5 18:35:24 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.10.1:
|
||||||
|
* Fix bug in the authorisation codepath added in 0.10.0, where
|
||||||
|
holding a profile could still succeed despite having sent a
|
||||||
|
denial to the calling process.
|
||||||
|
* Make pylint test optional.
|
||||||
|
- Drop f83685732b9dd8211840645ce76f43718b30218b.patch:
|
||||||
|
incorporated upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 6 20:32:31 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 0.10.0:
|
||||||
|
+ This release adds authorisation checks for the profile holds
|
||||||
|
and profile switching features of the backend daemon, through
|
||||||
|
polkit. It is recommended that all distributions upgrade to
|
||||||
|
this version as soon as possible.
|
||||||
|
+ This release also adds support for the "quiet" kernel platform
|
||||||
|
profile used in some systems.
|
||||||
|
- Drop patches fixed upstream:
|
||||||
|
+ power-profiles-daemon-polkit-policy.patch
|
||||||
|
+ c9b646025d9f155509a6cda1c292bfd120daeb9e.patch
|
||||||
|
+ 20a2d7f7b80a1847f36236d40388f14ae99fa94b.patch
|
||||||
|
- Add f83685732b9dd8211840645ce76f43718b30218b.patch: build: Make
|
||||||
|
pylint test optional. As power-profiles-daemon keeps getting
|
||||||
|
built with slightly different versions of pylint with newer
|
||||||
|
warnings, disable pylint test by default to avoid getting bug
|
||||||
|
reports about it.
|
||||||
|
- Add hold-profile-hardening.patch: Hardening of HoldProfile D-Bus
|
||||||
|
method (boo#1189900). Requested by openSUSE security team.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 28 13:05:16 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Add power-profiles-daemon-polkit-policy.patch -- Describe and
|
||||||
|
set defaults for switching and holding power profiles; patch
|
||||||
|
taken from upstream merge request (boo#1189900,
|
||||||
|
glfo#hadess/power-profiles-daemon#47).
|
||||||
|
- Add Requires: polkit, needed at runtime after changes in
|
||||||
|
permission handling due to above patch.
|
||||||
|
- Disable tests as they fail due to polkit changes from above
|
||||||
|
patch not being integrated yet.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 24 19:45:59 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||||
|
|
||||||
|
- Pass explicit systemdsystemunitdir=%{_unitdir} to meson, ensure
|
||||||
|
we have the correct systemd unitdir.
|
||||||
|
- Drop systemd and systemd-rpm-macros BuildRequires, not needed.
|
||||||
|
- Add check section and run meson_test macro, replace umockdev with
|
||||||
|
pkgconfig(umockdev-1.0) BuildRequires.
|
||||||
|
- Add generic c_compiler BuildRequires as meson checks for it.
|
||||||
|
- Add upstream patches:
|
||||||
|
+ c9b646025d9f155509a6cda1c292bfd120daeb9e.patch:
|
||||||
|
platform-profile: Add support for 'quiet' profile.
|
||||||
|
+ 20a2d7f7b80a1847f36236d40388f14ae99fa94b.patch: tests: Add
|
||||||
|
tests for quiet profile support.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 26 18:16:58 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Initial package.
|
141
power-profiles-daemon.spec
Normal file
141
power-profiles-daemon.spec
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
#
|
||||||
|
# spec file for package power-profiles-daemon
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: power-profiles-daemon
|
||||||
|
Version: 0.22
|
||||||
|
Release: 0
|
||||||
|
Summary: Power profiles handling over D-Bus
|
||||||
|
License: GPL-3.0-or-later
|
||||||
|
URL: https://gitlab.freedesktop.org/upower/power-profiles-daemon
|
||||||
|
Source: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
|
||||||
|
# PATCH-FEATURE-OPENSUSE hold-profile-hardening.patch boo#1189900 -- Hardening of HoldProfile D-Bus method
|
||||||
|
Patch0: hold-profile-hardening.patch
|
||||||
|
# PATCH-FIX-UPSTREAM respect-dpm-manual.patch -- based on commit 21b58819 glfo#upower/power-profiles-daemon#163 : Don't override user settings for dpm if set to manual
|
||||||
|
Patch1: https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/commit/21b58819edcbbd87fc161474d1501debfd9b84b7.patch#/respect-dpm-manual.patch
|
||||||
|
BuildRequires: c_compiler
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gtk-doc
|
||||||
|
BuildRequires: meson >= 0.59.0
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: python3-argparse-manpage
|
||||||
|
BuildRequires: python3-dbusmock
|
||||||
|
BuildRequires: python3-shtab
|
||||||
|
BuildRequires: pkgconfig(bash-completion)
|
||||||
|
BuildRequires: pkgconfig(gio-2.0)
|
||||||
|
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||||
|
BuildRequires: pkgconfig(glib-2.0)
|
||||||
|
BuildRequires: pkgconfig(gudev-1.0) >= 234
|
||||||
|
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.91
|
||||||
|
BuildRequires: pkgconfig(systemd)
|
||||||
|
BuildRequires: pkgconfig(udev)
|
||||||
|
BuildRequires: pkgconfig(umockdev-1.0)
|
||||||
|
BuildRequires: pkgconfig(upower-glib)
|
||||||
|
Requires: polkit
|
||||||
|
Requires: python3-gobject
|
||||||
|
|
||||||
|
%description
|
||||||
|
power-profiles-daemon offers to modify system behaviour based upon user-selected
|
||||||
|
power profiles. There are 3 different power profiles: a "balanced" default mode,
|
||||||
|
a "power-saver" mode, and a "performance" mode.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for power-profiles-daemon
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package provides documentation for %{name}.
|
||||||
|
|
||||||
|
%package -n powerprofilesctl-bash-completion
|
||||||
|
Summary: Bash completion for powerprofilesctl
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: bash-completion
|
||||||
|
Supplements: (%{name} and bash-completion)
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n powerprofilesctl-bash-completion
|
||||||
|
This package provides bash shell completions for powerprofilesctl.
|
||||||
|
|
||||||
|
%package -n powerprofilesctl-zsh-completion
|
||||||
|
Summary: Zsh shell completion for powerprofilesctl
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: zsh
|
||||||
|
Supplements: (%{name} and zsh)
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n powerprofilesctl-zsh-completion
|
||||||
|
This package provides zsh shell completions for powerprofilesctl.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%meson \
|
||||||
|
-Dsystemdsystemunitdir=%{_unitdir} \
|
||||||
|
-Dgtk_doc=true \
|
||||||
|
-Dpylint=disabled \
|
||||||
|
-Dtests=true \
|
||||||
|
-Dzshcomp=%{_datadir}/zsh/site-functions/ \
|
||||||
|
%{nil}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%meson_install
|
||||||
|
%{python3_fix_shebang}
|
||||||
|
|
||||||
|
%check
|
||||||
|
%meson_test
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%service_add_pre %{name}.service
|
||||||
|
|
||||||
|
%post
|
||||||
|
%service_add_post %{name}.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%service_del_preun %{name}.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%service_del_postun %{name}.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc README.md
|
||||||
|
%{_bindir}/powerprofilesctl
|
||||||
|
%{_libexecdir}/%{name}
|
||||||
|
%{_unitdir}/%{name}.service
|
||||||
|
%{_datadir}/dbus-1/system.d/net.hadess.PowerProfiles.conf
|
||||||
|
%{_datadir}/dbus-1/system.d/org.freedesktop.UPower.PowerProfiles.conf
|
||||||
|
%{_datadir}/dbus-1/system-services/net.hadess.PowerProfiles.service
|
||||||
|
%{_datadir}/dbus-1/system-services/org.freedesktop.UPower.PowerProfiles.service
|
||||||
|
%{_datadir}/polkit-1/actions/power-profiles-daemon.policy
|
||||||
|
%{_mandir}/man1/powerprofilesctl.1%{?ext_man}
|
||||||
|
%ghost %dir %{_localstatedir}/lib/%{name}
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%dir %{_datadir}/gtk-doc/
|
||||||
|
%dir %{_datadir}/gtk-doc/html/
|
||||||
|
%{_datadir}/gtk-doc/html/%{name}/
|
||||||
|
|
||||||
|
%files -n powerprofilesctl-bash-completion
|
||||||
|
%{_datadir}/bash-completion/completions/*
|
||||||
|
|
||||||
|
%files -n powerprofilesctl-zsh-completion
|
||||||
|
%dir %{_datadir}/zsh/site-functions
|
||||||
|
%{_datadir}/zsh/site-functions/*
|
||||||
|
|
||||||
|
%changelog
|
63
respect-dpm-manual.patch
Normal file
63
respect-dpm-manual.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
From 21b58819edcbbd87fc161474d1501debfd9b84b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mario Limonciello <mario.limonciello@amd.com>
|
||||||
|
Date: Thu, 5 Sep 2024 18:53:50 -0500
|
||||||
|
Subject: [PATCH] action-amdgpu-dpm: Don't override user settings for dpm if
|
||||||
|
set to `manual`
|
||||||
|
|
||||||
|
---
|
||||||
|
src/ppd-action-amdgpu-dpm.c | 5 +++++
|
||||||
|
tests/integration_test.py | 22 ++++++++++++++++++++++
|
||||||
|
2 files changed, 27 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/ppd-action-amdgpu-dpm.c b/src/ppd-action-amdgpu-dpm.c
|
||||||
|
index 7e141de..e8e34b9 100644
|
||||||
|
--- a/src/ppd-action-amdgpu-dpm.c
|
||||||
|
+++ b/src/ppd-action-amdgpu-dpm.c
|
||||||
|
@@ -99,6 +99,11 @@ ppd_action_amdgpu_dpm_update_target (PpdActionAmdgpuDpm *self, GError **error)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (g_strcmp0 (value, "manual") == 0) {
|
||||||
|
+ g_info ("Device %s is in manual mode, not changing", g_udev_device_get_sysfs_path (dev));
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
g_info ("Setting device %s to %s", g_udev_device_get_sysfs_path (dev), target);
|
||||||
|
if (!ppd_utils_write_sysfs (dev, DPM_SYSFS_NAME, target, error))
|
||||||
|
return FALSE;
|
||||||
|
diff --git a/tests/integration_test.py b/tests/integration_test.py
|
||||||
|
index 30ae097..6c898fd 100644
|
||||||
|
--- a/tests/integration_test.py
|
||||||
|
+++ b/tests/integration_test.py
|
||||||
|
@@ -1646,6 +1646,28 @@ class Tests(dbusmock.DBusTestCase):
|
||||||
|
upowerd_obj.Set("org.freedesktop.UPower", "OnBattery", True)
|
||||||
|
self.assert_file_eventually_contains(energy_prefs, "balance_power")
|
||||||
|
|
||||||
|
+ def test_amdgpu_dpm_manual(self):
|
||||||
|
+ """Verify AMDGPU dpm power actions avoid manual"""
|
||||||
|
+ amdgpu_dpm = "device/power_dpm_force_performance_level"
|
||||||
|
+ card = self.testbed.add_device(
|
||||||
|
+ "drm",
|
||||||
|
+ "card0",
|
||||||
|
+ None,
|
||||||
|
+ [amdgpu_dpm, "manual\n"],
|
||||||
|
+ ["DEVTYPE", "drm_minor"],
|
||||||
|
+ )
|
||||||
|
+ self.create_amd_apu()
|
||||||
|
+
|
||||||
|
+ self.start_daemon()
|
||||||
|
+
|
||||||
|
+ self.assertIn("amdgpu_dpm", self.get_dbus_property("Actions"))
|
||||||
|
+
|
||||||
|
+ self.set_dbus_property("ActiveProfile", GLib.Variant.new_string("balanced"))
|
||||||
|
+ self.assert_sysfs_attr_eventually_is(card, amdgpu_dpm, "manual")
|
||||||
|
+
|
||||||
|
+ self.set_dbus_property("ActiveProfile", GLib.Variant.new_string("power-saver"))
|
||||||
|
+ self.assert_sysfs_attr_eventually_is(card, amdgpu_dpm, "manual")
|
||||||
|
+
|
||||||
|
def test_amdgpu_dpm(self):
|
||||||
|
"""Verify AMDGPU dpm power actions"""
|
||||||
|
amdgpu_dpm = "device/power_dpm_force_performance_level"
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
Loading…
Reference in New Issue
Block a user