Skip to content

Conversation

@NotRequiem
Copy link
Collaborator

Reasons:

  • HPET discontinued in Coffee Lake, Ice Lake and Coffee Lake-H variants in the Linux kernel
    HPET was explicitly disabled for Intel Ice Lake platforms and since then the kernel moved from per-CPU/PCI-ID blacklists to a behavior check (PC10 aka idle-state detection) that automatically covers other recent Intel SoCs (so the "where" is now more about behavior than a fixed chipset list). The Linux kernel later basically replaced the "add PCI IDs for each buggy model" approach with a idle state check that disables HPET when the platform exhibits the problematic behavior

https://www.phoronix.com/news/Linux-Disabling-HPET-CoffeeLake
image
image

  • I've detected several manufacturers exposing buggy firmware that didnt reveal the presence of HPET, in both Windows and Linux.
constexpr whitelist_entry whitelist[] = {
    { "hp",         "omen"    },
    { "micro-star", "bravo"   },
    { "asustek",    "fa" }, // fa506, fa507, fa707, etc...
    { "asustek",    "Vivobook_ASUSLaptop" },
    { "asustek",    "ROG Strix"} // G513RM, etc...
};

As an example, the Asus TUF gaming a15 fa506nf with a AMD Ryzen 5 7535hs cpu exposes a HPET entry on its DSDT firmware table, but its disfunctional:
https://www.driveridentifier.com/scan/asustek-asus-tuf-gaming-a15-fa506nffa506nf-driver/desktop/16A22B6853874759AEFC28C1F3A38B2A
image

This would lead us to consistently keep tracking motherboards where the kernel might falsely report the absence of HPET, apart from disabling any detection of this clock in non x86 systems. For production-level accuracy, I've decided to remove the support for this detection.

@NotRequiem NotRequiem merged commit 2e3ef76 into kernelwernel:main Feb 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant