Jump to content
27 posts in this topic

Recommended Posts

Hello everyone,

I'm happy to Announce that a new feature I've been working on has been officially merged into Clover Bootloader (starting from commit c967f5b and available in upcoming releases).

It's called AutoModernCPUQuirks, and its goal is to simplify the configuration for modern hardware by automatically detecting your CPU and applying the necessary OpenCore-style kernel quirks.

🚀 What does it do?
Instead of manually figuring out which quirks (like 
ProvideCurrentCpuInfo
, AppleXcpmCfgLock, etc.) you need for your Alder Lake, Raptor Lake, or Ryzen processor, Clover can now do it for you intelligently during boot.

Features:

Auto-Detection: Automatically identifies Intel 12th/13th/14th Gen and AMD Zen 3/4/5 CPUs.
Smart Application: Applies the recommended kernel quirks for your specific architecture.
Non-Intrusive: It respects your config.plist. If you have manually enabled/disabled a specific quirk, Clover will NOT override it. It only fills in the "gaps" for settings you haven't touched.
Debuggable: Detailed logs in preboot.log showing exactly what CPU was detected and which quirks were applied.
🛠️ How to use it?
Update to the latest Clover revision (post-5167).
Open your config.plist.
Under the 
Quirks
 section, add/set:
xml
<key>Quirks</key>
<dict>
    <key>AutoModernCPUQuirks</key>
    <true/>
    <!-- You can still manually set other quirks if needed -->
</dict>
That's it! Clover will now handle the basic quirk setup for booting macOS on modern platforms.

🔬 Supported Hardware
Intel: Alder Lake (12th), Raptor Lake (13th/14th), and preliminary support for Meteor/Arrow Lake.
AMD: Ryzen 5000 (Zen 3), Ryzen 7000 (Zen 4), Ryzen 9000 (Zen 5).
Huge thanks to the Clover team (Slice, Jief, etc.) for reviewing and merging this!

Let me know your feedback and if it makes your hackintosh setup easier!

Captura de Tela 2026-02-11 às 19.31.18.png

  • Like 3
  • Thanks 4

Thanks my brother!! I will test now!! ;) Congratulations!! 

 

CapturadeTela2026-02-12s06_13_21.thumb.png.c0f518baa8a399957abb134e58a07e8d.png

 

CapturadeTela2026-02-12s06_18_27.png.e0a8be5de2b00ca7207918374e35e69a.png

 

 

 

Edited by Max.1974
  • Like 4
  • Thanks 1
10 hours ago, Hnanoto said:

Hello everyone,

I'm happy to Announce that a new feature I've been working on has been officially merged into Clover Bootloader (starting from commit c967f5b and available in upcoming releases).

It's called AutoModernCPUQuirks, and its goal is to simplify the configuration for modern hardware by automatically detecting your CPU and applying the necessary OpenCore-style kernel quirks.

🚀 What does it do?
Instead of manually figuring out which quirks (like 
ProvideCurrentCpuInfo
, AppleXcpmCfgLock, etc.) you need for your Alder Lake, Raptor Lake, or Ryzen processor, Clover can now do it for you intelligently during boot.

Features:

Auto-Detection: Automatically identifies Intel 12th/13th/14th Gen and AMD Zen 3/4/5 CPUs.
Smart Application: Applies the recommended kernel quirks for your specific architecture.
Non-Intrusive: It respects your config.plist. If you have manually enabled/disabled a specific quirk, Clover will NOT override it. It only fills in the "gaps" for settings you haven't touched.
Debuggable: Detailed logs in preboot.log showing exactly what CPU was detected and which quirks were applied.
🛠️ How to use it?
Update to the latest Clover revision (post-5167).
Open your config.plist.
Under the 
Quirks
 section, add/set:
xml
<key>Quirks</key>
<dict>
    <key>AutoModernCPUQuirks</key>
    <true/>
    <!-- You can still manually set other quirks if needed -->
</dict>
That's it! Clover will now handle the basic quirk setup for booting macOS on modern platforms.

🔬 Supported Hardware
Intel: Alder Lake (12th), Raptor Lake (13th/14th), and preliminary support for Meteor/Arrow Lake.
AMD: Ryzen 5000 (Zen 3), Ryzen 7000 (Zen 4), Ryzen 9000 (Zen 5).
Huge thanks to the Clover team (Slice, Jief, etc.) for reviewing and merging this!

Let me know your feedback and if it makes your hackintosh setup easier!

Captura de Tela 2026-02-11 às 19.31.18.png

Thanks, Hnanoto! This is absolutely amazing. 🏆

Edited by MakAsrock
  • Thanks 2

@Hnanotothank you for your job in clover bootloader

 

May i ask if users use AutoModernCPUQuirks which quirks schema is used for AMD CPU (for different series i mean)

I would like to know (if possible or if there is some references/doc to read)what quirks are enabled for a working AMD CPU system?

Thank you

 

 

  • Like 2
Há 5 horas, fabiosun disse:

@Hnanotoobrigado pelo seu trabalho no trevo bootloader

 

Posso perguntar se os usuários usam AutoModernCPUQuirks, qual esquema de peculiaridades é usado para CPU AMD (para séries diferentes, quero dizer)

Eu gostaria de saber (se possível ou se houver algumas referências/documentos para ler) quais peculiaridades estão habilitadas para um sistema de CPU AMD em funcionamento?

Obrigado

 

 

Thank you for your kind words

Great question.

When AutoModernCPUQuirks is enabled, Clover does not apply a single generic schema for all AMD CPUs. Instead, it uses an internal architecture-based detection and applies quirks according to the detected Zen generation.

 AMD Quirk Logic Overview

The detection is based on CPUID family/model and maps internally to:

  • Zen 3 → Ryzen 5000 series

  • Zen 4 → Ryzen 7000 series

  • Zen 5 → Ryzen 9000 series

For AMD systems, the applied quirks follow the same philosophy used in modern OpenCore configurations for stable macOS booting on AMD.


Typical Quirks Applied (AMD Zen 3/4/5)

While the exact combination depends on generation, the auto profile may enable (if not manually overridden):

  • ProvideCurrentCpuInfo

  • AppleXcpmCfgLock

  • AppleXcpmExtraMsrs

  • AppleXcpmForceBoost

  • CustomSMBIOSGuid

  • PowerTimeoutKernelPanic

  • DisableIoMapper (if VT-d/IOMMU conflicts are detected)

  • LapicKernelPanic (when required)

  • PanicNoKextDump

⚠️ Important:
If the user already defined any of these manually in config.plist, Clover will not override them.

  • Like 4
  • Thanks 1

@Hnanoto thank you for your fast answer

 

I have a Zen 5 series and i had in the past zen4

for both these CPU architecture and also for strx4 is mandatory to have a quirk on (DevirtualizeMMIO) and also prepare a proper MMIO whitelist declaration (different for motherboard and users BIOS configurations)

 

Some quirks in list exposed here is not useful for AMD CPU, mandatory in that list is ProvideCurrentCpuInfo

 

attached is a more proper list for Zen4 and Zen 5*

 

* This quirk sets uses also DisableVariableWrite quirk togheter DevirtualizeMMIO one, this allows to boot in OSX without doing a proper MMIO Whitelist area declaration (it is not advised, but it is a fast way to have a system booting if you help a not skilled user (thanks to @XLNC for this tricks in the past done on sTrX platform)

 

I like your idea of a smart quirk.. i hope you can refine it at its best for AMD users also! ;)

 

Thank you again

image.thumb.png.bafffb4ae4f07b2e0089e1c26e355505.png

 

 

Edited by fabiosun
  • Like 1
  • Thanks 3

Thanks @Hnanoto for your work!

How can I see the new quirk is working?

:103  0:000  Build with: [Args: --mcpu | --conf=/Users/sergey/src/CloverBootloader/Conf -D USE_LOW_EBDA -D ENABLE_MODERN_CPU_QUIRKS -a X64 -b RELEASE -DLESS_DEBUG -t GCC152 -n 17 | OS: 15.7.3]
The cpu is i5-13400

I see no differences true or false.

  • Like 1
  • Thanks 2

to test that quirk you have to enable it and disable your "useful" quirks to see if smart quirk presets are good for your CPU

In my case , it is not working for the reason explained in my previous message

Edited by fabiosun
  • Like 2
6 hours ago, Slice said:

Thanks @Hnanoto for your work!

How can I see the new quirk is working?

:103  0:000  Build with: [Args: --mcpu | --conf=/Users/sergey/src/CloverBootloader/Conf -D USE_LOW_EBDA -D ENABLE_MODERN_CPU_QUIRKS -a X64 -b RELEASE -DLESS_DEBUG -t GCC152 -n 17 | OS: 15.7.3]
The cpu is i5-13400

I see no differences true or false.

 

Hi Slice,

That’s expected 🙂

If your system already boots fine or the relevant quirks are already defined in config.plist, you won’t see any behavioral difference between true/false.

AutoModernCPUQuirks only fills unset gaps and never overrides manual settings.

You’ll only notice a difference when the CPU actually requires a quirk that isn’t explicitly defined.

 
  • Like 3
4 hours ago, Slice said:

OK,

now I think the ENABLE_MODERN_CPU_QUIRKS should be set by default. Or no?

I think yes, it makes sense to enable ENABLE_MODERN_CPU_QUIRKS by default in official builds, because it’s non-intrusive: it only fills unset gaps and never overrides user-defined settings.

In the worst case, it simply does nothing if everything is already properly configured.

So from a safety perspective, default ON should be fine.


  • Like 2
On 2/13/2026 at 11:25 AM, fabiosun said:

to test that quirk you have to enable it and disable your "useful" quirks to see if smart quirk presets are good for your CPU

In my case , it is not working for the reason explained in my previous message

This quirk hasn't affected me at all. But I do use the RestrictEvents kext. 🙄

  • Like 1

@MakAsrock

i am not a dev, latest programming languages used here were Fortran and turbo Pascal in the 80’s

so a bit outdated😂

 

this quirk is a sort of preset and it should check cpu user have

ie

if amd cpu is detect it sets for that cpu a number of useful quirks for it

@Hnanoto said it only would add quirks useful for that cpu if missing and it doesnt override quirks in use

kexts is a other task users do for their own 

 

idea is good in my opinion

it should only be explained better for also not skilled users🙏

 

Edited by fabiosun
  • Like 3
1 hour ago, fabiosun said:

@MakAsrock

i am not a dev, latest programming languages used here were Fortran and turbo Pascal in the 80’s

so a bit outdated😂

 

this quirk is a sort of preset and it should check cpu user have

ie

if amd cpu is detect it sets for that cpu a number of useful quirks for it

@Hnanoto said it only would add quirks useful for that cpu if missing and it doesnt override quirks in use

kexts is a other task users do for their own 

 

idea is good in my opinion

it should only be explained better for also not skilled users🙏

 

Without the settings shown in the picture, I can't boot at all and get a kernel panic, whether with these quirks or without them, and when I have everything configured, then the quirks no longer work.
Without RestrictEvents.kext I get a warning that I have more memory than commands, and without cputopologyrebuild.kext the P and E kernels don't work correctly.2026-02-1509_45_50.thumb.jpg.c48d7446ae2cf9ee53193a95472ca97d.jpg
2026-02-1509_30_26.jpg.aafc8c851a14301f182cfc9c682cb836.jpg2026-02-1509_32_05.thumb.jpg.2ca7405c0485458a91171118eed2999e.jpg

Edited by MakAsrock
  • Like 2

So @MakAsrock also for your CPU quirk is not work as it should.

 

You can check (maybe) in the clover code what the quirk does

I assume from a not devs point of view that:

1) it detects the cpu clover detects

so if it is an AMD* CPU it applies all  quirks useful for that platform (it does not check if you need of other specific kexts or config.plist configuration like SecureBoot or CPU spoof or similar, also kext as lilu and mandatory kexts)

to summarize

if CPU = 9950X than

set quirks as it should for it

If that quirk are enabled by the users the quirk leaves as is

if some quirks is missing set them on 

2)

quirk works if i have my config.plist perfectly working in all others part than quirks section

if so, only with it applied ,its AI should enable the useful quirks for the system

 

*AMD need also of a proper kernel patches section in config.plist dependant also by CPU cores number (Users (i think) have to take care of this as usual )

 

 

Edited by fabiosun
grammar
  • Like 1
16 minutes ago, fabiosun said:

So @MakAsrock also for your CPU quirk is not work as it should.

 

You can chek (maybe) in the clover code what the quirk does

I assume from a not devs point of view that:

1) it detects the cpu clover detects

so if it is an AMD* CPU it applies all  quirks useful for that platform (it does not check if you need of other specific kexts or config.plist configuration like SecureBoot or CPU spoof or similar, also kext as lilu and mandatory kexts)

to summarize

if CPU = 9950X than

set quirks as it should for it

If that quirk are enabled by the users leave as is

if some quirks is missing set them on 

2)

quirk works if i have my config.plist perfectly working in all others part than quirks section

if so, only with it applied ,its AI should enable the useful quirks for the system

 

*AMD need also of a proper kernel patches section in config.plist dependant also by CPU cores number (Users (i think) have to take care of this as usual )

 

 

Yes, I looked at Clover's code regarding these quirks, and it claims full support for the 12th Gen Intel(R) Core(TM) i7-12700KF.
However, it doesn't work with RestrictEvents.kex.
You'd have to add the entire functionality built into RestrictEvents.kex to the experimental quirks, which would significantly overload Clover, which is already quite large.

@Hnanoto  

 

Quote

Debuggable: Detailed logs in preboot.log showing exactly what CPU was detected and which quirks were applied.

If I understand what you mean: I don't see any added features in either preboot.log or debug.log (if you mean ProvideCurrentCpuInfo, AppleXcpmCfgLock, etc.)

Quote

Auto-Detection: Automatically identifies Intel 12th/13th/14th Gen and AMD Zen 3/4/5 CPUs.

It works, there is no longer any need to add revcpuname=Inte Core i5-13600KF to config.plist Boot/Arguments

As @MakAsrock says, I have the same problems, if you can call them that

 

 

  • Like 1
8 hours ago, Alpha22 said:

@Hnanoto  

 

If I understand what you mean: I don't see any added features in either preboot.log or debug.log (if you mean ProvideCurrentCpuInfo, AppleXcpmCfgLock, etc.)

It works, there is no longer any need to add revcpuname=Inte Core i5-13600KF to config.plist Boot/Arguments

As @MakAsrock says, I have the same problems, if you can call them that

 

 

My 12th Gen Intel(R) Core(TM) i7-12700KF still needs it.

Without this, the SPU is unknown in the profiler.
Although everything is OK in the preboot log.

preboot.log

Edited by MakAsrock
  • Like 1
19 hours ago, MakAsrock said:

My 12th Gen Intel(R) Core(TM) i7-12700KF still needs it.

Without this, the SPU is unknown in the profiler.
Although everything is OK in the preboot log.

preboot.log 67.78 kB · 2 downloads

to be tested on the final version of macOS and not the beta version

  • Haha 1
3 hours ago, Alpha22 said:

to be tested on the final version of macOS and not the beta version

Testing was conducted on macOS Tahoe Version 26.3 (Release 25D125). 
I don't install any betas at all.😉

Edited by MakAsrock
  • 2 months later...
On 2/15/2026 at 3:41 PM, MakAsrock said:

My 12th Gen Intel(R) Core(TM) i7-12700KF still needs it.

Without this, the SPU is unknown in the profiler.
Although everything is OK in the preboot log.

preboot.log 67.78 kB · 5 downloads

I was able to boot with Clover on Arrow Lake, but with an older version, from an EFI folder for Raptor Lake.

I was even able to update to the latest version by manually replacing BOOTX64.efi and CLOVER64.efi, and it boots without problems by copying the quirks settings from my OpenCore .plist.

But when I try to do a clean install and apply the same configuration to the clean install .plist, upon booting, I see the old black status bar on a white background, like in previous versions of macOS, frozen at 40% of loading

I suspect it's a problem with how I'm configuring the .plist, and I'm overlooking something fundamental.
Any ideas?

Thanks in advance

  • Like 1
Posted (edited)
5 hours ago, W3b0 said:

I was able to boot with Clover on Arrow Lake, but with an older version, from an EFI folder for Raptor Lake.

I was even able to update to the latest version by manually replacing BOOTX64.efi and CLOVER64.efi, and it boots without problems by copying the quirks settings from my OpenCore .plist.

But when I try to do a clean install and apply the same configuration to the clean install .plist, upon booting, I see the old black status bar on a white background, like in previous versions of macOS, frozen at 40% of loading

I suspect it's a problem with how I'm configuring the .plist, and I'm overlooking something fundamental.
Any ideas?

Thanks in advance

It won't work directly. You'll also need the right set of kexts and patches for ACPI. 
I've never had a motherboard like this before and can't give any good advice. 
The only thing to pay attention to is: ResizeGpuBars number 0 or -1. Mine was stuck with -1.
You need to try one of the two.
И второе: Для i7-12700KF нужен FakeCPUID стринг 0x0A0655
И загрузочные аргументы: -amfipassbeta revpatch=sbvmm,auto revcpu=1 ctrsmt=full 😉 

Edited by MakAsrock
  • Like 1
×
×
  • Create New...