Qt overclocking tool for GNU/Linux
Go to file
Jussi Kuokkanen 6717404a07 save assignable value when using profile
Not used yet. Currently works only for single values, not parametrization.
2023-09-12 16:37:23 +03:00
dev change working directory in development scripts to allow running from other directories 2023-08-12 20:49:18 +03:00
doc doc: add architecture document 2019-10-05 20:41:22 +03:00
screenshots add screenshot of pending changes 2023-09-06 19:42:53 +03:00
src save assignable value when using profile 2023-09-12 16:37:23 +03:00
.clang-format use spaces after C-style casts 2023-08-29 22:18:05 +03:00
.gitignore assignable: install nvidia module 2019-10-03 16:47:03 +03:00
.gitmodules add FunctionalPlus as a submodule 2020-04-02 19:35:12 +03:00
clangFormat.sh add clang-format 2023-07-26 16:32:34 +03:00
default.nix add nvidia dependencies to nix build 2022-03-25 12:59:15 +02:00
meson_options.txt build everything by default 2021-02-18 17:59:52 +02:00
meson.build Implement plugin with the new lib 2020-03-18 01:39:44 +02:00
README.md add screenshot of pending changes 2023-09-06 19:42:53 +03:00
release.nix import system nixpkgs if npins isn't used 2023-08-29 22:18:05 +03:00

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.

Meson options

--prefix=<path> (install location prefix, usually '/usr')
-Dplugins=<true/false>
-Ddaemon=<true/false> (builds and installs 'tuxclockerd' binary/daemon)
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

Main view

Editing an item

Editing an item

Parametrizing an item

Parametrizing an item

Showing pending changes

Showing pending changes

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)