I was trying to install league of legend using wine and I stumble upon this


In 2021, Riot plans to introduce a kernel-mode driver as part of their anticheat[1]. This is fundamentally incompatible with wine and will be the end of League on Linux (using a virtual machine with GPU passthrough may still be supported). If you are a new player considering picking up League, we recommend against it.

from https://lutris.net/games/league-of-legends/

Why do they choose to block this driver, and is a way to hijack this?

  • Wine does support kernel mode drivers, provided they are just "software" and don't interact with hardware devices (there's ReactOS for that otherwise). Just see how it can run safedisc and starforce games, often better than modern windows itself. But anti-cheat purpose is exactly verifying your system, of course a completely different operating system trips it. – mirh Jul 21 at 9:28

Simple version. Wine runs Windows programs without a Windows Kernel of any sort.

Wine provides an API to match the userland API of Windows, but under the hood it does not, and never has had the internal Kernel mode API to simulate the inner workings of Windows. That is it only simulates the way the Windows kernel looks like it behaves, not the way it actually behaves.

Moreover kernel mode drivers often contain code which is restricted by the CPU in userland. This can include CPU Opcodes for hardware access. For wine to allow this code to run it would need to either:

  • Emulate a CPU. This is both slower and a lot of work. It usually needs very specialist tools like qemu
  • Run the Windows driver (somehow) inside the Linux kernel. Doing this safely would be almost impossible.

Since Wine does neither of these things, it's just not possible for them to provide this feature.

Having played LoL myself, I'm not surprised Riot have taken this action. The last time I played, some game modes (particularly "all random") had excessive bot players screwing the games up for everyone.

Locking it down in the most tricky way possible is designed to make it as difficult as possible to run LoL on another platform. It is designed make it only interface with windows so it won't interface with bots.

  • A third possibility is to run the Windows driver in user space with some small support in the kernel for the privileged instructions ... – Murray Jensen Jun 21 '20 at 9:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.