Анонсирована реализация античитов для Linux 5.11

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Во время саммита по открытому исходному коду,  доклад Габриэля Крисмана Бертази о «состоянии игр в Linux» оказался весьма значимым.


Был достигнут значительный успех в совместимости Windows с Wine и Proton от Valve (часть Steam Play), и есть еще много областей, которые в настоящее время отсутствуют и нуждаются в доработке. Collabora — одна из компаний, расширяющая ядро ​​Linux для улучшения игр Linux с помощью уровней совместимости, благодаря Valve, спонсирующей работу. Одна из больших проблем — это поддержка античитов и систем защиты игр, причем античит, в частности, вызывает всевозможные проблемы, полностью нарушая работу многих Windows-игр в Wine и Proton.

Речь о состоянии Linux игр, в основном, касалась того что уже было известно любому, кто следит за Linux, поскольку мероприятие не нацелено на типичного энтузиаста Linux-игр. Тем не менее, это был интересный доклад. 

Одна из ключевых особенностей, на которые обратил внимание Габриэль Крисман Бертази, — это работа над эмуляцией системных вызовов, которая теперь требуется, потому что технология защиты игр и технология защиты от читов «выдают системные вызовы непосредственно из игрового кода Windows и обходят Wine, поскольку Wine не песочница», а Wine в настоящее время не может захватывать полностью системные вызовы, которые необходимы, что в конечном итоге приводит к сбою игр.

Сначала они попробовали решение для пользовательского пространства, которое проще и не требует возиться с ядром Linux, но Бертази упомянул, что из-за этого было много проблем, таких как отключение защиты игр и античитов, а также плохое влияние на производительность, поэтому правильным решением было модификация ядра Linux. Они создали Syscall User Dispatch, специально созданный для решения этих проблем. 

Бертази сказал, что он «разработан для эмуляции, поэтому он действительно быстр для системных вызовов» и «он очень быстр для гибридной среды, где у вас есть собственные системные вызовы, поступающие из Wine, и эмулируемые системные вызовы из приложения Windows». Они надеялись, что патч появится в ядре Linux 5.10, но, скорее всего, это будет ядро ​​5.11, и принятие будет легким, поскольку в дистрибутивах просто нужно включить параметр конфигурации. Бертази продолжает говорить, как они будут «следить за тем, чтобы» дистрибутивы включили его, поскольку «это очень изолированная функция, которая не влияет на остальную часть системы, поэтому нет причин не делать это», а затем вам просто нужна версия Proton достаточно новая, чтобы играть в защищенные игры.


Похоже, что игры в Linux с такими уровнями совместимости, как Wine и Proton, для перебора игр Windows на Linux станут очень интересными, начиная с Linux Kernel 5.11. Примечание: это не значит, что что-то будет волшебным образом работать, хотя в отношении античита, только Linux и поэтому Wine / Proton будут понимать определенные системные вызовы, которые им нужны.