6d1b117264
QEMU's PIIX4 emulation does not model IA32_PERF_STATUS, so the dwell counter cannot confirm a state transition actually took effect and the governor oscillates P0<->P1 on idle. On a real hypervisor (QEMU/KVM, VMware, VirtualBox, Hyper-V, Xen) the MSR writes are also typically no-ops on the underlying emulation. detect_virtualization() reads /sys/class/dmi/id/sys_vendor and product_name. If the system vendor contains 'qemu', 'kvm', 'vmware', 'virtualbox', 'hyper-v', or 'xen', CpuInfo is constructed with read_only=true and apply_pstate() short- circuits at the top: the load value is still tracked and the governor still logs its choice, but no MSR writes fire. On real hardware (LG Gram 2025, etc.) the existing behavior is preserved exactly. The redundant DWELL_CYCLES constant is removed (DWELL_POLLS already serves that role). Phase H of CONSOLE-TO-KDE-DESKTOP-PLAN.md.