From 5778a636f3a9acf3cf2e13b84f579458874a2969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kalle=20Ahlstr=C3=B6m?= Date: Mon, 2 Jun 2025 23:25:52 +0300 Subject: [PATCH] daemon: make tdp_service optional There seems to have been recent addition of requiring a valid TDPManagerService in the user daemon, which in turn breaks the service for people who use steamos-manager on devices such as HTPCs or other non-supported hardware. Fix this by making the TDP configuration optional in the user daemon. --- src/daemon/user.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/daemon/user.rs b/src/daemon/user.rs index c5db378..359dfa9 100644 --- a/src/daemon/user.rs +++ b/src/daemon/user.rs @@ -109,7 +109,12 @@ pub(crate) type Command = DaemonCommand<()>; async fn create_connections( channel: Sender, -) -> Result<(Connection, Connection, JobManagerService, TdpManagerService)> { +) -> Result<( + Connection, + Connection, + JobManagerService, + Result, +)> { let system = Connection::system().await?; let connection = Builder::session()? .name("com.steampowered.SteamOSManager1")? @@ -121,7 +126,7 @@ async fn create_connections( let jm_service = JobManagerService::new(job_manager, rx, system.clone()); let (tdp_tx, rx) = unbounded_channel(); - let tdp_service = TdpManagerService::new(rx, &system, &connection).await?; + let tdp_service = TdpManagerService::new(rx, &system, &connection).await; create_interfaces(connection.clone(), system.clone(), channel, jm_tx, tdp_tx).await?; @@ -151,7 +156,9 @@ pub async fn daemon() -> Result<()> { let mut daemon = Daemon::new(subscriber, system, rx).await?; daemon.add_service(mirror_service); - daemon.add_service(tdp_service); + if let Ok(tdp_service) = tdp_service { + daemon.add_service(tdp_service); + } session.object_server().at("/", ObjectManager {}).await?;