Jeremy Whiting
b54cb5638a
Use Strum for GPUPerformanceLevel.
...
Can't use it with GPUPowerProfile because one of the sysfs
strings starts with a '3' digit.
2024-06-28 22:52:41 +00:00
Vicki Pfau
336fe1d3be
Run cargo fmt
2024-06-28 15:51:27 -07:00
Vicki Pfau
5e8b4160d2
power: Combine GPU prefix lookups into simpler helpers
...
Previously we had two diferent lookup functions for finding the GPU in
/sys/class/drm/card* and /sys/class/hwmon/hwmon*, but for the former we only
used paths under it in device/. In both these cases, the device/ directory is a
symbolic link to the same directory, so in the case of one AMD GPU in a
machine, these operations were equivalent.
This MR removes the /sys/class/drm version as well as refactoring some of the
utility code to reduce code duplication.
2024-06-28 15:11:50 -07:00
Jeremy Whiting
93e153079d
Rework the CPUGovernors enum a bit.
...
Change to CPUScalingGovernors and use strum
crate to remove some cruft.
2024-06-28 08:59:11 -06:00
Jeremy Whiting
c75c50762d
Add cpu governor getting and setting to steamosctl.
...
TODO: Need to test this manually but config issues are causing
daemon's to die here currently because of missing paths.
2024-06-28 08:59:11 -06:00
Jeremy Whiting
7f9d25074e
Add CPU Scheduler Governors.
...
Add a new enumeration for cpu scheduler governors.
Adds a property to get the available governors as a map of
value to strings similar to how we expose GPU Power Profiles.
Adds another property to get and set the current governor which
is applied to all cpus when set.
2024-06-28 08:59:08 -06:00
Vicki Pfau
71827ac7ee
xml: Fix documentation errors
2024-06-27 22:46:29 -07:00
Vicki Pfau
4dd23fce8e
proxy: Add missing UdevEvents proxy
2024-06-26 20:55:53 -07:00
Vicki Pfau
1892320db7
daemon: Config structs don't need to be Serialize
2024-06-25 19:30:05 -07:00
Vicki Pfau
b9e23b74e2
manager/root: Add a few more tests
2024-06-21 19:10:51 -07:00
Vicki Pfau
04d4dc74af
Run cargo fmt
2024-06-18 18:44:35 -07:00
Vicki Pfau
0f14facac9
manager/user: Add ReloadConfig method
2024-06-17 21:27:56 -07:00
Vicki Pfau
cd14f50f68
manager/root: Add ReloadConfig method
2024-06-17 21:12:25 -07:00
Vicki Pfau
bf218d248d
daemon/user: Mark some structs pub(crate) as appropriate
2024-06-17 21:12:25 -07:00
Vicki Pfau
0c05b760ed
Actually commit correct file this time...
2024-06-13 14:37:55 -07:00
Vicki Pfau
6285530a4a
Run cargo fmt
2024-06-13 14:34:36 -07:00
Vicki Pfau
2d6da03520
daemon/root: Move ftrace initialization
2024-06-13 13:12:45 -07:00
Vicki Pfau
38d52626e8
daemon: Hold onto and expose connection object
2024-06-13 13:12:45 -07:00
Jeremy Whiting
b51569b657
Improve logging on config loading failures.
...
When we fail to load a config directory we are logging that
it wasn't a directory. With this change also log which directory
we were expecting to load that isn't one so we can fix it...
2024-06-13 08:22:01 -06:00
Vicki Pfau
334faffaa8
daemon: Import EnvFilter so RUST_LOG env var works
2024-06-12 18:10:49 -07:00
Vicki Pfau
a56101c71c
daemon/root: Fix state loading
2024-06-12 18:02:07 -07:00
Vicki Pfau
5b8deecd45
daemon: Mark default state and config with serde(default)
2024-06-12 17:44:40 -07:00
Vicki Pfau
037d418553
daemon/root: Allow DsInhibit to be toggled at runtime
2024-06-12 23:16:09 +00:00
Vicki Pfau
cae5a69e6e
ds_inhibit: Fix license
2024-06-12 16:10:40 -07:00
Vicki Pfau
f5b17330bc
daemon: Move configs from /usr/lib to /usr/share to avoid path conflict with bin
2024-06-12 15:55:12 -07:00
Vicki Pfau
2410334c0b
manager: Simplify test setup
2024-06-10 21:35:03 -07:00
Vicki Pfau
6dc04e70d2
udev: Add udev listener service
...
This service lives in the user daemon and has the path
/com/steampowered/SteamOSManager1/UdevEvents
2024-06-10 20:55:43 -07:00
Vicki Pfau
67736cef01
thread: Add AsyncJoinHandle for waiting on threads asynchronously
2024-06-10 20:50:57 -07:00
Vicki Pfau
2f784f9741
daemon: Add config loading
2024-06-11 03:38:21 +00:00
Vicki Pfau
1a69cce50b
daemon: Allow context-specific commands on the message channel
2024-06-11 03:38:21 +00:00
Vicki Pfau
b582d51c90
daemon: Add message channel for sending commands to the daemon object
2024-06-11 03:38:21 +00:00
Vicki Pfau
c6113ee739
daemon: Start bringing up contexts and state loading/saving
2024-06-11 03:38:21 +00:00
Vicki Pfau
23267c65e0
daemon: Start restructuring config reloading
2024-06-11 03:38:21 +00:00
Jeremy Whiting
f30c54c907
Add gpu power profile(s) property management to steamosctl.
...
Adds get-gpu-power-profiles to list supported profiles
get-gpu-power-profile to list current and
set-gpu-power-profile to set.
2024-06-05 15:38:25 -06:00
Jeremy Whiting
0759ff7077
Add gpu power profile(s) properties.
...
Add profiles property to give back available
profiles on this device.
Add profile property to get and set current gpu
power profile.
Filter possible properties when on deck.
Get current profile based on position of * character.
Get card0 path based on which cardX has vendor 0x1002
Add some basic tests.
TODO:
Possibly cache available properties instead of fetching repeatedly.
2024-06-05 15:36:41 -06:00
Jeremy Whiting
8c1baa152b
Update the proxy to match the xml.
...
Depending when this lands we may need to do it again.
2024-06-04 15:31:47 -06:00
Vicki Pfau
788cf884bf
Run cargo fmt
2024-05-30 16:54:14 -07:00
Vicki Pfau
922ba006ae
power: Improve GPU test reliability
2024-05-30 01:41:20 -07:00
Vicki Pfau
32d31e9d27
cec: Add enum round-trip tests
2024-05-27 19:38:14 -07:00
Vicki Pfau
8769298416
Run cargo fmt
2024-05-24 15:40:31 -07:00
Vicki Pfau
98f402c33c
power: Add enum round-trip tests
2024-05-24 15:10:45 -07:00
Vicki Pfau
bf2762cc67
hardware: Add enum round-trip tests
2024-05-24 15:10:36 -07:00
Vicki Pfau
89a757b7fc
wifi: Add enum round-trip tests
2024-05-23 19:39:06 -07:00
Vicki Pfau
b7b09e6c17
power: Move GPUPerformanceLevel::to_string to Display::fmt
2024-05-22 18:57:16 -07:00
Vicki Pfau
b2f612cd45
manager: Slim down root interface, moving most getters directly to the user interface
2024-05-22 18:39:37 -07:00
Vivek Das Mohapatra
03b3c032d3
CI: Use condensed runner tag
2024-05-22 17:28:57 +01:00
Jeremy Whiting
f6298efbc9
Tweak the Subprocess api a bit.
...
From feedback from Andres changed SubProcess to just Job for
possible further changes to have the manager do things itself
without launching subprocesses.
Changed names objectpath to jobpath, exit_code to result, etc.
Removed Kill and added a force parameter to Cancel instead.
Also ran cargo fmt which tweaked indentation in a couple places.
Alos removed ExitCode, users can just call Wait again if needed.
2024-05-22 01:30:24 +00:00
Vicki Pfau
6e51d1556b
Merge README.md and HACKING.md and fix up some rewrite issues
2024-05-20 21:02:13 -07:00
Andres
56323bcf21
Update README.md
2024-05-17 19:32:27 +00:00
Andres
864a4fd587
Update README.md
2024-05-17 19:31:27 +00:00