dev | ||
doc | ||
screenshots | ||
src | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
clangFormat.sh | ||
default.nix | ||
meson_options.txt | ||
meson.build | ||
mkTarball.sh | ||
README.md | ||
release.nix |
Installation
Dependencies
qt (charts, base, dbus), boost-system, boost-filesystem, libnvml (cuda), libxnvctrl, xlib, libdrm, meson
Note that these packages are likely called something different on each distribution.
For Nix
nix-shell release.nix
For Ubuntu (possibly outdated)
sudo apt install --yes --quiet --quiet \
libqt5x11extras5-dev \
qtbase5-dev \
libqt5x11extras5 \
libdrm-amdgpu1 \
libdrm-common \
libdrm-dev \
nvidia-utils-440-server \
nvidia-settings \
libxnvctrl-dev
Compiling
Meson options
--prefix=<path> (install location prefix, usually '/usr')
-Dplugins=<true/false>
-Ddaemon=<true/false> (builds and installs 'tuxclockerd' binary/daemon)
Clone, build and install
git clone https://github.com/Lurkki14/tuxclocker
cd tuxclocker
git checkout cpplib
git submodule init
git submodule update
meson build <meson options>
cd build
ninja && sudo ninja install
Screenshots
Main view
Editing an item
Parametrizing an item
Showing pending changes
Settings
Developing
Formatting
TuxClocker uses clang-format
. Code should be formatted with the provided clangFormat.sh
script.
NOTE: to get designated initializers formatted like so:
auto Foo = Foo{
.bar = 1,
.baz = 2,
};
a trailing comma should be used after the last member (clang-format
weirdness).
Scripts
There are a few scripts in dev/
for development convenience, mainly to deal with DBus. A separate DBus instance and custom config file is used, so the TuxClocker daemon is able to be registered without installing service files into the system.
Note: the following scripts assume TuxClocker is installed to inst/
, so meson
should be called as follows:
meson build --prefix=$(pwd)/inst
The scripts should be used in this order (they all have to be running simultaneously, so probably best to run in separate terminals):
dev/dbus-start.sh
Starts a separate DBus instance.
dev/tuxclockerd-start.sh
Launches tuxclockerd
making it connect to our separate DBus instance and LD_LIBRARY_PATH set to find the built libtuxclocker
.
dev/gui-start.sh
Launches the TuxClocker GUI making it connect to our separate DBus instance, so it can find the TuxClocker DBus service.
You can also use a program like d-feet
if you are only making changes to the daemon. (To be documented)