Parallels Desktop 27.0.2 changes CPU clock from 3072 to 3200 MHz and triggers Sentinel LDK "clone detected"

HiroyukiYano

Bit poster
Hello,

I have found a reproducible compatibility regression between Parallels Desktop 27.0.0 and 27.0.2 on an Apple Silicon Mac running a Windows 11 ARM virtual machine.

Parallels Desktop 27.0.0 (Build 58628):

  • Windows reports the virtual CPU as "Apple Silicon"
  • ProcessorId: 00000000410F0000
  • MaxClockSpeed: 3072 MHz
  • CurrentClockSpeed: 3072 MHz
  • An application protected by Sentinel LDK with a PC-bound software license starts normally.
  • No Sentinel clone detection error is generated.
Parallels Desktop 27.0.2 (Build 58673):

  • Same Windows 11 ARM VM
  • Same VM UUID
  • Same ProcessorId: 00000000410F0000
  • Same number of virtual CPUs (4)
  • MaxClockSpeed: 3200 MHz
  • CurrentClockSpeed: 3200 MHz
  • The same Sentinel LDK protected application can no longer use its existing PC-bound license.
  • Sentinel LDK records:
Loaded unusable v2c '656085528664291310_base.v2c' for clone detected

Downgrading Parallels Desktop from 27.0.2 back to 27.0.0 immediately changes the reported CPU clock from 3200 MHz back to 3072 MHz. The same application and the same existing license then work normally again.

Upgrading again from 27.0.0 to 27.0.2 changes the reported CPU clock back to 3200 MHz, and the Sentinel LDK "clone detected" error is reproduced.

I compared the VM configuration (config.pvs) between 27.0.0 and 27.0.2. The CPU configuration values are effectively identical. The VM UUID and other major VM identity information are also unchanged.

I also tested disabling Adaptive Hypervisor and disabling "Faster virtual machine" under 27.0.2, but Windows still reports 3200 MHz.

This appears to indicate that Parallels Desktop after 27.0.0 changed some virtual CPU characteristics exposed to the Windows 11 ARM guest. Since Sentinel LDK uses CPU characteristics as part of VM clone detection, this may cause an existing machine-bound license to be treated as cloned.

Technical Report ID: 530372504

Could Parallels please confirm whether the virtual CPU characteristics exposed to Windows 11 ARM changed after Parallels Desktop 27.0.0 (Build 58628)?

Is there a supported setting in Parallels Desktop 27.0.2 that can preserve the same virtual CPU characteristics as 27.0.0 for compatibility with existing machine-bound licenses?

Thank you.
 
Update / additional testing

The original issue was reproduced and reported with Parallels Desktop 27.0.2 (58673), compared against 27.0.0 (58628).

For additional troubleshooting, I then tested Parallels Desktop 27.0.1 (58670). The same behavior was reproduced there as well:

- Parallels Desktop 27.0.0 (58628): Windows reports 3072 MHz and APS-K starts normally.
- Parallels Desktop 27.0.1 (58670): Windows reports 3200 MHz and Sentinel LDK detects the VM as a clone.
- Parallels Desktop 27.0.2 (58673): Windows also reports 3200 MHz and the same clone-detected behavior occurs.

I intentionally performed the 27.0.1 test before updating Parallels Tools.
The problem still occurred, so the Parallels Tools version does not appear to be the cause.

I then tested a workaround on Parallels Desktop 27.0.1 by editing the VM's config.pvs file.

The relevant XML section is under:

<Settings>
...
<Runtime>
...
<SystemFlags></SystemFlags>
...
</Runtime>
</Settings>

The original entry was:

<SystemFlags></SystemFlags>

I changed only this line to:

<SystemFlags>vm.vcpu_freq=3072;</SystemFlags>

I did not change the normal CPU configuration under <Hardware><Cpu> or the <Clock> section.

After this change:

- Windows reported MaxClockSpeed = 3072 MHz and CurrentClockSpeed = 3072 MHz instead of 3200 MHz.
- APS-K started normally.
- After rebooting the VM, the CPU frequency remained 3072 MHz and APS-K still started normally.
- I then updated Parallels Tools to the 27.0.1 version, rebooted again, and APS-K continued to start normally.

Therefore, although the original failure was confirmed on Parallels Desktop 27.0.2, the workaround itself was validated on 27.0.1 during additional troubleshooting.

Since both 27.0.1 and 27.0.2 present the virtual CPU as 3200 MHz, while 27.0.0 presents it as 3072 MHz, this strongly suggests that the change in the virtual CPU frequency presented to the guest is what causes Sentinel LDK to trigger clone detection in this VM.

The vm.vcpu_freq parameter appears to be an internal/undocumented Parallels setting.

Could Parallels please confirm:

1. Was the change from 3072 MHz to 3200 MHz in 27.0.1 / 27.0.2 intentional?
2. Is using vm.vcpu_freq=3072 in SystemFlags a supported and safe workaround?
3. If not, is there an officially supported way to keep the virtual CPU frequency presented to the guest unchanged across Parallels Desktop updates?

This behavior is important for software protected by Sentinel LDK, because changing the virtual CPU characteristics can cause the VM to be treated as a cloned machine even though the same VM is being used.
 
Update / additional testing

The original issue was reproduced and reported with Parallels Desktop 27.0.2 (58673), compared against 27.0.0 (58628).

For additional troubleshooting, I then tested Parallels Desktop 27.0.1 (58670). The same behavior was reproduced there as well:

- Parallels Desktop 27.0.0 (58628): Windows reports 3072 MHz and APS-K starts normally.
- Parallels Desktop 27.0.1 (58670): Windows reports 3200 MHz and Sentinel LDK detects the VM as a clone.
- Parallels Desktop 27.0.2 (58673): Windows also reports 3200 MHz and the same clone-detected behavior occurs.

I intentionally performed the 27.0.1 test before updating Parallels Tools.
The problem still occurred, so the Parallels Tools version does not appear to be the cause.

I then tested a workaround on Parallels Desktop 27.0.1 by editing the VM's config.pvs file.

The relevant XML section is under:

<Settings>
...
<Runtime>
...
<SystemFlags></SystemFlags>
...
</Runtime>
</Settings>

The original entry was:

<SystemFlags></SystemFlags>

I changed only this line to:

<SystemFlags>vm.vcpu_freq=3072;</SystemFlags>

I did not change the normal CPU configuration under <Hardware><Cpu> or the <Clock> section.

After this change:

- Windows reported MaxClockSpeed = 3072 MHz and CurrentClockSpeed = 3072 MHz instead of 3200 MHz.
- APS-K started normally.
- After rebooting the VM, the CPU frequency remained 3072 MHz and APS-K still started normally.
- I then updated Parallels Tools to the 27.0.1 version, rebooted again, and APS-K continued to start normally.

Therefore, although the original failure was confirmed on Parallels Desktop 27.0.2, the workaround itself was validated on 27.0.1 during additional troubleshooting.

Since both 27.0.1 and 27.0.2 present the virtual CPU as 3200 MHz, while 27.0.0 presents it as 3072 MHz, this strongly suggests that the change in the virtual CPU frequency presented to the guest is what causes Sentinel LDK to trigger clone detection in this VM.

The vm.vcpu_freq parameter appears to be an internal/undocumented Parallels setting.

Could Parallels please confirm:

1. Was the change from 3072 MHz to 3200 MHz in 27.0.1 / 27.0.2 intentional?
2. Is using vm.vcpu_freq=3072 in SystemFlags a supported and safe workaround?
3. If not, is there an officially supported way to keep the virtual CPU frequency presented to the guest unchanged across Parallels Desktop updates?

This behavior is important for software protected by Sentinel LDK, because changing the virtual CPU characteristics can cause the VM to be treated as a cloned machine even though the same VM is being used.
Greetings,
Thank you for your feedback.
We sent you a direct message; please check it and provide us with your reply.
Thank you!
 
Back
Top