Fixing League of Legends 8.12 on KVM/QEMU

UPDATE 19 JUNE 2018: Riot has released a statement saying, in part, that a patch released today will allow virtualization with a passed through GPU (IOMMU)

Riot recently rolled out a new “anticheat” that prevents the game from running in a VM. Riot released a statement while the feature was in PBE saying that while they were not specifically out to screw over Linux users (bullshit), they also weren’t going to make any effort to make League compatible with Linux.

As of patch 8.12, anybody playing in a virtual machine will not be able to start the game after champ select; they will only see a “Reconnect” button.

To make matters even worse, players running Windows baremetal without any odd 3rd party software are running into issues, and it seems that their support contractor wasn’t informed about the updated “anticheat”. These players are reporting the symptoms of it preventing the game from starting, and they aren’t putting 2 and 2 together. Not even sending users either of the official posts linked above.

Riot’s waxing poetic about the “complex nature of our protection”… but it literally just checks cpuid. You may also need to set kvm=off if you aren’t already doing so for NVIDIA driver compatibility.

Passing -hypervisor to QEMU bypasses the block:

-cpu host,-hypervisor,kvm=off,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time

For libvirt, add the following stanza inside <cpu>:

<feature policy='disable' name='hypervisor'/>

Just an aside, I’m looking for a new adventure (you know, a job) in Chicago. If this helped you, and your firm could use someone familiar with Linux and KVM, definitely hit me up; [email protected]

7 comments on “Fixing League of Legends 8.12 on KVM/QEMU

    • I’m using QEMU 2.12.0 on Gentoo. If you’re using PCI pass-through, you supposedly shouldn’t need to do anything special you weren’t doing before. If you’re still running into issues, remove and reinstall the client. My client gets corrupted so much that I have a /separate/ VM that I can just copy a clean League client from over Samba.

  1. hey man, that’s good, but can you tell me the way to do it on ‘parallels’, a MacOS’s VM, because in my country, LOL client doesn’t support on MacOS yet, thank you so much 🙂

    • It’s going to depend on whether you’re using VMWare Workstation (Your hypervisor is an app) or something like ESX (Your hypervisor is the OS), and in either case, I don’t have experience with VMWare, as my setup uses KVM and Libvirt.

Leave a Reply

Your email address will not be published. Required fields are marked *