A Control Panel for Lenovo Thinkpad Laptop
The official LaptopControlPanel Home Page is located at http://fabricesalvaire.github.io/LaptopControlPanel
Written by Fabrice Salvaire.
LaptopControlPanel is a Python module that provides a Graphical Control Panel for Lenovo Thinkpad Laptop and a console tool to monitor and manage the battery. Such functions are not provided by standard control panels like those of the KDE desktop.
The source code is licensed under GPL V3.
This Python module uses ACPI calls and low level hardware functions. A miss use of these tools can crash the computer.
The control panel features:
- switch on/off network interfaces (wifi and bluetooth)
- switch on/off Nvidia GPU using /proc/acpi/bbswitch
- fan control using thinkpad-acpi module and /proc/acpi/ibm/fan
- battery control through ACPI calls
The battery management tool permits:
- to set the start and stop capacity threshold to charge the battery,
- to switch on battery when AC power is plugged,
- to setup a “peak shift” procedure.
Some usages of these functions are:
- to switch off the Nvidia GPU to save battery
- to speed-up the fan to cool the hard drive located under the left hand
The source of the ACPI calls for the battery management is unknown and comes from the repository tpacpi-bat. For reference, this discussion Laptop shock detection and harddisk protection on LKML illustrates the legal concern for such information.
The battery is managed by ACPI calls through the Low Pin Count bus and the Embedded Controller (ASL base is \_SB.PCI0.LPC.EC.HKEY). ACPI is an abstraction layer to set and get registers on the computer busses. The (acpi_call) module, which is not included in the kernel, is required to perform these calls. This module must be used carefully.
LaptopControlPanel requires the following dependencies:
- Python 2.7
- PyQt 4.9
Installation from PyPi Repository
Run this command to install the last release:
pip install LaptopControlPanel
Installation from Source
The LaptopControlPanel source code is hosted at https://github.com/FabriceSalvaire/LaptopControlPanel
To clone the Git repository, run this command in a terminal:
git clone firstname.lastname@example.org:FabriceSalvaire/LaptopControlPanel.git
Then to build and install LaptopControlPanel run these commands:
python setup.py build python setup.py install