TUXEDO Control Center
The TUXEDO Control Center (short: TCC) gives TUXEDO laptop users full control over their hardware like CPU cores, fan speed and more.
To get a more detailed description of features, plans and the ideas behind please check our press release (english | german) and info pages (english | german).
Using it
There are pre-build packages for Ubuntu 16.04/18.04/20.04 as well as openSUSE Leap 15.x and Tumbleweed available at our repositories. For details please have a look over here.
Note: TCC depends on the tuxedo-io
module from the tuxedo-keyboard
package for some core functionality like fan control.
Project structure
tuxedo-control-center
| README.md
|--src
| |--ng-app Angular GUI (aka electron renderer)
| |--e-app Electron main
| |--service-app Daemon part (Node 12)
| |--common Common shared sources
| | |--classes
| | |--models
| |--dist-data Data needed for packaging
|--build-src Source used for building
Development setup
-
Install git, gcc, g++, make, nodejs, npm and libudev-dev
Ex (deb):curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y git gcc g++ make nodejs libudev-dev
-
Clone & install libraries
git clone https://github.com/tuxedocomputers/tuxedo-control-center cd tuxedo-control-center npm install
Note: Do not continue with
npm audit fix
. Known to cause various issues. -
Install service file that points to development build path (or use installed service from packaged version)
Manual instructions:
- Copy
tccd.service
andtccd-sleep.service
(from src/dist-data) to/etc/systemd/system/
- Edit the
tccd.service
(exec start/stop) to point to<dev path>/dist/tuxedo-control-center/data/service/tccd
. - Copy
com.tuxedocomputers.tccd.conf
to/usr/share/dbus-1/system.d/
- Start service
systemctl start tccd
. (And enable for autostartsystemctl enable tccd tccd-sleep
)
- Copy
NPM scripts
npm run <script-name>
Script name | Description |
---|---|
build | Build all apps service/electron/angular |
start | Normal start of electron app after build |
start-watch | Start GUI with automatic reload on changes to angular directory |
test-common | Test common files (jasmine) |
gen-lang | Generate base for translation (ng-app/assets/locale/lang.xlf ) |
pack-prod -- all | deb | rpm | Build and package for chosen target(s) |
inc-version-patch | Patch version increase (updates package.json files) |
inc-version-minor | Minor version increase (updates package.json files) |
inc-version-major | Major version increase (updates package.json files) |
Debugging
Debugging of electron main and render process is configured for vscode in .vscode/launch.json