Hello ,
I’m currently using the custom dbus-serialbattery
like driver on two devices:
- Cerbo GX with Venus OS v3.62
- Raspberry Pi (model 4) also with Venus OS v3.62
Both devices are running identical versions of the driver and the OS, and I’ve been using this same setup successfully on Venus OS v3.55 and earlier for quite some time.
What’s Working
- On Cerbo GX, the driver performs flawlessly: smooth UI updates, no crashes or logs, and full responsiveness even under multi-battery monitoring conditions.
- The driver uses
VeDbusItemImport
in my implementation to aggregate battery data virtually, and it works as expected on Cerbo GX.
What’s Not Working
On the Raspberry Pi, with the same software stack and configuration:
- The GUI becomes sluggish and nearly unresponsive, especially when monitoring multiple battery services.
- The system throws occasional errors, and UI navigation becomes painfully slow.
- No crash or critical error appears in logs from the
dbus-serialbattery
driver.
Configuration Overview
- The driver features a custom menu to switch between
DbusMonitor
andVeDbusItemImport
for battery monitoring. - The monitoring involves multiple battery services across multiple paths, and dynamically selected services.
Questions & Help Needed
- Are there known performance bottlenecks or limitations on Raspberry Pi hardware (even Pi 4) with
VeDbusItemImport
, especially under Venus OS v3.62? - Could there be missing optimizations or caching mechanisms I should apply when scaling to multiple
VeDbusItemImport
reads? - Is there any change in D-Bus thread priority or GLib main loop handling in v3.62 that could explain such different behavior across platforms?
- Are there any logs or tools you’d recommend to profile
VeDbusItemImport
overhead or D-Bus traffic on the Pi?
Additional Info
- The issue is not related to power supply, overheating, or hardware failure – confirmed by testing other services and general OS performance.
- Driver is installed as a service and auto-starts properly on both devices.
- I’ve experimented with reducing the number of monitored services — it improves performance somewhat, but it’s still far from Cerbo GX levels.
Any leads, suggestions, or links to relevant posts/discussions would be highly appreciated.
Thanks in advance