Enlarge / Intel’s 12th-generation Core CPUs use different types of CPU cores for different tasks. That hybrid architecture continues to cause problems for some software.
Earlier this week, some people waiting to take the bar exam received a message from ExamSoft, the company that makes the Examplify software that many states use to administer the exam: PCs with Intel’s latest 12th-generation Core processors are “not currently supported” because they were “triggering Examplify’s automatic virtual machine check.” The company’s suggested solution was that people find another device to take the test with, a frustrating and unhelpful “workaround” for anyone with a new computer.
As pointed out by The Verge, Examsoft’s system requirements page for its software provides no additional detail, simply reiterating that 12th-gen CPUs aren’t currently supported and that you aren’t allowed to run the Examplify software within a virtual machine. But it’s not the first time a problem like this has surfaced, and the culprit is almost certainly the hybrid CPU architecture that Intel is using in most 12th-gen chips.
In previous generations, all of the cores in a given Intel CPU have been identical to one another: same design, same performance, same features. Clock speed and power usage would ramp up and down based on what the computer was doing at any given time, but the cores themselves were all the same and could be treated that way by the operating system. In 12th-gen chips, CPUs come with a mix of completely different processor cores: large, fast performance cores (or P-cores) handle the heavy lifting, while smaller, low-power efficiency cores (or E-cores) handle lighter tasks. But because operating systems and most apps are used to assuming that all CPU cores in a given system are the same, software has needed to be modified to tell the difference between the two.
Apps that haven’t been updated sometimes see the two different types of CPU cores available to them and assume that they are actually seeing two entirely separate PCs. This was the reason why some video game DRM and anti-cheat software packages needed updates or workarounds to run on 12th-gen CPUs. Intel said at the time that the affected software was detecting the E-cores “as another system,” which could also explain why the Examplify software thinks it’s running in a virtual machine—it sees that there’s a layer of abstraction between it and the CPU, and it refuses to run.
That also means that there’s a potential workaround that could make 12th-gen laptops compatible with the Examplify software in the short term: disable the E-cores. Not all PCs support this, but most custom-built desktop motherboards will let you do it, sometimes by adjusting the core counts manually and sometimes by enabling a “legacy game compatibility mode.”
Dell’s XPS 15 BIOS refers to E-cores as “Atom cores,” but it does allow you to disable some or all of them. This may not fix the Examplify issue, but it’s worth a try.
The BIOS of the latest ThinkPad X1 Carbon, on the other hand, does not appear to allow you to disable E-cores.
The option is rarer in laptops, but at least some of the 12th-gen laptops we’ve tested so far have a switch in the BIOS for it as well, usually somewhere in the performance or power settings—we’ve included screenshots of a Dell XPS 15 BIOS that allows users to adjust the number of E-cores, and a Lenovo ThinkPad X1 Carbon BIOS that doesn’t allow it. There’s no guarantee that disabling the E-cores will fix the problem, but it works for those older games, and there’s a good chance it will work for the Examplify software, too (as long as you can do it in the first place).
Moving to a hybrid architecture has caused other issues, aside from the ones with Examplify and older games. Windows 10 and older Linux kernel versions can’t take full advantage of 12th-gen processors because they don’t support the “Thread Director” technology that Intel has built to make sure that tasks are being sent to the CPU cores that can handle them best, forcing people with 12th-gen PCs to use Windows 11 to get the best possible performance and battery life. Disabling the E-cores has also been the only way for some users to take advantage of Intel’s AVX-512 instructions with early revision Alder Lake processors. Because those P-cores support AVX-512 and the E-cores don’t, AVX-512 support is usually turned off for all cores by default, but some motherboards will allow you to switch AVX-512 back on once the E-cores are off (newer Alder Lake chips have had their AVX-512 capabilities physically fused off, making the situation moot).