19 марта 19 мар. 25 509

Гейминг на Linux. Стоит ли пробовать?

+3

Всем привет! Все вы наверняка слышали о том, что Linux (не важно какой дистрибутив) — это ОС только для серверов без практической пользы для обычного среднестатистического пользователя. Но на самом деле, при правильной настройке, даже на Linux можно играть в практически все современные тайлты без лишних хлопот и нареканий.В данном блоге вы узнаете

  • Как обстояли дела с играми на Linux до прихода Valve и Steam Deck;
  • Каким образом Steam спас гейминг на Linux;
  • Ответим на главный вопрос блога: стоит ли?

И без лишних предисловий начинаем!

Небольшая историческая справка.

Многие, увидев название блога, наверняка слегка потерялись, поскольку Linux не настолько распиаренная ОС как Windows от Microsoft. Популярность Windows достаточно просто объяснить: она легко устанавливается, с ней нет никаких сложностей в плане настройки и использования, в отличии от Linux. А точнее, в отличии от того, как представляется Linux обычному пользователю. Но для начала мы всё же должны узнать, кто такой этот ваш Linux и с чем его едят.

Linux (произносится как Линукс, в простонародии пингвин из-за логотипа) — это ядро операционной системы с открытым исходным кодом, созданный в 1991 Линусом Торвальдсом. Ядро написано на достаточно старом, но всё также популярном языке С. Есть просто бесчисленное количество дистрибутивов. Их настолько много, что их сложно сосчитать. Очень сильно хочется показать график наследственности дистрибутивов (то есть определенных сборок этого ядра). Настолько хочется, что я даже, наверное, это и сделаю, но несколько позже.

Всего, на самом деле, 3 популярных базы Linux, а именно:

  • Debian. Из самых популярных операционных систем с данной базой (также называемых производными или деривативами) можно выделить сам базовый Debian, а также Ubuntu, Pop! _OS, а также все операционные системы, сделанные на базе Debian. Плюсом сюда также относят и FrankenDebian, по аналогии с Франкенштейном. Данным термином описываются какие-то непонятные сборки Debian с кучей никак несвязанных пакетов, порой ломающие друг друга. Среднестатистический пользователь обычно вспоминает именно операционные системы этой ветки, когда ему говорят про Linux.
  • Arch. Сюда входят Arch, Manjaro, EndeavourOS, а также SteamOS 3.0+, но о SteamOS мы поговорим чуть позже. Данная база является уже куда менее популярной, нежели Debian, однако данная ОС отлично подходит для игр, поскольку все утилиты в репозиторий програм добавляется быстрее, чем в Debian и Fedora, однако Arch требует подкованности в плане пользования и/или знании английского языка для чтения различной документации. Обновления проходят по принципу Rolling Release, в отличии от Debian и Fedora, выпускающиеся по стабильному графику.
  • Fedora. Используется RHEL (Red Hat Enterprise Linux), AlmaLinux. Обновления по данным деривативам приходят стабильнее Arch, но на данных ОС проще работать, особенно если у вас видеокарта от красных ввиду улучшенной поддержки Vulkan и Mesa.

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

Ссылка на картинку со сложными зависимостями операционных систем.

Упрощённый таймлайн с куда меньшим количеством ОС
Упрощённый таймлайн с куда меньшим количеством ОС

База Linux: установщики, команды и прочее

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

Как обычный человек видит Linux и приходит в ужас. В данном случае используется последняя доступная версия Ubuntu 24.10
Как обычный человек видит Linux и приходит в ужас. В данном случае используется последняя доступная версия Ubuntu 24.10

Проблема заключалась в том, что в Linux файловая система работает иначе, нежели чем в Windows. Если объяснять ключевые разницы между Windows и Linux, то заключаются они вот в чём:

  • В Linux каждый отдельный элемент (включая папки) — это файл. Да, это значит, что если вы видите папку /home/username/Documents/, то Linux видит файл /home/user/Documents/ с определёнными правами.
  • Сами права в Linux реализуются несколько иначе. В то время, как Windows используется права на основе Access Control List (или ACL), Linux всё контролирует на основе UNIX-прав (то есть rwx для read-write-execute), что достаточно сильно отличает его от системы прав в Windows. Об этом я, наверное, сделаю отдельную главу в посте просто про Linux, дабы не отвлекаться от темы.

Да придёт спаситель!

До 2013 года запуск игр Windows был затруднён тем, что у Steam не было клиента под Linux, и поэтому людям приходила изощряться, скачивать игры с торрентов, либо заводить диск с Windows под Linux и запускать игры при помощи Wine, который в то время был ужасно ненадёжным: оптимизация игр в нём была очень плохой, игры имели графические артефакты, и низкую производительность. Ситуация чем-то напоминала ту, что сейчас наблюдается в эмуляции Playstation 3: каждая игра требовала отдельной настройки для комфортной игры.

В 2013 году у Steam появился нативный клиент для Linux, что сделало игры более доступными, но всё же на Linux нативно запускались зачастую только игры от Valve (Half-Life 2, Left for Dead и прочие), в то время как все остальные игры всё также требовали тонкой настройки из-за различных интерфейсов Windows (DirectX, например). Но 2018 год изменил всё…

2018 год. Как Proton начал спасать Linux.

Linux так и оставался нишевой игровой платформой, если бы не Proton — форк старого Wine, то есть это была отдельная разработка на его базе, для того, чтобы сделать их операционную систему SteamOS более конкуретноспособной. Однако SteamOS вышла в 2013 году и была фактически мертворождённой: она была на базе Debian, не имела нормальных способов игры на Wine, поскольку тогда Wine был сильно ненадёжен. В общем, проблем у SteamOS хватало.

А затем Valve анонсировали и выпустили свои Steam Machine в 2015 году, которые использовали данные операционную систему и… можно только сказать, что они проделали путь выпущенного в 2013 году Xbox One, только куда серьёзнее. Если у Xbox One был контроллер в комплекте, то у Steam Machine его не было и Вам приходилось его либо докупать за $50 (при изначальной цене консоли в $500), либо подключать к нему клавиатуру и мышь и пытаться как-то играть в игры.

Но в 2018 году Proton сделал жизнь геймеров на Linux значительно проще из-за того, что:

  • Proton был вшит в Steam изначально. Больше не пришлось скачивать отдельно Wine и делать с ним различные танцы с бубном для того, чтобы запустить какую-то одну игру.
  • Они использовали библиотеку DXVK для перевода вызовов интерфейса DirectX в Vulkan для увеличения производительности. Раньше все переводы из DirectX делались в OpenGL, который работал значительно медленне, из-за чего и были очень сильные лаги в играх. Если упираться в садик цифры, то падение производительности на уровне 5-10%, а порой FPS можно и подняться, что тоже хорошо.

Соотвественно, внедрение Proton в Steam сделало гейминг на Linux более доступным, поскольку Proton превращал процесс установки игр и их запуска из адского страдания в достаточно приятный процесс, сравнимый даже с игрой на Windows за исключением парочки условностей, по типу включения Proton в настройках игры/Steam, но это решалось буквально в пару кликов.

Как там с мультиплеером?

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

Итоги: Нужно ли пробовать сейчас играть в игры на Linux или нет?

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

  • Если вы совсем прямо новичок в Linux и не можете пользоваться интерфейсом терминала, то лучше всего подойдёт вам Ubuntu, поскольку ей достаточно просто пользоваться, она не вызывает уж слишком много проблем, но придётся повозиться с драйверами NVIDIA, что является болячкой для всех систем на базе Linux.
  • Если же вы уже привыкший к Linux пользователь, либо если вы готовы сесть за некоторое количество документации и изучить систему уровне уверенного пользователя, то тогда можно использовать и Arch, и Fedora, и в целом любую другую операционную систему. Главное — подобрать то, что будет удобно чисто для Вас.


Лучшие комментарии

Честно говоря, много вопросов возникает.

Насколько страдает производительность? Да, Proton — не эмулятор, но перевод системных вызовов ведь не бесплатный.

Что делать, если игры нет в Steam? (Ну или есть, но не в РФ, например) Т.е. как поживает гейминг на Linux без Steam? Я так понял, можно отдельно установить Proton? В таком случае ещё вопрос.

Все ли игры поддерживаются этим механизмом? Условно, если я захочу запустить после старенькой Syberia любую современную игру на UE5 с вшитой Denuvo, смогу ли я это сделать без дополнительных манипуляций с Proton?

Привет!

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

С Denuvo слегка сложная история. Зависит от того, как именно в Denuvo проводится проверка подлинности копии игры. Обычно всякие DRM защиты в Linux работают не так хорошо, как в Windows, поскольку среда выполнения Wine всё равно не нативная Windows, и некоторые обращения к Denuvo дропаются, что может привести к одному из двух исходов

1. Игра спокойно запустится и можно нормально наслаждаться геймплеем.

2. Игра требует подключения к интернету для проверки подлинности через Denuvo и после проверки игра пошлет вас куда подальше и не запустится.

И отвечая на вопрос про то, как поживает гейминг на Linux без Steam: вполне неплохо. Можно скачать абсолютно любую игру(если речь идёт об одиночных играх) и сразу её установить, правда придется чуток заморачиваться с минимальной настройкой в плане Visual C++ redistributable, поскольку в каждой среде Wine это приходится делать отдельно.

Я таким образом установил и даже играл в Until Dawn с установкой на Linux

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

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

И да, поддержка всякого выпендрёжа типа VR и HDR и старья типа X.org реально печальная, тут даже спорить не буду, тут винда, пусть криво-косо, но справляющаяся с этим, конечно впереди. Но вообще, если ты не извращенец какой и используешь систему так же, как 99% людей — ты можешь вообще никогда не встретиться ни с одной из описываемых в этой прекрасной статье проблем.

Очень интересное чтиво. Спасибо за статью.

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

Вот с Monster Hunter Wilds были проблемы на старте, но уже через неделю игра стала 100% играбельна под линукс, с производительностью идентичной натуральной. (У меня две системы на одном пк, я сравнивал)

Сейчас, кмк, самая большая проблема это античиты и нежелание разработчиков поддерживать в них линукс. Особенно этим любят грешить китайцы. Особенно в сингловых гача-играх (не дай бог кто-то начитерит себе красивую тянку, вместо того, чтобы сделать 100500 круток)

У меня была идея сделать блог с анализом Linux и Шинды, но потом я понял, что это займёт у меня слишком много времени(да и плюс, мне лень было бы делать бенчмарки 10000 игр).

А вообще я увидел эту статью и подумал «А чё, нормального чела реально парят такие проблемы?»

This.

Мне хватило около трёх часов пердолинга с линуксом, чтобы передумать ставить его как основную систему. Совсем другая философия пользования. Если разделять пк на игровой и домашний/рабочий, то для второго линуха пойдёт ваще на ура, но для игр… Слишком много гемора

Спасибо за поднятие такой важной проблемы, однако...

Если вы совсем прямо новичок в Linux и не можете пользоваться интерфейсом терминала, то лучше всего подойдёт вам Ubuntu, поскольку ей достаточно просто пользоваться, она не вызывает уж слишком много проблем, но придётся повозиться с драйверами NVIDIA, что является болячкой для всех систем на базе Linux.

Хватит, пожалуйста, советовать Убунту всем подряд. Серьёзно, есть куда лучше дистрибутивы, которые лучше справляются с тем, чтобы пересадить стандартного юзера на линукс. Та же Fedora или Pop!_OS имеют по умолчанию красивые среды рабочего стола (извините, но ГНОМ — это уродство), у федоры вообще выбор огроменный. У поп_ос лучше дела обстоят с драйверами для нвидиа карт, так как они там тупо вшиты в систему, что лишает пользователя лишнего пердолинга.

Да и терминал — меньшая из проблем Линукса. Наоборот он позволяет некоторые вещи делать быстрее (например, скачивать приложения) и отпугивает только своим видом. А вот большое количество багов (я про игры сейчас), неинтуитивность UX, лишний пердолинг там, где его не должно быть, недостаток приложений с винды и отсутствие античитов реально может повлиять на окончательный выбор юзера. В принципе, это и есть причина, почему я не пересаживаюсь на Линукс. Мало того, у меня и времени нет на то, чтобы его изучать. В этом и кроется главная проблема линухи: её нужно изучать, не всем хочется это делать после 10-20+ лет на винде.

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

Не знаю, у меня нет никаких проблем с запуском игр на Linux, особенно со Steam. Да и сами игры приседают не то, чтобы сильнее чем на Windows, а порой и работают даже лучше. Для лучшей работы можно в аргументах прописывать gamemoderun %COMMAND% для каких-то минорных улучшений производительности, но я чаще запускаю mangohud для отслеживания ФПС и температуры.

Да и если не брать Proton, куда сильнее можно встрять с драйверами на NVIDIA, что делает процесс куда более сложным и муторным

Спасибо за ответ.

Вообще тема интересная, но боюсь, что до тех пор, пока будет требоваться настройка отдельных игр (Visual C++) или иметься шанс не запустить их вообще (Denuvo и пр.), массовый геймер так и останется на Windows, где таких проблем нет.

В целом, могу согласиться, что запуск пиратских игр требует отдельной настройки, но с играми в Steam вообще никаких проблем нет. Просто ставишь себе их спокойно на свой комп и запускаешь под Protonом.

Из плюсов Linux могу выделить куда меньшие затраты ресурсов на собственное обеспечение (без графической оболочки, то есть тупо с CLI система требует на совсем немного оперативы, буквально меньше гига, а внутри игр затраты по ней обычно не превышает 8-10ГБ в очень жёстких сценах.

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

извините, но ГНОМ — это уродство

Ну тут я могу согласиться, ибо я уже (за примерно полгода использования, может меньше) уже успел привыкнуть к терминалу линуха. Пока только к башу, нежели к zsh.

Да и плюс, может кому-то нравится пердолинг с системой и кому-то хочется просто как-то разнообразить использование своего ПК?

А вот большое количество багов (я про игры сейчас)

Честно, ни разу не встречал. Хотя были ситуации, когда игры запускались не с первого раза (было один раз с Detroit: Become Human из-за отвала Visual C++), но в целом у меня игры идут вполне спокойно

Не надо возиться. Есть Heroic для EGS, есть Lutris для всего чего угодно. В большинстве случаев трогать руками не то что Proton, даже сами файлы игры не надо…

А я просто запускаю под линуксом и если там не идёт (обычно идёт, но вдруг это какой-нибудь Индиана, который на старте просто не хотел работать), то тогда уже иду в винду. Библиотека между системами шарится, разницы, под какой системой играть, за редкими исключениями, вообще нет.

В винду всё чаще хожу за VR (его пока нормального под линукс не завезли, а костыли слишком костыли), за играми с ненастроенными античитами и в редких исключениях, за чем-то, что отказывается нормально работать под линуксом.

По поводу производительности и графониума: встроенный в протон кэш шейдеров некоторые игры даже лучше делает (вот тот же Elden Ring на релизе лагал под линуксом куда меньше, чем под виндой)

Вот тут соглашусь, что самый главный бич Linux — это античиты, работающие на уровне ядра системы, ибо Linux куда более нишевая платформа, чем Windows, да и разработчикам тоже как-то в падлу поддерживать линух. В итоге всё в нём(даже само ядро) держится на энтузиастах/компаниях с явными интересами( по типу RHEL), но основной костяк людей, которых я знаю, сидят на Ubuntu, так что на нём проблем с играми, по факту, совсем нет.

Про Heroic я, кстати, не слышал толком. Скорее всего из-за того, что я EGS то не пользуюсь толком, всё в Steam храню.

основной костяк людей, которых я знаю, сидят на Ubuntu

Нет, спасибо, я лучше на стабильной системе посижу :))

Читай также