CachyOS / CachyOS/CachyOS-Handheld

steamosctl set-max-charge-level fails with UnknownInterface: BatteryChargeLimit1 on Legion Go S

Open
#132 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
89
Forks
13
PR merge metrics
No merged PRs in 30d

Description

**Summary**

steamosctl set-max-charge-level fails because the BatteryChargeLimit1 D-Bus interface is missing, despite the command being available.

**Description**

On my system, steamosctl includes the set-max-charge-level command, but attempting to use it results in a D-Bus error indicating that the required interface does not exist.

**Steps to Reproduce**

Open a terminal.

Run:

steamosctl set-max-charge-level 100

**Expected Behavior**

The battery charge limit should be updated (or the command should report that the feature is unsupported if the hardware or firmware does not support it).

**Actual Behavior**

The command fails with:

Error: org.freedesktop.DBus.Error.UnknownInterface: Unknown interface 'com.steampowered.SteamOSManager1.BatteryChargeLimit1'

**Additional Information**

The battery appears to expose charge mode information through sysfs:

/sys/class/power_supply/BAT0/charge_types: Fast Standard [Long_Life]
POWER_SUPPLY_CHARGE_TYPES=Long Life

However, there is no writable charge_type or charge_control_end_threshold sysfs interface, and the BatteryChargeLimit1 D-Bus interface is not present.

I was able to enable long life battery management (80% max charge) in official SteamOS but I now have no way to disable it in CachyOS.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the steamosctl set-max-charge-level command and trace its use of the com.steampowered.SteamOSManager1.BatteryChargeLimit1 D-Bus interface. Compare that path with the available /sys/class/power_supply/BAT0/charge_types information and verify behavior on hardware without the writable sysfs controls. Done means the charge limit is updated where supported, or the command reports that the feature is unsupported instead of failing with UnknownInterface.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, shell
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.