A compatibility layer intercepts calls and rewrites them. That works when a program asks for a window, a sound buffer, or a draw call — abstractions the layer can satisfy with equivalent ones on the host system. It stops working when a program reaches past the abstraction and grabs the machine directly.
Where translation stops
FROM THIS ENTRY- Ring 0 / kernel modeCPU privilege level where hardware access is unmediated; drivers here cannot be intercepted by a user-space translation layer
- Anti-tamper / anti-cheatsoftware that deliberately verifies the kernel environment, timing, and signature chains rather than using portable APIs
- Hardware attestationproof-of-identity mechanism that checks the actual software stack, not a compatible one
- Dongle / hardware tokenlicensing device whose responses come from physical firmware, not from software the layer can replicate
- HIDHuman Interface Device protocol; some vendor implementations use proprietary extensions below what a compatibility layer touches
Kernel-mode drivers are the clearest case. A graphics driver, an audio driver, a USB device driver — these run in ring 0, the CPU privilege level with unmediated hardware access. When a Windows program installs a kernel-mode driver, it is not making an API call a layer can intercept at the syscall boundary. It is loading code that expects to execute inside the Windows kernel itself, against Windows kernel data structures. A Linux kernel is not a Windows kernel with compatible internals. There is no seam to translate at; the structures simply do not exist.
Anti-tamper systems push this further, deliberately. The design intent of a kernel-level anti-cheat or a hardware-attestation DRM is to verify that the environment is exactly what it claims to be. They check driver signatures against a known Windows signing chain. They call undocumented kernel APIs to detect debuggers and hypervisors. They measure timing to detect instruction interception. Some query CPU features at a level below any translation layer, or read hardware identifiers that have no equivalent in the host environment. A compatibility layer that successfully mimicked all of this would have to be, in every relevant particular, the Windows kernel — at which point it has stopped being a translation layer and become something else entirely.

The same logic applies to hardware-bound licensing. A program that reads a dongle's firmware over USB is not talking to an abstraction; it is talking to specific USB descriptor values and vendor commands that a real dongle produces and a compatibility layer cannot synthesise. If the response is wrong by a byte, the program exits.
Peripheral firmware presents a related limit. A racing wheel or a flight stick that ships with a Windows-only configuration utility uses a proprietary HID protocol baked into the device's own firmware. The device is real and physically present; the protocol going across the USB bus is not something the layer sees. The utility's calls go through the host HID stack, and if the firmware expects Windows-specific behaviour in the handshake, the configuration simply fails.
What connects these cases is that they all depend on something the layer cannot manufacture: a genuinely running Windows kernel, a hardware token with its own firmware, or a signed software chain that attestation can verify. Translation works by substitution. Where the program checks that no substitution has occurred, translation reaches its hard edge.

