LINUX.ORG.RU

Доработка ядра Linux для поддержки современных Windows игр

 ,


1

4

На прошедшем Linux Foundation Open-Source Summit Europe был представлен обзор работ по расширению ядра Linux для лучшей поддержки Windows игр.

Габриэль Крисман Бертази в качестве инженера консалтинговой фирмы Collabora рассказал о своей работе над улучшением ядра Linux для поддержки запуска игр для Windows в Linux. Collabora один из партнеров Valve вместе с CodeWeavers.

>>> Доклад



Проверено: Shaman007 ()

Я бы лучше послушал про wayland и nvidia драйвера.

А всякие различия строчных и прописных букв а также анти-читы такое себе.

P.S. Про потоки я не совсем понял, уже 50 раз писали что даже под windows родные ее современные игры плохо работают с потоками и не равномерно грузят ядра, они что хотят чтобы оно работало лучше чем в windows что ли ?

mx__ ★★★★★ ()

Вам не кажется, что на форуме про linux одноимённый тег — это слегка смешно? Да, мы знаем, что Линукс это ядро, ну так и присвоили бы тег kernel.

hobbit ★★★★★ ()

А почему хэштэг именно игрушки? Для ребенок разбросал по полу игрушки, но когда я заходить в Steam искать новые компьютерные игры.

Игрушки детские Игры настольные и компьютерные

anonymous ()

Modern games DRM & anti-cheat technologies

Вспоминая недавний бан youtube-dl: не является ли обход защиты нарушением лицензионного соглашения игры? Что если там написано что игра работает только на Windows и использование других ОС или эмуляторов/виртуальных машин запрещено?

X512 ()
Ответ на: комментарий от X512

Что если там написано что игра работает только на Windows и использование других ОС или эмуляторов/виртуальных машин запрещено?

Ну вполне ты можешь отправится в бан. И?

anonymous ()
Ответ на: комментарий от X512

Что если там написано что игра работает только на Windows и использование других ОС или эмуляторов/виртуальных машин запрещено?

В некоторых играх банят за использование Linux/Wine, потому что античит понимает, что что-то не то. Можешь погуглить плаксивые истории в гугле. (Либо читеры просто хотят чтобы их пожалели, и просто читерят на линуксе)

Вот один из примеров(но их точно было не мало): https://habr.com/ru/news/t/482830/

fsb4000 ★★★★ ()
Последнее исправление: fsb4000 (всего исправлений: 2)
Ответ на: комментарий от X512

Но ведь основным назначением Wine не является обход защиты. Даже если с помощью чего-то можно обойти защиту не означает, что это надо запретить.

Если я правильно помню DMCA, то под запрет попадают только те инструменты, которые специально сделаны для того, чтобы обходить защиты.

Иначе я смогу создать защиту, которую можно обойти отправкой ICMP-пакета, и запретят утилиту ping.

kmeaw ★★ ()
Ответ на: комментарий от X512

Wine это не эмулятор,а в шиндожзе все завязано на вин32 апи, которым и является Wine. И прекрати верить во все, что написано. Написано, что работает только на шиндожз потому что на другом не тестировали.

anonymous ()
Ответ на: комментарий от beastie

Ибо лялих уже давно курам насмех.

На этом «курам насмех» работает почти весь интернет и значительная часть мобильных и встраиваемых устройств. Хвалёное ядро NT оказалось не нужно нигде кроме десктопа. Да и там оно сугубо по историческим причинам, особой необходимости в его уникальной архитектуре и функциях на десктопе нет. В комплекте с ядром NT всегда идёт неиссякаемый источник уязвимостей win32k.sys.

X512 ()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от kmeaw

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

нормальных ботов как и мапы не держат на клиенте игры, а с зеркалированием трафика не один античит управиться просто физически не может.

остаются валхаки и аймы, с первым можно попытаться проверить подпись драйвера и подсовывать ему правильный профиль. айм вроде тоже успешно вынесли за пределы игрового компа, я вот даже хз зачем еще существуют защиты, разве что от скрипткиди

Morin ★★★ ()
Ответ на: комментарий от BceM_IIpuBeT

Так а где суть доклада?

Хотят найти узкие места, мешающие работе wine и внести в ядро изменения, чтобы wine работал глаже. Цели реализовать WinAPI в ядре Linux нет, только добавить то, что тяжело реализовать в user space. И только тогда, когда быструю реализацию нельзя создать в user space.

Первая боль: Проблема нечувствительных к регистру файловых систем. Разрабы под венду из-за этого не заморачиваются, а в Linux потом всё глючит. Wine эмулирует это, но с большими накладными расходами.
Решение: Начиная с ядра 5.4 можно включать нечувствительный к регистру режим в отдельных директориях. И игра будет работать и остальную систему не поломаем.

Вторая боль: Не совпадающий API синхронизации потоков. В венде часто полагаются на WaitForMultipleObjects(), которая может проверять изменение состояния целой пачки разношёрстных объектов, типа потоки, мьютексы, events и т.д. Реализация в Wine - целый комбайн из нескольких механизмов.
Решения пока нет, есть черновой вариант на основе футексов.

Третья боль: DRM и античиты. Их реализация не полагается на API, используя вместо этого сисколы венды, которые не перехватывает Wine (потому что не эмулятор, а реализация API), они попадают в ядро Linux и там игра крешится, потому что Linux не реализует сисколы венды.
Решение: Предлагается создать механизм захвата таких сисколов и возврата их в user space, чтобы Wine смог превратить их в нужные вызовы в Linux. Ожидается с ядра 5.11.

atrus ★★★★★ ()
Последнее исправление: atrus (всего исправлений: 1)

Что за бред? Ну я вот не собираюсь покупать игру, которая не имеет официальную поддержку моей платформы и запускается на ней с помощью реверс-инженеринга. Завтра прилетит новая версия — и всё, перестала работать. Деньги, естественно, никто не вернёт.

Это раньше, в безынтернетные времена можно было быть уверенным, что, если игра запустилась под вайном, то ты её спокойно пройдёшь. Сейчас же к играм, как и к любому другому ПО, которое теперь гвозядями прибито к внешним серверам, постоянно выпускают обновления, без которых оно превратится в тыкву.

te111011010 ()
Ответ на: комментарий от mx__

P.S. Про потоки я не совсем понял, уже 50 раз писали что даже под windows родные ее современные игры плохо работают с потоками и не равномерно грузят ядра, они что хотят чтобы оно работало лучше чем в windows что ли ?

Там в первую очередь про синхронизацию потоков. Современные виндоигры очень активно используют виндовый примитив Futex Wait Multiple, а линукс без патча FSYNC не умеет делать так.

melkor217 ★★★★★ ()
Ответ на: комментарий от anonymous

Доработку для поддержки вирусни и троянов когда ожидать?

Уже давно работает. Помню один рассказывал, как лопухнулся, когда запустил левый exeшник в рассчёте, что он мне под wine сделает. Под wine был запущен какой-то там мессенджер, учётку от которого запущенная им пакость невозбранно и увела.

atrus ★★★★★ ()

Что то даже грустно от этой новости. Linux, особенно сейчас, должен быть максимально независим от винды. Игры должны быть нативными, а не портированными. Иначе линукс просто будет частью WSL

karton1 ★★★★ ()
Ответ на: комментарий от Oberstserj

Это ж до какого дерьма мы дожили, что десктоп теперь определяется наличием поддержки игрулек

Всегда определялся. Кто отказывается это понимать - сидят на своём 1%.

atrus ★★★★★ ()