Почему игры на Linux работают хуже нежели на Windows

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

Вопрос о переходе геймеров на Linux упирается в проблему, о которой в сообществе Open source не принято говорить: запуск игр, разработанных изначально под Windows, влечёт за собой потерю производительности. В этом материале мы разберём, почему игры на Linux часто работают хуже, нежели на Windows, и с чем это связано.

Автор: CD Projekt RED Источник: steamcommunity.com

Разные миры

Компания Microsoft десятилетиями развивала Windows как единую платформу, пытаясь охватить как можно больше направлений: домашний, бизнес и серверный сегменты. В то время как Linux стала незаменима в серверном сегменте. Основные силы крупных корпораций, которые в реальности и отвечают за поддержку и развитие Linux (Red Hat/IBM, Canonical, SUSE, Google, Intel), направлены на оптимизацию системы для корпоративных, серверных и облачных задач. Им практически нет никакого дела до Linux на домашнем компьютере. В отличие от Microsoft, заинтересованной в развитии Windows, в том числе и для игр. Конечно, компания Valve пытается как-то повлиять на ситуацию, поддерживая работу энтузиастов и выпуская новые продукты на базе SteamOS (Arch Linux), но это скорее попытка сделать «запасной аэродром», нежели навязать реальную конкуренцию Windows. Что отчётливо подтверждается статистикой Steam, где доля пользователей Linux из года в год не превышает 4%.

Автор: Valve и пользователи Steam Источник: store.steampowered.com

Поддержка и накладные расходы

Как я уже писал ранее в своей статье «Стоит ли геймерам переходить на Linux», существуют огромные проблемы с поддержкой устройств и внедрением новейших технологий в самую свободолюбивую ОС в мире. Драйверы для Linux значительно отстают от версий для Windows. Производители игровой периферии и GPU в первую очередь оптимизируют свои устройства под творение Билла Гейтса, где сосредоточено большинство игроков. Да, существуют решения от энтузиастов: Mesa, NVK, RADV и т. д. Но их состояние зависит от сообщества, которое, к огромному сожалению, в последние годы скорее подбирает остатки крошек со стола корпораций, нежели самостоятельно разрабатывает и внедряет новейшие технологии.

Кроме того, проблему усугубляет сама реализация запуска игр на Linux. Чтобы запустить игру, изначально разработанную для Windows, необходимо задействовать сторонние реализации Windows API (Proton/Wine), а также библиотеки ретрансляции кода (DXVK/VKD3D), переводящие графические вызовы DirectX в API Vulkan. Но в программировании, как и в жизни, ничего бесплатного не бывает.

Автор: Microsoft, Филипп Реболе, Khronos Group

Сначала Wine/Proton «эмулирует» Windows API: транслирует системные вызовы, имитирует управление памятью, синхронизирует потоки. Затем в дело вступает DXVK/VKD3D. Ретранслятор разбирает шейдеры, преобразуя их в промежуточный язык SPIR‑V; транслирует команды D3D11/D3D12 в Vulkan, который, в свою очередь, пересоздаёт (отрисовывает) игровые ресурсы. Наконец, ретранслируемый код исполняется на железе. Но всё это «великолепие» требует значительных ресурсов ПК, порождает задержки ввода и практически всегда обеспечивает более низкие значения FPS по сравнению с игрой, запущенной на Windows.

Тестирование игр

Проведём наглядное тестирование, где сравним Windows 11 Pro (22H2) и Kubuntu 24.04 LTS. Обе системы будут работать на бюджетном китайском ноутбуке на базе процессора Intel Celeron N5095, 16 ГБ RAM и встроенной графикой Intel UHD Graphics (Jasper Lake, 16 EU). Данная конфигурация звёзд с неба не хватает, но именно на подобные устройства чаще всего и устанавливают Linux в надежде заполучить заветную прибавку к FPS.

Counter Strike: Source (Native)

Компания Valve проделала выдающуюся работу по адаптации своих игр под Linux: разница производительности между двумя ОС составила менее 20 FPS. Что вполне ожидаемо, учитывая отсутствие необходимости в ретрансляции кода при запуске нативной игры и, как следствие, дополнительных накладных расходов. Игра взаимодействует с графическим API и железом ПК без лишних посредников.

Metro 2033 (DX9)

В случае с играми, транслируемыми через DXVK, ситуация уже не столь радужная. Ретрансляция кода создаёт повышенную нагрузку на ПК, что отчётливо видно по возросшим показателям потребления RAM и нагрузки на CPU. Каждый вызов DirectX должен быть в реальном времени интерпретирован и преобразован в эквивалентную команду API Vulkan, что заставляет CPU выполнять дополнительные просчёты и выделять больше памяти под данные. В конечном итоге игровой процесс превращается в «желе», появляются микрофризы и лаги. Играть, конечно, можно, но уже не так приятно, как на Windows. Тринадцать FPS в пользу творения Билла Гейтса.

TES V: Skyrim Special Edition (DX11)

Ситуация повторяется. Задействование DXVK повышает нагрузку на ПК, что неизбежно ведёт к отставанию и более худшему игровому опыту, нежели с игрой на Windows.

Resident Evil 6 (Benchmark)

Итоговый тест производительности, задействующий равномерно все компоненты ПК, успешно подтверждает полученные ранее результаты: трансляция кода не берётся из воздуха, её выполнение требует дополнительных системных расходов. Так что столь любимый поклонников Linux аргумент о меньшем потреблении их самой свободной и независимой ОС ресурсов ПК в играх имеет место быть только в том случаи, когда речь заходит о нативных проектов. Что в эпоху Steam Deck и Proton звучит довольно нелепо. Разница в производительности между Windows и Linux составила 20%.

Заключение

Миф о том, что игры на Linux работают даже лучше, чем на Windows, относительно справедлив лишь для узкой категории нативных проектов, изначально разработанных с учётом особенностей ОС. В таких исключительных случаях, благодаря отсутствию слоя ретрансляции кода и меньшим накладным расходам на обслуживание работы системы, действительно можно наблюдать паритет или небольшой прирост FPS, особенно на слабом ПК. Однако проблема в том, что крупные разработчики игр не спешат выпускать свои хиты на Linux, вынуждая пользователей самой свободной ОС, а также владельцев Steam Deck задействовать для запуска игр Wine/Proton и DXVK, реализация которых всё ещё далека от идеала и требует дополнительных системных ресурсов, которые при запуске игры на Windows могли быть направлены на более высокие настройки графики или FPS. Таким образом, все горячие споры о производительности Linux в играх зачастую подменяют вопрос «насколько хорошо они работают» вопросом «насколько терпимо», что в корне противоречит самой сути гейминга, где каждый FPS имеет значение.

Изображение в превью:
Автор: CD Projekt RED
Источник: steamcommunity.com
PCДругойДругая
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://t.me/Pavel_Priluckiy

49 комментариев

a
Не настолько линукс и свободолюбивый. Развивают его прежде всего корпорации типа ибм и оракла. И, как показывает опыт, корпорация легко может перевести проект «на коммерческую основу» и закрыть исходники и патчи. А жить в вечной «бете» — так себе удовольствие.
Pavel_Priluckiy
Вы абсолютно правы. Пример Red Hat тому доказательство.
P
Выкини из системы половину памяти и посмотрим, сколько ФПС будет на Вин, и сколько на Линукс
Я на 16-ти летнем четрыхядерном QC с 4 GB Ram, Ubuntu 24, играю в Мир Танков, 30-45 ФПС. Способна ли Вин11 на это?
Pavel_Priluckiy
Да! Вырежите мусор и вперёд.
P
Я ничего из Линукс не вырезал, просто систему поставил, накатил последний Wine и POL и вперёд.
wholeman
Тем не менее, с Windows не сравнить. Мне приходилось добавлять поддержку парочки устройств в ядро. Ничего сложного — я не бывший хакер, просто надо было прописать параметры в модулях для соответствующих ID PCI и USB, чтобы ОС их опознавала и правильно настраивала, но в Windows это невозможно, и приходится полагаться на производителей.
Pavel_Priluckiy
Так и представляю, как обычный геймер этим занимается).
wholeman
Обычному геймеру, конечно, умений не хватит. Но «свободолюбия» это не отменяет.
Pavel_Priluckiy
Свобода? Одну уздечку променяли на другую.
wholeman
В Windows «уздечка» — это отсутствие исходного кода, ограничение на использование, запрет распространения, изучения и изменения. В что за «уздечка» в Linux?
a
Наличие исходного кода не означает, что его пользователи поймут и смогут модифицировать. Не думаю, что можно спокойно добавить в ядро свою систему управления памятью или дисками.
wholeman
Чтобы добавить в ядро свою систему управления памятью, надо сначала написать эту систему. Обычному пользователю такое не под силу. Даже продвинутому. Но команда разработчиков может это сделать. А также сопровождать ОС, если мейнтейнеры апстрима почему-то перестанут это делать или захотят закрыть исходники. Opensource лицензии не позволяют закрыть то, что уже было опубликовано.
a
Посмотрите на ибм, закрывшую исправления в rhel. А вроде и «опенсос».
wholeman
RHEL не opensource и никогда им не был. Дьявол, как известно в деталях. Где можно почитать, что именно они там закрыли?
a
RHEL — один из главных контрибьюторов в линукс, если вы не знали. Не какие-то там Васи с нескучными обоями и болгеносами.
А закрыл ибм систему патчей на rhel. Дистрибутив можешь скачать вместе с исходниками, а исправления, которые тоже с исходниками — за деньги. Без патчей использовать ее можно, но смысла особого нет.
wholeman
RHEL — это коммерческий дистрибутив, если Вы не знали. Red Hat Enterprise Linux. Слово Enterprise как бы недвусмысленно намекает, что это не бесплатно и не свободно. Естественно, контрибьютором дистрибутив быть не может — этим занималась компания Red Hat. Разделение дистрибутивов на свободную и коммерческую версию появилось очень давно, в начале века, если раньше. GPL и не требует публикации исходников в открытом доступе, только предоставления их пользователям. Интересный вопрос, что эти пользователи могут делать с полученными исходниками, тем более, что Red Hat отказалась иметь дело с РФ и РБ, и на них действуют экспортные ограничения США.
a
А сами модули вы и писали?
wholeman
Нет, конечно. Модули были, только моих устройств они не знали, и там были немного другие параметры.
s
Не понял, а почему вы этим должны заниматься? На винде все драйвера всегда есть, максимум вручную самому поставить, ничего прописывать не нужно, по вашему это минус?)
wholeman
Драйвера под винду есть, если их пишет и поддерживает производитель устройства. Под Linux производители этим занимаются значительно реже, приходится самому. Бывает и обратная ситуация, когда производитель уже забросил устройство. Тогда под актуальную версию Windows драйверов не найти. Может быть, повезёт откопать бету и пытаться с бубном её запустить. А под Linux их поддерживают, пока устройства остаются достаточно распространёнными.
a
Драйвера «достаточно старых» устройств из линукса тоже выбрасывают, хотя там их держат подольше, чем для винды. Скорее, не найти драйверов для новых. Но и тут есть нюанс. Драйвера для седьмой винды с большой вероятностью заработают под десяткой, у меня была пара таких устройств, а драйвер для шестого линукса практически всегда не заработает на восьмом.
wholeman
До восьмого Линукса ещё слишком далеко, чтобы строить предположения, что там будет с драйверами. В любом случае, благодаря исходникам, при наличии необходимости и должных навыков драйвера можно будет подогнать. А в Windows остаётся только надеяться, что старые дрова запустятся и не обернутся глюками и дырами на уровне ядра. И ставятся не в пару кликов. Результат: теряем свободу, приобретаем глюки. На мой взгляд, обмен, подходящий разве что для глюкомана.
W
Тестировать на древнем железе, такое себе, тем более на встройке Интела, ведь всем известно, что видеодрайвер Интел под линукс самый худший по производительности из всех, тем более вы тестируете на LTS релизах, где уже драйвера устарели, советую CachyOS имеющий форму выпуска Rolling release все самое свежее, многие тестят именно на нем. Эталон по производительности на линуксе драйвер RADV ничем не уступающий винде, нвидиа на втором месте. Тем более скоро будет внедрена новая версия Vulkan 1.4.340 с расширением VK_EXT_descriptor_heap, призванное упростить сопоставление DirectX и Vulkan и сократить потери производительности в Linux-играх. Ваши выводы не объективны на мой взгляд, смотрите тесты на ютубе их много.
Pavel_Priluckiy
Драйвер встройки интел давно входит в Mesa.
Wizer, я разработчик CachyOS)
G
Разработчик, который не входит в список команды разработки cachy os, интересненько)
Pavel_Priluckiy
Ха, вы слишком мало знаете. Почитайте, что такое ARU, кто его составлял и кто им воспользовался).
wholeman
Гугель по запросу ARU выдаёт некое «руководство», начинающееся фразой: «Привет, неизвестный мне чувак из интернета, раз ты тут, то возможно жаждешь настроить свою систему на максимальный выхлоп, но прежде чем начать — знай: Все манипуляции на вашей совести и авторы не несут никакой ответственности, но если вам нужна помощь или что-то не понятно — создайте тему на Codeberg.» Оно?
G
Я и не утверждаю, что знаю многое)
Но если вы про Aru гайд для оптимизации арча, то это сомнительная затея относить себя к команде конкретного дистрибутива…
G
Я пробовал cachy os — хороший дистрибутив. Сейчас остановился на Федоре и пике ос.
Сравнивал производительность в некоторых играх на Винде 11 и fedora/cachy os — не знаю почему, но фпс на Винде всегда был ниже на 10-20% — это тестил в risen 1-3. A Plague Tale, Fallout 76, Greedfall, Dragon age Veilguard, duet night abyss. World of Warcraft Dragonflight вообще выдал на 50-70% больше фпс — хз с чем это связано. Железо относительно новое — 5600 райзен и 6700 xt…
Pavel_Priluckiy
11 винда на старте была полна багов.
G
Я ее установил вместо 10 где-то месяца 2 назад, когда начитался статей в интернете, что она с обновлением 23h2, стала производительнее десятки) интерфейс мне конечно понравился обновлённый, но количество фпс не очень.
Pavel_Priluckiy
Шифрование диска нужно отключать, сжирает 40% проихводительности.
G
А оно и не было включено
Pavel_Priluckiy
Значит что-то вы намудрили.
G
Интересно, что можно намудрить в установке винды — если она сама работает из коробки, проста и понятная для любого пользователя, в отличие от Линукс?)
Это просто факт — на определённом железе винда в плане фпс догоняющая, конечно, на тех играх, которые я тестил, за все утверждать не могу...
Да и в состоянии покоя винда грузит проц на 5-10 % и охлад, слабо, но шумит
На Линукс — 0-1% в состоянии покоя, и комплектации совсем не шумит
В том же a plague tale комп пытался взлететь, а на линуксе был значительно тише…
114139800521459673838@google
Почему тестируеют не на CachyOS? Установил месяц назад и радуюсь, до этого стоял чистый Арч и рядом Вин10. Затем решил перейти полносью на линух и отказаться от лиги легенд, целый месяц дистрохопинга и нашел для себя идеальную систему с kde — CachyOS
Pavel_Priluckiy
Потому, что был выбран один из наиболее популярных среди масс (а не гиков) дистрибутивов.
DuxSolusig
Прикол, ну холиварно вышло да. Список игр улыбнул)
Pavel_Priluckiy
Что было под рукой, на том и тестил.
Л
Бывший хакер не понимает, что слово «эмуляция» применительно к вайну нельзя применять даже в кавычках, потому что имплементация — это не эмуляция даже примерно. Это собственная реализация Windows API и нет никаких причин, почему она никогда не может быть быстрее реализации от Микрософт. А глядя как микрософт заменила 30% индусов на ИИ и у них багов добавляется в каждом обновлении (то кнопка пуск отвалится, то комп потеряет возможность выключаться) переход на линукс не развлечение для энтузиастов, а необходимость. Ну а то что редакция ixbt не борется с нейрослопами на своём сайте, осуждает подобное в роликах, выглядит как лицемерие. Позор. Предлагаю бойкот сайту, пока нетоварищ Pavel_Priluckiy не будет изгнан.
1
Зато Linux не тянет за собой 10 гиг говна в оперативке, как Windows 11
Pavel_Priluckiy
Тянет, просто вы не понимаете, что такое ядро Linux.
T
https://www.youtube.com/watch?v=RqgiYTfr6Ag
115093338678778707613@google
DirectX изначально технология мелкомягких. Он основан на COM-технологии (такая штука для отделения интерфейса от реализации, не путать с типом файлов .com). То есть, даже если исключить сами обращения к железу, сама по себе эмуляция этого COM уже требует какого-то промежуточного слоя.
Pavel_Priluckiy
Я бы поспорил с первым предложением (OpenGL и консорциум по его развитию), но в остальном вы правы.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Обзор наушников Letshuoer Ember: планарный звук флагманского уровня

Среди флагманских решений компании Letshuoer уже была сложная гибридная конструкция в Cadenza 12 и многодрайверная арматура в чуть более доступных Mystic 8, однако довести до того же уровня...

Сможем ли мы узнать форму Вселенной и почему она, вероятно, не бесконечна?

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

Гравитационная вмятина Земли: почему самая глубокая аномалия планеты скрыта в Антарктиде

В общепринятых геодезических моделях самая глубокая гравитационная впадина планеты расположена в Индийском океане. Это так называемый «Индийский геоидный минимум». Только вот новое исследование,...

Как приготовить сухарики дома как магазинные: «Вкус сыра» — просто, быстро и вкусно

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

Скроллинг без остановки: почему невозможно оторваться от Reels и Shorts и как они влияют на внимание, сон и психику

Короткие видео давно вышли за рамки простого развлечения. TikTok, Reels и YouTube Shorts превратились в ежедневный ритуал для миллионов. Люди открывают приложение на пару минут и поднимают голову...