{"id":13605107,"url":"https://github.com/vmatare/thinkfan","last_synced_at":"2025-05-15T07:07:49.237Z","repository":{"id":17698886,"uuid":"20504923","full_name":"vmatare/thinkfan","owner":"vmatare","description":"The minimalist fan control program","archived":false,"fork":false,"pushed_at":"2025-01-04T23:08:42.000Z","size":764,"stargazers_count":591,"open_issues_count":46,"forks_count":63,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-14T13:04:20.599Z","etag":null,"topics":["fan-control","hardware","hwmon","linux","temperature-monitoring","thinkpad"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmatare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-04T23:37:38.000Z","updated_at":"2025-04-09T09:15:10.000Z","dependencies_parsed_at":"2023-01-16T20:16:31.550Z","dependency_job_id":"f301dd8e-8145-41b2-a83e-bee15e97e1b1","html_url":"https://github.com/vmatare/thinkfan","commit_stats":{"total_commits":458,"total_committers":29,"mean_commits":"15.793103448275861","dds":0.5,"last_synced_commit":"b1ad819e4ec79776cb5ccc61e2206a0c5d506ef5"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmatare%2Fthinkfan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmatare%2Fthinkfan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmatare%2Fthinkfan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmatare%2Fthinkfan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmatare","download_url":"https://codeload.github.com/vmatare/thinkfan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292043,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fan-control","hardware","hwmon","linux","temperature-monitoring","thinkpad"],"created_at":"2024-08-01T19:00:54.735Z","updated_at":"2025-05-15T07:07:44.222Z","avatar_url":"https://github.com/vmatare.png","language":"C","readme":"# thinkfan\nThinkfan is a simple, lightweight fan control program. \n\n# WARNING\nThere's only very basic sanity checking on the configuration (semantic\nplausibility). You can set the temperature limits as insane as you like.\n\nAny change to fan behaviour that results in higher temperatures in some parts\nof the system will shorten your system's lifetime and/or cause weird hardware\nbugs that'll make you pull out your hair.\n\n   **No warranties whatsoever**\n\nIf this program steals your car, kills your horse, smokes your dope or pees\non your carpet... too bad, you're on your own.\n\n\n# Building and installing\nTo compile thinkfan, you will need to have the following things installed:\n- A recent C++ compiler (GCC \u003e= 4.8 or clang)\n- pkgconfig or an equivalent (pkgconf or pkg-config)\n- cmake (and optionally a cmake GUI if you want to configure interactively)\n- optional: libyaml-cpp for YAML support (the -dev or -devel package)\n\nE.g. on a debian-based system that usually boils down to:\n```bash\nsudo apt install -y cmake-curses-gui build-essential cmake g++ libyaml-cpp-dev pkgconfig libsensors-dev\n```\n\non EL/Fedora based system, usually :\n```bash\nsudo dnf install -y cmake g++ pkgconfig yaml-cpp-devel lm_sensors-devel\n```\n\n1. In the thinkfan main directory, do\n   ```bash\n   mkdir build \u0026\u0026 cd build\n   ```\n\n2. Then configure your build, either interactively:\n   ```bash\n   ccmake ..\n   ```\n   Or set your build options from the command line. E.g. to configure a build\n   with full debugging support:\n   ```bash\n    cmake -D CMAKE_BUILD_TYPE:STRING=Debug ..\n    ```\n\n   `CMAKE_BUILD_TYPE:STRING` can also be `Release`, which produces a fully\n   optimized binary, or `RelWithDebInfo`, which is also optimized but can\n   still be debugged with gdb.\n   \n   Other options are:\n\n   `USE_NVML:BOOL` (default: `ON`)\n       Allows thinkfan to read GPU temperatures from the proprietary nVidia\n       driver. The interface library is loaded dynamically, so it does not\n       need to be installed when compiling.\n\n   `USE_ATASMART:BOOL` (default: `OFF`)\n       Enable libatasmart to read temperatures directly from hard disks. Use\n       this only when you really need it, since libatasmart is unreasonably\n       CPU-intensive.\n\n   `USE_LM_SENSORS:BOOL` (default: `ON`)\n       Use LM sensors to read temperatures directly from Linux drivers.\n       The `libsensors` library needs to be installed for this feature, probably\n       with required headers and development files (e.g., `libsensors-dev`).\n\n   `USE_YAML:BOOL` (default: `ON`)\n       Support config file in the new, more flexible YAML format. The old\n       config format will be deprecated after the thinkfan 1.0 release. New\n       features will be supported in YAML configs only. See\n       examples/thinkfan.conf.yaml.  Requires libyaml-cpp.\n\n\n3. To compile simply run:\n   ```bash\n   make\n   ```\n\n4. If you did not change `CMAKE_INSTALL_PREFIX`, thinkfan will be installed\n   under `/usr/local` by doing:\n   ```bash\n   sudo make install\n   ```\n   \n   CMake will detect whether you use OpenRC or systemd and install some\n   appropriate service files. With systemd, you can edit the commandline\n   arguments of the thinkfan service with `systemctl edit thinkfan`.\n   With OpenRC, we install only a plain initscript (edit `/etc/init.d/thinkfan`\n   to change options).\n\n\n\n# Documentation\n- Run `thinkfan -h`\n- Manpages: `thinkfan(1)`, `thinkfan.conf(5)`\n- Example configs: https://github.com/vmatare/thinkfan/tree/master/examples\n- Linux kernel hwmon doc: https://www.kernel.org/doc/html/latest/hwmon/sysfs-interface.html\n- Linux kernel thinkpad_acpi doc: https://www.kernel.org/doc/html/latest/admin-guide/laptops/thinkpad-acpi.html\n- If all fails: https://github.com/vmatare/thinkfan/issues\n","funding_links":[],"categories":["C","Drivers and Kernel"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmatare%2Fthinkfan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmatare%2Fthinkfan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmatare%2Fthinkfan/lists"}