[Steam Frame] Hard power-off at 47-62% battery under sustained ~2.8 A load; BCL counter climbs for minutes beforehand, no warning
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- linux
- Ambito
- operating-systems
Direzione di ricerca
Start by reviewing the reported deckard_charge_daemon journal lines and the qcom-bcl-hwmon thresholds mentioned in the issue. Reproduce with a sustained 2.6–3.0 A load and monitor the battery current, BCL counter, and shutdown behavior. Done means identifying why the headset powers off with substantial charge remaining and whether a warning or load response is feasible.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Your system information
- Steam client version: Steam Frame stable client as of 2026-11-04
- SteamOS version: Steam Frame build 20261022.6150929 (no OS update pending when checked on 2026-11-04)
- Opted into Steam client beta?: No
- Opted into SteamOS beta?: No
- Have you checked for updates in Settings > System?: Yes
Please describe your issue in as much detail as possible:
Expected: under a sustained heavy load the headset keeps running until the battery is actually low, and warns before it shuts down.
Actual: the headset powers off abruptly, with no warning and no orderly shutdown, while the fuel gauge still reports 47-62 %. In both cases the battery was discharging at about 2.6-3.0 A. For several minutes before each power-off, the BCL counter in the deckard_charge_daemon log climbed by hundreds of thousands every 20 s. In sessions with lighter load (~1.2-1.3 A), the counter stays at 0 and the headset runs normally down to 20 %.
The load is a PC VR streaming client: an OpenXR app doing hardware HEVC decode at about 1440x1440 per eye and 120-144 Hz, plus the compositor. The same kind of load that any SteamVR streaming session puts on the device.
Battery: max1720x reports cycle_count=33, charge_full=2454000 vs charge_full_design=2730000 (90 %), health=Good.
What the journal shows. For both power-offs the journal just stops: no shutdown target, no logind or poweroff messages. The next boot starts about a minute later.
| Boot ended | SOC at end | Battery current | BCL counter (first value in BCL(1): [...]) |
How it ended |
|---|---|---|---|---|
| 2026-10-30 13:15 | 62 % | -2.6 to -2.9 A | 0x0002d784 at 71 % -> 0x000cf1a6 at 62 %, rising steeply in the last 2 min | journal stops (hard power-off) |
| 2026-10-31 09:50 | 47 % | -2.7 to -3.0 A | 0x0004eaf8 at 69 % -> 0x003bd7c9 at 49 %, +200k to +500k per 20 s | journal stops (hard power-off) |
| 2026-11-02 (long session) | down to 20 % | -1.2 to -1.3 A | 0 throughout | normal |
| 2026-11-03, 2026-11-04 | 99-100 % | 0 | orderly shutdown by the user |
Last minutes before the 2026-10-31 power-off (journalctl -b -3 -t deckard_charge_daemon, FG and BCL lines only):
09:46:07 FG INT - V: 7.567; Cur: -2.80; SOC: 55 %
09:46:07 BCL(1): l0=2975 l1=2975 [0021cdf1 00000000 00000000]
09:46:27 FG INT - V: 7.554; Cur: -2.80; SOC: 54 %
09:46:27 BCL(1): l0=2975 l1=2975 [002832d8 00000000 00000000]
09:47:07 FG INT - V: 7.529; Cur: -2.86; SOC: 53 %
09:47:07 BCL(1): l0=2900 l1=2900 [0029a299 00000000 00000000]
09:48:07 FG INT - V: 7.502; Cur: -2.99; SOC: 51 %
09:48:07 BCL(1): l0=2950 l1=2950 [002d0c19 00000000 00000000]
09:48:27 FG INT - V: 7.490; Cur: -2.87; SOC: 50 %
09:48:27 BCL(1): l0=2900 l1=2900 [00345349 00000000 00000000]
09:48:47 FG INT - V: 7.479; Cur: -2.97; SOC: 49 %
09:48:47 BCL(1): l0=2925 l1=2925 [003bd7c9 00000000 00000000]
09:49:48 FG INT - V: 7.455; Cur: -2.86; SOC: 47 %
09:49:48 BCL(1): l0=2800 l1=2775 [003bd7c9 00000000 00000000]
# journal ends at 09:50:04; next boot 09:51:11
For comparison, the 2026-11-02 session at about 1.25 A stayed at [00000000 ...] from 99 % down to 20 % (e.g. 17:48:13 ... SOC: 20 %, BCL(1): ... [00000000 00000000 00000000]).
Observations
- The pack voltage reported by the gauge is still 7.45-7.75 V (about 3.73-3.88 V per cell) when the BCL counter starts climbing. That is well above
voltage_min_design(6.6 V). So the trips look like transient sag under load peaks, not a depleted battery. l0/l1(as I understand it, the BCL thresholds the daemon programs; they matchin0_min/in0_lcritof theqcom-bcl-hwmonsensor) go down with SOC: 3600 at full, 2775-2950 around 50 %. The counter climbs regardless.- On this unit, under a sustained ~2.8 A load, the usable range ends at around 50-70 % SOC instead of near 0 %. SteamOS shows no low-battery warning before the cut-off, because the percentage is still high.
- A Steam Community user reports a similar symptom: the Frame shut off "like it was dead" at 75 % right after startup, and was fine on an external battery. That points to the same kind of load-dependent cut-off.
Questions / requests
- Is a hard power-off at this SOC and current expected for this battery, or does it point to a cell or BCL configuration problem on this unit?
- If BCL is about to escalate to a shutdown, could SteamOS warn the user, or throttle harder, before the headset dies? Right now there is no warning.
- Could the BCL counters (or a "power limited" state) be exposed to unprivileged apps? Today they are only visible in the daemon log and debugfs, so apps cannot warn the user or reduce their own load.
Steps for reproducing this issue:
- Charge to 100 %, unplug.
- Run a sustained heavy load that keeps the battery current around 2.6-3.0 A (PC VR streaming at 120-144 Hz is enough).
- Watch
journalctl -f -t deckard_charge_daemon. Around 70 % SOC the first value inBCL(1): [...]starts climbing every 20 s. Within roughly 5-15 minutes the headset powers off with 45-65 % left.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 2.7k
- Fork
- 89
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ValveSoftware/SteamOS
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
ValveSoftware/SteamOS#3037 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ValveSoftware/SteamOS#2983 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/SteamOS#2927 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ValveSoftware/SteamOS#2875 · 1 commento ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repairAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
ValveSoftware/SteamOS#2829 ·
Tutte le issue di ValveSoftware/SteamOS
Issue simili
-
good first issue help wanted program
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
hffgzktbcc-blip/ounce-core#297 ·
I maintainer di solito rispondono entro 1 giorno
-
insight P1 roadmap
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
bytecodealliance/rustix#1736 ·
I maintainer di solito rispondono entro 1 giorno
-
Possible recompiler bugForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
sarah-walker-pcem/pcem#339 · 1 commento ·
-
NormalizeString returns 0 instead of the negated needed length, so .NET's string.Normalize throwsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
mirkobrombin/raven#158 ·
I maintainer di solito rispondono entro 1 giorno