{"id":13605723,"url":"https://github.com/Shuzhengz/TPFanCtrl2","last_synced_at":"2025-04-12T05:34:39.328Z","repository":{"id":36993055,"uuid":"341007707","full_name":"Shuzhengz/TPFanCtrl2","owner":"Shuzhengz","description":"ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11","archived":false,"fork":false,"pushed_at":"2024-07-17T16:39:17.000Z","size":36015,"stargazers_count":278,"open_issues_count":17,"forks_count":24,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-08-02T19:38:21.524Z","etag":null,"topics":["thinkpad","thinkpad-fan-control","visual-studio"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shuzhengz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-02-21T21:27:06.000Z","updated_at":"2024-07-28T03:59:00.000Z","dependencies_parsed_at":"2024-04-09T01:59:33.184Z","dependency_job_id":null,"html_url":"https://github.com/Shuzhengz/TPFanCtrl2","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuzhengz%2FTPFanCtrl2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuzhengz%2FTPFanCtrl2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuzhengz%2FTPFanCtrl2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shuzhengz%2FTPFanCtrl2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shuzhengz","download_url":"https://codeload.github.com/Shuzhengz/TPFanCtrl2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223498027,"owners_count":17155243,"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":["thinkpad","thinkpad-fan-control","visual-studio"],"created_at":"2024-08-01T19:01:02.038Z","updated_at":"2025-04-12T05:34:39.308Z","avatar_url":"https://github.com/Shuzhengz.png","language":"C++","funding_links":[],"categories":["C++","Utilities"],"sub_categories":[],"readme":"# TPFanCtrl2 \u003cimg src=\"https://raw.githubusercontent.com/Shuzhengz/TPFanCtrl2/main/fancontrol/res/app.ico\" alt = \"App Icon\" width = \"30\"/\u003e\n\nThinkPad Fan Control 2, a fan control utility for ThinkPad users running Windows 10/11\n\n## About\n\nThis is a fork of the [original TPFC](https://github.com/ThinkPad-Forum/TPFanControl/tree/master/fancontrol), and is based on \n[byrnes' dual fan mod](https://github.com/byrnes/TPFanControl).\nIt's updated it to work with two fan devices. The default fan profile prioritizes fan noise, with fans only turning on at 60C. This can be changed by editing \n`tpfancontrol.ini`.\n\nVisual Studio 2022 Community was used to build and debug.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/Shuzhengz/TPFanCtrl2/master/fancontrol/res/TPFC2.png\" alt=\"Example Photo\" width=\"750\"/\u003e\n\u003c/p\u003e\n\n**Important: This software is released as a public domain software, there is no warranty or promise of bug fixes. The binaries and its source code are provided \"as is\", \nand should be used at your own risk. For more information, please refer to \u003chttp://unlicense.org/\u003e.**\n\nPlease note that I'm very busy with other work for the time being so it'll take a while for me to get to new issues, however please feel free to create pull requests,\nI will review those as soon as possible.\n\n## Requirements\n\nTo avoid errors, either install [tvicport](https://www.entechtaiwan.com/dev/port/index.shtm) manually or install the original version of TPFanControl found \n[here](https://sourceforge.net/projects/tp4xfancontrol/) (source code [here](https://github.com/ThinkPad-Forum/TPFanControl)), \nand run the dual-fan version instead of the original version.\n\nAdministration permission is required for the program to be able to control system fan speed.\n\nWindows 10 or 11 is required to run the program. Windows XP, Vista, 7, and 8 may work, but are untested and should not be expected to.\n\n\n## Configuring\n\nYou can configure the behaviour of the program by editing the values inside the `TPFanControl.ini` file that comes with the program,\n\nThe `TPFanControl.ini` file should always be in the same directory as the `fancontrol.exe` executable file.\n\nExample of configurable parameters:\n\n- Temperature refresh cycle time\n- Start minimized in the taskbar tray\n- Max read errors before the program auto shuts down\n- Log program log to file \u0026 log data to CSV file\n- Configure the fan curve in smart mode\n- Configure a second smart mode that is accessable in the tray\n- Temperature threshold to exit the manual mode\n\n### Manual Fan Levels\n\n| Normal: | Advanced:|\n| --- | ----------- |\n| 0 - Off | 0 - Off |\n| 1 - 30% | 50 - 40% |\n| 2 - 40% | 60 - 60% |\n| 3 - 45% | 70 - 100% |\n| 4 - 50% | 80 - 100% |\n| 5 - 60% |\n| 6 - 65% |\n| 7 - 65% |\n\n\u003ch5\u003eAdvanced level value is converted into hex before being read by the EC, the value above is a rough estimate of what to expect\u003c/h5\u003e\n\n\u003ch5\u003eThe 0-7 range is intended to be used as the fan levels intended by the manufacture (7 being the highest that the laptop BIOS can go), and to take full advantage of \nthe fan you'll need to enter 0-128 in hex (for example, 128 in hex is 0x80, which is entered as 80).\u003c/h5\u003e\n\n### Additional Information\n\nYou can find additional information here on the ThinkPad Wiki: [https://thinkwiki.de/TPFanControl](https://thinkwiki.de/TPFanControl).\n\n\n## Building Instructions\n\nBuilding this program requires Microsoft Visual Studio 2022 Community\n\nThe project should have the correct configuration upon opening the project file `fancontrol.sln`, though you might have to manually copy and paste the `.ini` file into \nthe Debug folder to test the built program\n\nThe project currently builds with the configuration: `Debug` `Win32` (You will need admin permission to run the built program)\n\nDo not build the project without TPFCIcon and TPFCIcon_noballons, they are necessary parts of the application and the main fan control software will not function without \nthem\n\nThe source code of spinoff releases of the program (i.e. 2.1.5 B) for different machines are stored within the archive direcotry, you can build them by subsituting the \nmain fancontrol directory with the fancontrol directory of the desiered version. Note that TPFCIcon and TPFCIcon_noballons should stay the same for every release.\n\n### Note\n\nIf you get Linker Tools Error LNK2026: module unsafe for SAFESEH image when building:\n\n- Go to Project properties -\u003e Configuration Properties -\u003e Linker -\u003e Advanced\n- Disable option `Image has Safe Exception Handlers` (No (/SAFESEH:NO)\n\n## Running at startup (Not Recommended)\n\nYou can choose to run TPFC at startup:\n\n- Right-click on fancontrol.exe and select copy\n- Press Windows-r or search for run in the start menu\n- Type `shell:startup` in the run box\n- Right click in the window that opens and select paste shortcut\n\nNote: This won't start TPFC until you reboot.\n\n\n## Uninstall\n\nDelete the folder containing the program and the ini file.\n\nThat's it, there's no residual files.\n\nIf you added the program to run at startup, you will have to also delete the shortcut from the start up folder.\n\n## Known Issues\n\nOn single-fan devices, the fan speed will sometimes fail to show up. The problem is in the process of being fixed\n\nSometimes the fans will fail to sync, with one ramping up and the other not.\nThis will usually fix itself, but to fix it manually, switch to BIOS mode, then switch back to the desired mode\n\nIt will also sometimes take a longer time for the speed to update and the fans to spin up.\nThis is caused by EC management for the newer ThinkPad BIOS. There is currently no way around it.\n\n### ThinkPad P50\n\nP50 Laptop users should use the 2.1.5B release as the fan control parameters are different, but the temperature is currently broken in the build, so it is recommended to \nuse it in manual mode only\n\n### ThinkPad Z13 and P53\n\nPlease use FanDjango's [V2.3.1 release](https://github.com/FanDjango/TPFanCtrl2/releases/tag/V2.3.1)\n\n### Thinkbooks\n\nSome thinkbook models have different EC address, so the program might not work\n\n### Contributing\n\nPlease open a pull request and have at lease one review to merge it into main\n\nBy doing so, you agree to didicate your contribution to the public domain. In compliance with the Unlicense license, you must agree to the following:\n\n\u003e I dedicate any and all copyright interest in this software to the\npublic domain. I make this dedication for the benefit of the public at\nlarge and to the detriment of my heirs and successors. I intend this\ndedication to be an overt act of relinquishment in perpetuity of all\npresent and future rights to this software under copyright law.\n\nFor more information, please refer to \u003chttp://unlicense.org/\u003e\n\n## Licensing\nThis program is under the Unlicense \"license\"\n\nThis means that the software is released into the public domain, and therefore does not technically have a license\n\nThe author claims no copyright, copyleft, license or whatsoever for the program itself. You may use, reuse or distribute its binaries or source code in any desired way \nor form, Useage of binaries or source shall be entirely and without exception at your own risk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShuzhengz%2FTPFanCtrl2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FShuzhengz%2FTPFanCtrl2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShuzhengz%2FTPFanCtrl2/lists"}