Commit graph

64 commits

Author SHA1 Message Date
Mario Limonciello
18a9c66681 Use python argparse and decorators instead of reinventing both 2024-02-14 10:37:14 -06:00
Mario Limonciello
ba2cf0d6f8 Add a Version property and read it with powerprofilesctl 2024-02-14 00:03:28 -06:00
Marco Trevisan (Treviño)
40f3361473 power-profiles-daemon: Emit ProfileReleased when an holder is released
We used to send the signal only when cleaning up the holders, but we
should notify them also when an holder has been released for whatever
reason.
2024-02-14 05:17:49 +00:00
Marco Trevisan (Treviño)
07132892f0 tests: Ensure that properties changed events are emitted 2024-02-14 05:17:49 +00:00
Marco Trevisan (Treviño)
f88ba64d1e ci: Add valgrind job 2024-02-14 04:27:39 +01:00
Marco Trevisan (Treviño)
44f000b5a7 build: Add valgrind setup
Add ability to run tests under valgrind using --setup=valgrind
2024-02-14 04:27:39 +01:00
Marco Trevisan (Treviño)
59ea84d061 tests: Allow tests running with address sanitizers
We need to manually preload the asan library, so read where that is
using some meson machinery inherited from fprintd.
2024-02-14 04:00:20 +01:00
Mario Limonciello
70849a6686 amdgpu: Handle disconnected panels correctly
Some systems have multiple GPUs with an eDP output but the panel
isn't connected to all of them (or it's controlled by a mux).

Handle this case by ensuring that the panel is connected when
before writing an attribute.
2024-02-13 23:20:42 +00:00
Mario Limonciello
07a77652b1 Add support for POWER_PROFILE_DAEMON_ACTION_BLOCK
This can let people avoid loading actions that on their system
in the event of a problem or desire not to use.
2024-02-13 23:20:42 +00:00
Mario Limonciello
41ed5d33a8 Add support for a amdgpu panel power savings action
This activates the DRM connector attribute `panel_power_savings`
which takes a range from 0 to 4 to indicate how aggresively to enable
panel power savings.

Link: https://lore.kernel.org/amd-gfx/0b94b25a-9ffa-41a5-b931-ad84e1892d36@amd.com/T/#m079d7c357626cf3a80cd9ba6239b3fe4fcf8937e
2024-02-13 23:20:42 +00:00
Marco Trevisan (Treviño)
3b29b0e52b cleanup: Use UPower namespace as default DBus name preserving old one
Expose the daemon as 'org.freedesktop.UPower.PowerProfiles' by default
but we also own the old 'net.hadess.PowerProfiles' name for
compatibility resons.

Also dbus objects are now registered also in the path
/org/freedesktop/UPower/PowerProfiles and they implement the
org.freedesktop.UPower.PowerProfiles interface.

Even in this case we preserve the compatibility with the old ones.

To make this switch as most reliable as possible, the code is now
generated for dbus configuration files preserving the previous ones as
base.

Tests are now performed checking both names, to ensure again that we're
not breaking the expectations for the old APIs consumers.
2024-02-13 20:44:29 +00:00
Marco Trevisan (Treviño)
520622ba70 data: Rename policykit policies to UPower namespace
We're part of UPower now so let's use the freedesktop standard namespace
2024-02-13 20:44:29 +00:00
Mario Limonciello
4896b3f1ec Reformat all integration tests using black and pylint 2024-02-13 20:04:46 +00:00
Mario Limonciello
8e49826403 Rename integration tests python file 2024-02-13 20:04:46 +00:00
Renamed from tests/integration-test.py (Browse further)