Neitralov Neitralov

Привет, я Максим Осин

Backend • Frontend • DevOps

Россия, г. Казань

Гейминг на Linux. Мой опыт запуска 100+ игр

6 июля 2026 г.


Играть на Linux не такая уж и шизовая идея. Еще в середине 2020 года уже можно было увидеть новости из разряда “Read Dead Redemtion 2 работает на Linux лучше, чем на Windows” и это не кликбейт (убеждался лично). Да и кол-во Linux пользователей в Steam продолжает неуклонно расти и больше это не такая нишевая (извиняюсь за столь зумерское слово) тема как много лет назад.

Если еще в январе 2023 года, согласно статистике Steam, доля пользователей составляла 1,38%, то уже через три года, в январе 2026-го имеем 3,38% (рост более чем в 2,5 раза). Звучит все еще не так круто, но в абсолютных числах это примерно 1 375 000 игроков. Можете себе представить, чтобы каждый тридцатый игрок в Steam был линуксоидом? Но это чистая правда.

Я стал частью этой статистики с первого дня перехода с Windows на Fedora Workstation еще осенью 2022 года.

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

Я запустил 100+ игр на Linux

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

В духе Сашко, под боевой клич: «Я буду устанавливать сейчас все игры!», принялся выкачивать половину интернета. Как сейчас помню, скачал где-то ~2 ТБ через qBittorrent.

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

Глобальной пользы ролик не несет. Это просто нарезка по 30 секунд геймплея с включенным мониторингом MangoHUD, чтобы поглядеть на FPS.

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

Однако тот колоссальный труд, который был проделан, и навыки, которые я получил, остались где-то в моей голове. И сейчас, с появлением блога, я решил дополнить этот материал более подробной информацией. Я расскажу:

  1. Почему нельзя так просто запустить Windows приложение на Linux?
  2. Как предварительно оценить свои шансы на успех?
  3. Как запускать игры на Linux? Какие есть нюансы по настройке?

…и начнем с теории.

В чем сложность запуска Windows игр на Linux?

1. Разница в системных вызовах

Несмотря на то, что Windows и Linux могут работать на процессорах с одинаковой архитектурой AMD64 (также известной как x86-64), на низком уровне код программ будет иметь множество различий.

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

Вот пример программы “Hello World” на FASM (flat assembler) для Linux:

format ELF64 executable
segment readable executable
entry start
start:
    ; Системный вызов write (номер 1)
    ; Вывод строки "Hello, World!\n" в stdout
    
    mov rax, 1          ; номер системного вызова write
    mov rdi, 1          ; файловый дескриптор stdout
    mov rsi, msg        ; указатель на строку
    mov rdx, msg_len    ; длина строки
    syscall             ; вызов ядра
    
    ; Системный вызов exit (номер 60)
    mov rax, 60         ; номер системного вызова exit
    xor rdi, rdi        ; код возврата 0
    syscall             ; вызов ядра
segment readable writeable
msg db 'Hello, World!', 10   ; 10 = '\n'
msg_len = $ - msg

Здесь мы видим инструкцию syscall, которая выполняет обращение к ядру. Что это будет за обращение? Зависит от номера вызова и его параметров.

В интернете можно найти таблицы системных вызовов для Windows и Linux. Эти таблицы не идентичны.

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

2. Разница в графическом API

Так исторически сложилось, что множество игр написано под DirectX. Это специфичное для Windows графическое API, которое не работает на других операционных системах.

Причины, по которым DirectX не может работать на Linux, довольно схожи с тем, что было описано в пункте выше.

В статье еще будут упомянуты способы обхода подобных ограничений, но пока достаточно просто зафиксировать: если игра использует не OpenGL или Vulkan (кроссплатформенные графические API), то это добавляет трудностей.

3. Античит-системы

Эта история специфична для мультиплеерных игр. Там палки в колеса вставляют различные античит-системы.

Несмотря на то, что некоторые античиты (например, BattleEye) могут работать с Linux, они предоставляют разработчикам опцию отключить такую возможность, если у последних отсутствует желание бороться с читерами на отдельной платформе.

На примере BattleEye: вы можете играть в такие игры, как DayZ или War Thunder, но уже в Escape from Tarkov или Rainbow Six Siege вас никто не пропустит.

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

Каковы шансы на успех?

Со своим экспериментом я вывел такую простенькую схемку. Она дает возможность сформировать некоторые ожидания касательно успеха запуска той или иной игры.

Game UI

Схема для быстрой оценки работоспособности игры

Но есть и другие способы оценить свои шансы на успех.

ProtonDB

https://www.protondb.com/

Это сайт, где пользователи делятся своими успехами на тему запуска Windows игр под Linux. Каждой игре присуждается статус в зависимости от наличия/отсутствия проблем и степени их тяжести.

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

Are We Anti-Cheat Yet?

https://areweanticheatyet.com/

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

Статус “Denied” однозначно говорит о том, что об игре можно забыть.

Какой у вас дистрибутив?

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

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

Game UI

Steam Hardware & Software Survey: June 2026

Сейчас в топе можем наблюдать «игровые» дистрибутивы по типу: CachyOS, Bazzite, Nobara.

Однако старички из мейнстрима тоже на месте: Ubuntu, Arch и мой любимчик Fedora Linux, на котором сижу уже четвертый год.

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

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

Как запустить Windows игру на Linux?

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

Proton

Это инструмент от Valve, построенный на основе Wine, организующий слой совместимости с Windows приложениями (преимущественно с играми).

Proton предоставляет приложению свои варианты системных Windows библиотек (например, kernel32.dll, user32.dll и т.д.), в которых реализации тех или иных функций заменены на те, которые смогут быть выполнены под Linux (вспоминаем историю про разницу в системных вызовах).

Такой механизм работы позволяет достичь производительности близкой к нативной.

Нередко из-за недопонимания это называют эмуляцией Windows окружения, но корректнее называть это трансляцией системных вызовов. Wine, на основе которого построен Proton, подчеркивает этот принцип в своем названии. Оно расшифровывается как «Wine Is Not an Emulator», являясь рекурсивным акронимом.

Трансляция системных вызовов — не единственная фича Proton/Wine, но для понимания сути достаточно и этого.

Иногда, если запуск приложения не удался на одной из версий Proton, имеет смысл попробовать другую. Если «классических» версий перестанет хватать, то можно установить дополнительные через ProtonPlus, которые содержат дополнительные улучшения.

Эти улучшения как минимум повысят средний FPS, а как максимум могут позволить запустить те игры, которые не способны заработать на классическом Proton от Valve.

DXVK и VKD3D

Мы уже познакомились с Proton, который транслирует системные вызовы к WinAPI в вызовы, понятные для Linux.

Похожие технологии есть и для графических API. Как мы помним, DirectX просто так работать на Linux не будет. Упомянутые в названии раздела инструменты работают несколько хитрее. Они не учат DirectX работать с Linux. Они транслируют команды DirectX в Vulkan. Последний, в свою очередь, является современным кроссплатформенным графическим API, который идеально работает на Linux.

Bottles

Game UI

Интерфейс Bottles

Bottles — на текущий момент мой любимый инструмент для запуска Windows приложений и игр.

Да, я бы мог рассказать про простой запуск через Steam, но мы все всё прекрасно понимаем, и рассматривать варианты, которые не предусматривают «привычного для большинства пользователей способа 🏴‍☠️», малость бессмысленно.

Особенности:

  • В пару кликов предоставляет сконфигурированное окружения для игр.
  • Изолирует приложения в «песочнице» от основной системы.
  • Позволяет удобно управлять версиями Proton/DXVK/VKD3D.
  • Имеет менеджер зависимостей, чтобы всегда можно было установить специфичную для конкретной игры DLL-библиотеку, если чего-то не хватает из коробки.

Достаточно установить игру/приложение привычным способом, через установщик, прокликав «далее, далее, готово…», и добавить в меню ярлык. Вот на скриншоте можно наблюдать, как у меня пошли четвертые сутки в Kingdom Come: Deliverance II.

Помимо Bottles, я когда-то использовал PortProton от одного умельца, который ныне работает в “Базальт СПО”.

Штука сносная, но мне не хватило возможности удобной установки DLL (как-то раз TES: Skyrim затребовал xAct), а еще я не разобрался с параллельным запуском нескольких приложений.

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

Заключение

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

А если игра еще и использует Vulkan, то, вероятно, FPS будет ничуть не хуже, чем на Windows.

Иногда приходится жонглировать различными версиями Proton, но это мелочи жизни.