Linux

為什麼wine不支持核心模式驅動?

  • June 21, 2020

我試圖用葡萄酒安裝英雄聯盟,我偶然發現了這個

2021 年的反作弊變化將永久打破大聲笑,見下文。

Riot 計劃在 2021 年引入核心模式驅動程序作為其反作弊的一部分

$$ 1 $$. 這從根本上與 wine 不兼容,並且將在 Linux 上結束 League(可能仍支持使用具有 GPU 直通的虛擬機)。如果您是考慮選擇英雄聯盟的新玩家,我們建議您不要這樣做。

來自https://lutris.net/games/league-of-legends/

為什麼他們選擇阻止這個驅動程序,並且是一種劫持它的方法?

簡單版。Wine 在沒有任何類型的 Windows 核心的情況下執行 Windows 程序。

Wine 提供了一個API來匹配 Windows 的使用者態 API,但實際上它沒有,並且從來沒有內部核心模式 API 來模擬 Windows 的內部工作。也就是說,它僅模擬 Windows 核心的行為方式,而不是實際行為方式。

此外,核心模式驅動程序通常包含受使用者空間 CPU 限制的程式碼。這可以包括用於硬體訪問的 CPU操作碼。要讓 wine 允許此程式碼執行,它需要:

  • 模擬 CPU。這既慢又工作量大。它通常需要非常專業的工具,例如qemu
  • 在 Linux 核心中執行 Windows 驅動程序(以某種方式)。安全地做到這一點幾乎是不可能的。

由於 Wine 不做這些事情,所以他們不可能提供這個功能。


我自己玩過英雄聯盟,我對拳頭採取這種行動並不感到驚訝。上次我玩的時候,一些遊戲模式(特別是“全隨機”)讓過多的機器人玩家把遊戲搞砸了。

以最棘手的方式鎖定它旨在使在另一個平台上執行 LoL 變得盡可能困難。它的設計使其僅與 Windows 互動,因此不會與機器人互動。

引用自:https://unix.stackexchange.com/questions/593913