Skip to content

alexVinarskis/dell-powermanager

Repository files navigation

Build GitHub release (with filter) GitHub all releases

Dell Power Manager

Cross-Platform Dell Power Manager re-implementation in Flutter. More screenshots in Wiki.

Screenshot Summary

Why

Dell machines (XPS and Precision series laptops, potentially others) offer advanced in-bios configurable options, such as multiple thermal profiles, battery charging thresholds, etc. It may be very desirable to adjust these on the go, and there is no way to configure it from OS without Dell's proprietary tools (which are luckily provided). Settings can be changed via:

This app is a modern, Flutter based GUI on top of Dell Command | Configure CLI, with main goal to replicate behavior of Dell Power Manager for Linux users, but also does run on Windows.

Features

  • Implements control via 'Dell Command | Configure CLI' (CCTK)
  • Modern animated UI, supports Dark Mode
  • Short startup time, much faster than Dell's Windows app
  • Detects and handles unsupported modes on supported machines
  • Detects non-dell machines, shows error message
  • Support protected BIOS (System/Setup/Owner passwords), and secure key saving

For Debian/Ubuntu based Linux and Windows, app is slightly more productized:

  • Integrated dependencies downloader and installer
  • Packaged to .deb/.msi, with start menu shortcuts etc.
  • Integrated OTA via Github API

Control features:

  • Battery status overview (health etc.)
  • Battery charging control (w/o advanced/daily timing mode for now)
  • Thermal profiles control
  • Detects OS's power mode

Planned TODOs:

Potential future features to consider:

  • Add monitoring service for auto switching thermal profiles based on CPU load
  • Add monitoring service for auto switching thermal profiles based on power settings, eg. Battery level, plug/unplugged etc.

Development status

Application is currently in public beta stage.

  • Dell's CCTK integrated (with automated installer for select OSs)
  • Update checks implemented (with OTA ia Github API for select OSs)
  • UI tested, build and packaging asserted by CI
  • Tested on multiple platforms, see Compatibility
  • Packaged to .msi, .deb, .tar.xz. Get latest stable build at Releases, or latest development build at CI artifacts

Linux

  • Run from source via flutter run, build via flutter build linux --release
  • Package to .deb, .tar.xz via ./package.sh

Windows

  • Run from source via flutter run, build via flutter build windows --release
  • Package to .msi via .\package.bat

Contributing

Debugging

By default, all logging is supressed. Export POWERMANAGER_DEBUG=true before running app from CLI to get logs. Eg.: export POWERMANAGER_DEBUG=true && ./dell-powermanager > file.log. When opening an issue, kindly save and attach the log.

Translations

App supports multiple languages via Flutter's localization library. If you want to contribute:

  • Check out lib/l10n/*.arb files.
  • Create similar file for you language, translate the strings.
  • Open PR with your changes.

Compatibility

Tested on the following devices:

  • Dell XPS 17 9700
  • Dell XPS 15 9530
    • Ubuntu 23.04, 6.5.0-060500-generic
    • Ubuntu 23.10, 6.5.0-060500-generic
    • Windows 11 Pro 22H2, 22621.2428
  • Dell XPS 15 9520
    • Arch, 6.7.5
    • Ubuntu 22.04, 6.2.0
    • Windows 11 Home 22H2, 22621.2428
  • Dell XPS 13 9310
    • Ubuntu 22.04.3, 6.2.0-26-generic
    • Windows 10 pro 22H2, 19045.3324
  • Dell Vostro 5401

If you experienced problems with any of the above mentioned devices, please open Bug Report. If you have tested it on other devices, please report Tested device.

Known issues

Please see issues.

Credits

  • Dell for providing 'Dell Command | Configure CLI'
  • Google for creating Flutter :)

Disclaimer

As per license, this software is provided as-is, without any warranty. It is not affiliated with Dell in any way. Use at your own risk. Me or any other contributors are not responsible for any damage caused by this software, including but not limited to data loss, hardware damage, data breaches etc. Where applicable, integrated solution for secure key saving is used, but it is not guaranteed to be secure in any way. Understand risk and implications before using it. No legal claims can be made against the author or contributors.

License

This application is licensed under GPLv3. In short, this means you use/copy/modify/distribute it for free, but you must provide source code of your modifications, and keep the same license. You cannot sell it as proprietary software. See LICENSE for details.