Commit graph

79 commits

Author SHA1 Message Date
Vicki Pfau
fd500229d6 error: Split out error utils into a separate module 2024-05-08 16:52:45 -07: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
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
55b2acb533 Fix warnings 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
65d8ff958e manager: Move API_VERSION to crate root 2024-05-06 13:24:59 -07: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
f6dd8ce3dd main: Generalize how to convert errors into zbus errors 2024-04-30 22:10:19 -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
1733a2e8cf manager: Fix out of date comment 2024-04-16 17:23:55 -07:00
Vicki Pfau
7b8ffbc708 hardware: Move fan control logic out of the manager 2024-04-16 17:23:33 -07:00
Vicki Pfau
f3d8e97633 wifi: Move more logic out of the manager 2024-04-15 19:43:23 -07:00
Vicki Pfau
1c959dddb5 manager: Bypass polkit helpers and call underlying scripts where applicable 2024-04-10 17:12:30 -07:00
Vicki Pfau
45999bbb41 manager: Fix typo in updating BIOS 2024-04-10 17:06:40 -07:00
Vicki Pfau
b962bbf548 Fix clippy warnings, and an actual bug with FanControl::try_from<u32> 2024-04-05 15:30:15 -07:00
Vicki Pfau
cf962b26c5 Fix test build warnings 2024-04-04 18:38:39 -07:00
Vicki Pfau
cb04cd2cf4 manager: Improve error logging 2024-04-04 18:08:21 -07:00
Vicki Pfau
cf4d7b9ba9 manager: Add manual_gpu_clock tests 2024-04-04 18:08:21 -07:00
Vicki Pfau
8b59bd3a39 manager: Fix property capitalization 2024-04-04 18:08:21 -07:00
Vicki Pfau
3c62c57d52 manager: Add get/set_gpu_performance_level tests 2024-04-04 18:08:21 -07:00
Vicki Pfau
eabf6d5a98 power: Implement get_tdp_limit and TDPLimit 2024-04-04 18:08:21 -07:00
Vicki Pfau
d13010dcb0 power: Implement get_gpu_clocks and ManualGPUClock 2024-04-04 18:08:21 -07:00
Vicki Pfau
d751110086 manager: Add emits_changed_signal where appropriate 2024-04-04 18:08:21 -07:00
Vicki Pfau
35e520712d Realign enums that had UnsupportedFeature to start at 0 2024-04-04 18:08:21 -07:00
Vicki Pfau
1c825797be manager: Implement wifi_power_management_state 2024-04-04 18:08:21 -07:00
Vicki Pfau
36c34fcbda Run cargo fmt 2024-04-04 18:08:21 -07:00
Vicki Pfau
9431ae9474 wifi: Remove get_wifi_backend_from_script
The script does exactly the same thing as what the _from_conf function did
2024-04-04 18:08:21 -07:00
Vicki Pfau
b0250bda01 manager: Fix method order 2024-04-04 18:08:21 -07:00
Vicki Pfau
8d92fae7db manager: Add stub implementations of min/max properties 2024-04-04 18:08:21 -07:00
Vicki Pfau
406988fbdf manager: Implement fan_control_state 2024-04-04 18:08:21 -07:00
Vicki Pfau
853ce3dd84 systemd: Add new module for interacting with systemd 2024-04-04 18:08:21 -07:00
Vicki Pfau
9ec6fc8852 manager: Clean up Result<_, zbus::fdo::Error> into zbus::fdo::Result<_> 2024-04-04 18:08:21 -07:00
Vicki Pfau
86515aceaf Run cargo fmt 2024-04-04 18:08:21 -07:00
Vicki Pfau
b0628fc7b9 Add support to get/set WiFi back-end
This change implements the ability to get and set the WiFi back-end,
by leveraging a new script created for that purpose.

The idea is to be able to use 'wpa_supplicant' (which is the default
back-end in NetworkManager upstream) when 'iwd' (the default in
SteamOS) does not work for some reason.

This change interacts with another feature of steamos-manager, which
is to set debug mode for WiFi.  Handling debug mode complicates things
substantially because those methods write config for 'iwd' and restart
the daemons/systemd units, with many interdependencies.

Instead of trying to implement all at once and attempt feature-parity
between back-ends on this aspect from the start, as a first step the
operations are just declared incompatible.  As a result, if
WifiDebugMode=on the back-end cannot be changed, and conversely the
WifiDebugMode cannot be turned on when the back-end is
'wpa_supplicant'.

Co-authored-by: Manuel A. Fernandez Montecelo <mafm@igalia.com>
2024-04-04 18:08:21 -07:00
Vicki Pfau
452690adee Kill UnsupportedFeature 2024-04-04 18:08:21 -07:00
Vicki Pfau
ffebee0930 manager: Start writing tests 2024-04-04 18:08:21 -07:00
Vicki Pfau
8ae6c98554 process: Make API less fiddly 2024-04-04 18:08:13 -07:00
Vicki Pfau
fd14514d6c manager: Implement format_device 2024-04-04 18:08:13 -07:00
Vicki Pfau
69e6477053 manager: Implement new API 2024-04-04 18:08:13 -07:00
Vicki Pfau
6a5e693e5b manager: Pass an empty slice instead of a slice with a single empty string 2024-04-04 18:01:38 -07:00
Vicki Pfau
6e3ac42e8e power: Split out from manager 2024-04-02 18:20:09 -07:00
Vicki Pfau
309f2acc1b wifi: Split out from manager 2024-04-02 18:20:09 -07:00
Vicki Pfau
0d90859841 process: Split out from manager 2024-04-02 18:20:09 -07:00
Vicki Pfau
3565886d3f Turn galileo detection into generalized model detection 2024-03-29 14:59:48 -07:00
Vicki Pfau
ebd89f4f72 manager: Just don't call start-/stop_tracing if should_trace is false 2024-03-29 14:59:48 -07:00
Vicki Pfau
3c3505c311 Move license text to LICENSE file 2024-03-22 19:24:18 -07:00
Vicki Pfau
6f1f1c032c manager: Use anyhow::ensure 2024-03-20 18:25:48 -07:00
Vicki Pfau
87ef532ce4 manager: Move std::fs operations back into tokio::fs 2024-03-20 18:19:33 -07:00
Vicki Pfau
f8d390d6ff Update copyrights 2024-03-20 18:13:58 -07:00