Commit graph

332 commits

Author SHA1 Message Date
Vicki Pfau
dc7de16137 daemon: Improve module naming 2024-05-08 16:52:45 -07:00
Vicki Pfau
5efb67f15c proxy: Add missing default_service for SubProcess 2024-05-08 16:52:45 -07:00
Vicki Pfau
58223d988b Clean up zbus::fdo into fdo where possible 2024-05-08 16:52:45 -07:00
Vicki Pfau
fd500229d6 error: Split out error utils into a separate module 2024-05-08 16:52:45 -07:00
Vicki Pfau
f4247de8c1 lib: Export some modules as pub 2024-05-08 16:52:45 -07:00
Vicki Pfau
2977731fca user: Clean up init 2024-05-08 16:52:45 -07:00
Vicki Pfau
9e0338e189 process: Fix tests 2024-05-08 16:52:29 -07:00
Vicki Pfau
66a9008d84 process: Improve signal handling, don't wait for process in exit_code 2024-05-08 16:39:14 -07:00
Jeremy Whiting
4a6975281e Merge branch 'ci-update' into 'master'
Move CI to isolated runner(s)

See merge request holo/steamos-manager!20
2024-05-08 17:09:39 +00:00
Jeremy Whiting
f6398b0c8e Merge branch 'work/whiting/steamosctl' into 'master'
Add a steamosctl utility to call dbus api from command line.

See merge request holo/steamos-manager!22
2024-05-07 23:31:07 +00:00
Jeremy Whiting
d38aa35e58 steamosctl: Use session bus instead of system bus. 2024-05-07 16:42:44 -06:00
Jeremy Whiting
4553b29795 Also bump version to 24.5.0 for next release. 2024-05-07 16:42:44 -06:00
Jeremy Whiting
716f1d0e4d Add commands for updatebios|dock, trim devices and factory reset. 2024-05-07 16:42:44 -06:00
Jeremy Whiting
1fa25aaa41 Add get property commands for each property. 2024-05-07 16:42:42 -06:00
Jeremy Whiting
d8b689ae50 Add set commands for tdp limit, gpu performance, etc.
Also GPU manual clock and wifi power management state.
Some of these aren't currently working on latest main image
but it seems some of the sysfs paths have changed somehow...
2024-05-07 16:38:58 -06:00
Jeremy Whiting
6e8e36b053 Sort properties when steamosctl -a is used.
To make the output easier to parse as users sort by key.
2024-05-07 16:36:56 -06:00
Jeremy Whiting
8788e99245 Add steamosctl.
Add a second binary which is a command-line utility to get and set
the properties of the DBus api.
Add commands to set wifi debug mode and backend.
2024-05-07 16:36:54 -06:00
Vivek Das Mohapatra
7af9f08a60 Move CI to isolated runner(s) 2024-05-07 13:42:15 +01:00
Vicki Pfau
c3011c93aa Cargo.toml: Run cargo update 2024-05-06 15:09:04 -07:00
Jeremy Whiting
b62ae4841d Merge branch 'work/whiting/cancellable' into 'master'
Add a ProcessManager so we can cancel/pause/resume.

See merge request holo/steamos-manager!16
2024-05-06 21:00:51 +00:00
Jeremy Whiting
9e55f946f3 Fix user_manager test by adding mismatched return types.
Also add a note in failing argument length test about which
method we are checking for easier finding the problems.
2024-05-06 14:56:58 -06:00
Jeremy Whiting
88ce0ee123 Change a bit to have separate SubProcess vs ProcessManager.
Keep next_process, connection, etc. in ProcessManager instead
of SteamOSManager.
Also change exit_code to only give the exit code if known.
Added wait to do the wait and get the proper
exit code on completion.
Also added libc::pid_t use in process.rs.
2024-05-06 14:44:13 -06:00
Jeremy Whiting
cf1bf84d30 ProcessManager: Add some tests for various ProcessManager functions.
Keep track of whether we paused or resumed processes.
Don't try to wait for a paused process when exit_code() is called.
Make sure pause/resume work as expected, and error when expected.
2024-05-06 14:43:34 -06:00
Jeremy Whiting
c49426f6af ProcessManager: Add a ProcessManager so we can cancel/pause/resume.
In order to be able to pause/resume/cancel some operations
that could take some time we need to keep track of those processes
and give callers an id to pause/resume/cancel them with later.

In these long running cases, return an object path that can be used
to pause/resume/cancel when told to.

TODO:
- Add some tests and manually test that the right things happen
2024-05-06 14:43:32 -06:00
Vicki Pfau
f6a50b8970 Merge branch 'endrift/user-split' into 'master'
Bring up user daemon with HDMI-CEC status

See merge request holo/steamos-manager!18
2024-05-06 20:27:52 +00:00
Vicki Pfau
398445296d data: Split user and system data files into respective directories, add user D-Bus unit 2024-05-06 13:26:40 -07:00
Vicki Pfau
752ebfc297 user_manager: Don't cache properties 2024-05-06 13:24:59 -07:00
Vicki Pfau
55b2acb533 Fix warnings 2024-05-06 13:24:59 -07:00
Vicki Pfau
9339169d27 data: Add user systemd service 2024-05-06 13:24:59 -07:00
Vicki Pfau
42443b872f user_manager: Act as transparent relay for messages that need the root daemon 2024-05-06 13:24:59 -07:00
Vicki Pfau
1dcdfb2b23 cec: Add module and interface for accessing/controlling state 2024-05-06 13:24:59 -07:00
Vicki Pfau
bf521a7bbb user_manager: Start bringing up user manager 2024-05-06 13:24:59 -07:00
Vicki Pfau
65d8ff958e manager: Move API_VERSION to crate root 2024-05-06 13:24:59 -07:00
Vicki Pfau
24d740d178 user: Add user-running manager prototype 2024-05-06 13:24:59 -07:00
Vicki Pfau
ac823a845b daemon: Split parts of the root main into a reusable struct 2024-05-06 13:24:59 -07:00
Vicki Pfau
ff6aa760ca main: Start splitting out root daemon from main 2024-05-06 13:24:59 -07:00
Vicki Pfau
35d33d0074 data: Fix systemos-manager.service name in D-Bus unit file 2024-05-06 13:24:43 -07:00
Vicki Pfau
b674f694af systemd: Fix arguments to MaskUnitFiles 2024-05-02 17:46:59 -07:00
Vicki Pfau
e38ac57891 systemd: Add static unit file state 2024-05-02 17:32:01 -07:00
Jeremy Whiting
7adb60d491 Merge branch 'work/whiting/hwmon' into 'master'
Use hwmon to determine which sysfs path to use for gpu/power bits.

See merge request holo/steamos-manager!19
2024-05-02 03:18:52 +00:00
Jeremy Whiting
f3e5c8b576 Use hwmon to determine which sysfs path to use for gpu/power bits.
Instead of always using /sys/class/drm/card0 based paths, use
/sys/class/hwmon looking for amdgpu name file to determine where
to look.
Fixes reading TDPLimit, GPUPerformanceLevel and ManualGPUClock
in cases where sysfs uses card1 or other paths.
NOTE: Using wrong cardX path is a bug and will be fixed, but
this makes steamos-manager a bit more resilient to those bugs.
2024-05-01 21:17:45 -06:00
Vicki Pfau
94e4c69456 systemd: Fix some clippy warnings 2024-05-01 20:16:45 -07:00
Vicki Pfau
c82e8df52c Merge branch 'endrift/flesh-out' into 'master'
Flesh out some interfaces

See merge request holo/steamos-manager!21
2024-05-02 03:10:23 +00:00
Vicki Pfau
fc77feef2a power: Return 0 if no GPU clock can be found 2024-05-01 19:13:03 -07:00
Vicki Pfau
3fe16ce065 systemd: Add method for finding enable state of a unit 2024-04-30 22:22:09 -07:00
Vicki Pfau
f6dd8ce3dd main: Generalize how to convert errors into zbus errors 2024-04-30 22:10:19 -07:00
Vicki Pfau
eb5fbc8e39 systemd: Add methods for enabling, disabling, masking, and unmasking 2024-04-30 22:09:37 -07:00
Vicki Pfau
96ebb6d75c manager: Test for consistency with XML and exported DBus interfaces 2024-04-30 21:03:28 -07:00
Vicki Pfau
1e39dce571 manager: Fix method/property capitalization consistency 2024-04-29 20:12:52 -07:00
Vicki Pfau
1df02e776f Fix some errors in the XML comments 2024-04-24 18:13:44 -07:00