TimerFix.exe file.
https://www.win-raid.com/t4035f45-Windows-XP-Bit-and-Server-Bit-on-Modern-Hardware-484.html#msg142638

ENGLISH TRANSLATE ->

When using Windows XP on modern motherboards, an annoying glitch was found - the system time goes ahead, and the degree of care depends on the activity of the PC and can run up to 5 minutes a day. The problem only appears on Windows XP. On a turned off PC, under UEFI / BIOS or in a modern OS - time is running correctly. Although the RTC clock chip should be an independent part, this is not the case on modern motherboards. Apparently UEFI continues to interact with the installed Windows XP and somehow affects the clock. Research has shown that the clock drifts "forward" occurs when the system timer period is constantly switched from 16 ms to 1 ms and back. In Windows XP (by default), this timer works with a period of 16 ms, and if it is not active on a PC, it will continue to work with a period of 16 ms. But when you launch Chrome or multimedia applications, the timer switches to operation mode with a period of 1 ms and can return to 16 ms. With a rigidly set period of 16 ms (or 1 ms), the time runs exactly, but with a constant timer switching 16 ms - 1 ms - 16 ms - 1 ms, the real time clock RTC fails.

Solution to the problem:
Since the specialists with Win-Raid could not figure out the cause of this problem, the "nice" solution (at the level of the system files patch) has not yet appeared as of January 3, 2021. The corrected files hal.dll and intelppm.sys solve some other problem with the timers, but they do not affect the described glitch. Now we have a "crutch" solution - the Timer_Fix program with the source code, written in Visual Studio 6.0. The program has no interface, after starting it will set the system timer to a period of 1 ms and leave it unchanged. The program constantly hangs in processes until the OS is rebooted. To complete the work (if necessary), you just need to kill the Timer_Fix.exe process through the "Task Manager". For convenience, it is better to put Timer_Fix.exe in "Startup" and completely forget about the problem with the passing of time. No problems were found from using this method. In general, this fix can be considered a "crutch", but there is nothing better at the moment.
