Monday, August 26th 2013

Windows 8 RTC Bug Isolated, Fixed

Last week, overclocking achievement and leaderboards site HWBot banned benchmark submissions from PCs running Windows 8, because the operating system doesn't correctly handle real-time clock (RTC), making it easy to spoof it. A little later, it surfaced that Intel processor-based machines are worse affected by the bug, than AMD-based ones, resulting in HWBot making an exception for AMD processor-based systems. Further analysis by overclocker Christian Ney from Ocaholic unearthed the root cause of the bug, and a fix.

Christian Ney collaborated with CPU-Z author Franck Delattre, who provided a utility that reads out four system timers in real-time (ACPI, HPET, RTC, and QPC), and what DMI frequency is calculated based on each timer. At default bus frequency for an Intel processor-based system (100 MHz), all four timers yield a consistent readout, however, on changing the bus frequency using a Windows-based program, for example from 100 MHz to 95 MHz, RTC and QPC readouts go off the rails. This, however, doesn't happen when the frequency is set using the system BIOS setup program, and the system is made to boot from the changed frequency. From this testing, it can be inferred that Windows 8 doesn't use ACPI or HPET, but an internal timer. Although the bug doesn't "appear" to affect AMD platforms, under some circumstances, it can. Based on the findings, a bug-fix was found to the issue, which has to be applied using a command-line setting. Perhaps HWBot could review its Windows 8 submission policy.
Source: OCaholic
Add your own comment

5 Comments on Windows 8 RTC Bug Isolated, Fixed

Update 24/08 – Revised Moderation Guidelines Concerning Windows 8

Following the findings of (reference), the HWBOT moderating team has revised its rules regarding the usage of Windows 8 for benchmark submission at HWBOT. The major change is that the combination of AMD and Windows 8 is also not allowed, as in contrary to previous findings the platform is affected too. The revised rules can be found below.

1) All new Windows 8 Benchmark Results will be blocked, including for on-going competitions
2) Existing Windows 8 based benchmark submissions will be blocked if seemingly out of line, world record, or top score.
3) Existing Windows 8 based benchmark submissions will not be blocked or removed if they don’t meet the requirements above

Note: if you recall downclocking when using an Intel based Windows 8 system, please remove that result.

Exceptions to the Windows 8 rule:

1) non-overclockable notebooks may be used in combination with Windows 8
Posted on Reply
Intel was defaulted to using RTC(Software) Timers. <-- You can enable hardware timers by turning on the platform clock.
AMD was defaulted to using HPET(Hardware) Timers. <-- You can disable hardware timers by turning off the platform clock.
Posted on Reply
tl;dr bugfix:

run cmd as admin and paste "bcdedit /set {current} useplatformclock Yes"

(from OCaholic)
Posted on Reply
Easy Rhino
Linux Advocate
why would any chipset manufacturer default to using software timers?? especially when the majority of the operating systems will be Windows :roll: :slap:
Posted on Reply
Can you send us the program for the timers ??
Posted on Reply