Почему Linux никогда не заменит Windows для игр
В последние годы множество людей, уставших от произвола Microsoft, начали рассматривать Linux как полноценную ОС для своего компьютера. В этой статье вы узнаете основные причины, почему Linux, несмотря на все свои преимущества, никогда не сможет заменить Windows для игр.
Совместимость
Одной из главных причин, почему Linux не суждено заменить Windows на игровом поприще, является проблема совместимости. Большинство игр разрабатывается под Windows и Android (консоли в расчёт пока не берём). Это означает, что для запуска таких игр необходимы проприетарные (закрытые) программные компоненты, исходный код которых широкой аудитории недоступен. И даже если поклонник пингвина всё же запустит любимую игрушку на Linux, используя Wine или Proton, то в большинстве случаев он столкнётся с задержками ввода, глюками изображения и прочими «весёлыми» багами. Дело в том, что, несмотря на совершенствование библиотек ретрансляции графических вызовов DirectX в API Vulkan, не всегда возможно в точности передать все графические эффекты, так как их реализации попросту может не быть в текущей версии DXVK или графического API, в который производится ретрансляция.
Серьёзным препятствием также служит множество программных прослоек, которые использует геймер на Linux. Если используемая игрой версия DirectX не устарела, и она отлично параллелится по ядрам, то пользователь всё равно получит меньшее значение FPS, нежели запустив эту же игру на Windows. Существуют, конечно, хитрые способы нивелировать разницу: задействование флагов оптимизации, кастомных ядер и прочего волшебства из мира Open Source. Но это тема для отдельной статьи.
Поддержка
Несмотря на общее монолитное ядро, количество дистрибутивов Linux исчисляется тысячами. И если разработчики игр попытаются поддерживать их все, то они напросто свихнутся. Обилие различных графических окружений, оконных менеджеров, системных зависимостей и прочих программных библиотек превращает главное достоинство Linux — свободу — в его же главный недостаток. Разработчику достаточно выпустить игру для одной-двух версий Windows, чтобы обеспечить совместимость своего программного продукта с подавляющим большинством компьютеров. Выпуская же игру на Linux, приходится затрачивать колоссальные ресурсы на адаптацию, тестирование и поддержку, что зачастую оказывается невыгодно. В итоге многие игровые студии и разработчики ПО принимают вполне рациональное решение: игнорировать Linux.
Нельзя забывать и о поддержке оборудования. Современный гейминг — это не только мощная видеокарта, высокочастотный монитор и быстрый процессор, но также и гарнитуры с объёмным звуком, рули с эффектом обратной связи, программируемые клавиатуры со множеством модулей. Производители периферии вкладывают бешеные деньги в их разработку и поддержку. К сожалению, на Linux всё, что находится за границами классической клавиатуры и мыши, часто ограничено или вовсе недоступно. Почему-то сразу вспоминается старая байка, как один начинающий пользователь Linux искал на игровом форуме драйвер для Wi-Fi. Спустя пару лет такой же бедолага поднял старую тему обсуждения и спросил: удалось ли отыскать драйвер? На что тот ответил: «Устал искать, пришлось выучить язык программирования и самому написать».


Античиты и DRM
Многие неопытные пользователи Linux наивно полагают, что основная проблема, мешающая самой свободолюбивой ОС стать раем для геймеров, — это посредственная поддержка её популярными античитами. Спешу вас огорчить: это совершенно не так! Существует множество способов «отвязать» игру от античита. Проблема заключается в том, что этим часто стали пользоваться нечестные на руку игроки. С появлением Wine количество читеров, использующих Linux, возросло кратно, так как пингвин способен по мановению руки изменять практически все идентификаторы оборудования, тем самым успешно обходя любые виды блокировок в сетевых играх. Разработчики не могут этого не видеть и поэтому не спешат ещё больше распахивать калитку для начинающих жуликов. С поддержкой DRM (защита от копирования) тоже не всё так гладко. Из-за малого числа пользователей Linux (на момент написания статьи их менее 4% от общего количества пользователей Steam) рентабельность разработки и приобретения защиты по типу Denuvo попросту отсутствует.
Технологии
Программисты обожают Linux за его свободу, гибкость и стремительное внедрение новейших технологий. Но в случае с RTX, DLSS, FrameGen, Reflex самая свободная в мире ОС безбожно проигрывает. Всё дело в том, что игровые технологии создаются в тесном тандеме корпораций, так как требуют огромных денежных вливаний для найма армии высокооплачиваемых специалистов и покупки специализированного оборудования. В результате, как и в случае с играми, первостепенной становится самая популярная экосистема: DirectX и Windows. Такое положение дел создаёт технологическое отставание для пользователей Linux. Они вынуждены ждать милости от крупных корпораций или реализации от энтузиастов. Компания Valve пытается сдвинуть ситуацию с мёртвой точки, выводя на рынок продукты на базе Linux, но воз и ныне там.
Заключение
Долгие годы Microsoft честными и не очень путями монополизировала рынок ПК. Это сделало разработку игр, ПО и поддержку оборудования под другие ОС экономически нецелесообразной. В итоге Linux, несмотря на все свои преимущества, совершенно не нужен нынешним геймерам. Но если ваш досуг за ПК не ограничивается играми и вы не гонитесь за новинками индустрии, то и он сгодится.
Источник: giga.chat





51 комментарий
Добавить комментарий
Ребенок скопипастил нейрослоп, нет смысла даже обсуждать это
Если же говорить о GNU/Linux, то в современных дистрибутивах имеются вполне актуальные драйверы GPU, в частности, RTX40+. Что касается периферии, то при наличии открытого драйвера она поддерживается намного дольше независимо от того, когда производитель решит прекратить поддержку. У меня есть пара таких устройств.
Движки Unity и Unreal Engine позволяют создавать нативные игры под GNU/Linux, Нативный UE также собирается из исходников. Античит можно сделать на уровне ядра, другое дело, что пользователи GNU/Linux обычно не любят такого, поскольку дорожат свободой и безопасностью своих систем, но для Windows это норма.
Итог: единственная преграда для того, чтобы GNU/Linux стал полноценной игровой ОС — инертность разработчиков игр. Однако, не исключено, что направление развития Windows, выбранное Microsoft, заставит их изменить своё отношение к этой платформе.
Единственная причина, по которой нет AAA игр под Android — недостаточная мощность соответствующих устройств, то есть, аппаратная проблема, а не программная.
А своим комментарием, я просто хотел сказать, что ненужно сравнивать несравниваемые, абсолютно разные, вещи.
Как же я устал от этого глупейшего аргумента.
Ну конечно, Android «тоже Linux». Давайте ещё микроволновку посчитаем за ПК, раз там есть CPU! Если человек всерьёз считает, что Android и Linux — это одно и то же, значит, его познания в области Linux ограничены лицезрением терминала на скриншоте в интернете. Да, Android использует ядро Linux ровно так же, как холодильник использует электричество, но это вовсе не делает его Linux. PS3/4/5 тоже используют «модифицированную» FreeBSD. И что? Закрытый SDK, жёстко зашитые API Google, куча проприетарных библиотек и интерфейс, от которого любого админа бросит в дрожь. Так что да, Android — это, конечно же, Linux, но только в том смысле, в каком микроволновка — тоже компьютер: формально есть CPU, RAM и дисплей, а по факту — совершенно другая вселенная, где ваши линуксовые привычки не работают, а попытки что-то настроить заканчиваются ошибкой либо окирпичиванием устройства.
Если в микроволновке установлен такой же CPU, как в ПК, и она обеспечивает сравнимую с ПК функциональность, то это уже скорее ПК с дополнительной функцией, нежели микроволновка, и только упрямец будет утверждать обратное. Потому что обычно в микроволновке стоит простой микроконтроллер и её возможности ограничены нагревом того, что в неё положили. Даже если там есть WiFi, она всё равно уступает ПК по мощности.
Linux — это только ядро, ничего больше. В Android оно занимает столько же, как и в настольном дистрибутиве, по объёму, по функциям и по значению. API Гугла, библиотеки и прочее находятся на более высоком уровне, как и аналогичные компоненты на десктопе.
Окирпичивание происходит из-за конструкции устройства, а не ОС, Android x86 не соответствующем железе работал точно так же, как и системы на базе GNU (и ПО более высокого уровня, например DE). Многие приложения GNU/Linux работают и под Android с небольшими изменениями, например, Krita.
Роли Linux в Android и GNU/Linux абсолютно одинаковы. В обоих случаях над ними системные библиотеки C, но в Android над ней есть ещё Java-машина, тем не менее, предусмотрена возможность создания нативных приложений.
MS Windows тоже не имеет стандартного пакетного менеджера, полноценного терминала суперпользователя и нельзя свободно менять графическую оболочку. Получается, что Windows — это Android, а играм в GNU/Linux мешают вот эти три «базовых механизма управления системой»?
О неотъемлемости сервисов Google расскажите Хуавею, а то они не знают — у меня их телевизор на Гармошке вполне позволяет использовать все приложения, которые собраны без этих сервисов, и таких много. Особенности управления процессами и правами есть в каждой ОС, они не являются чем-то принципиально важным для игр.
О том, насколько собеседник разбирается в теме обсуждения Вы судите исключительно по тому, согласен ли он с Вашим мнением?
Вода ради воды. Прослойки совместимости постоянно развиваются. И проблемы с совместимостью, описанные выше, и проблемы с производительностью решаются. Где то уже лучше чем в винде, где то очень близко. И кстати прослоек всего несколько:
1. Wine это базовый транслятор вызовов Win->Linux
2. DXVK для трансляции DirectX 8,9,10,11 в Vulkan
3. VKD3D для трансляции DirectX 12 в Vulkan
Чуть в строне стоит Proton, который по сути кастомный Wine, интегрированный в стим и включающий многие компоненты типо того же DXVK. Так же в составе Proton альтернативная ветка VKD3D-Proton, которую поддерживает Valve
Не надо таких дерзких слов. Активно поддерживаемых немногим более 300. При этом большинство из них не нацелены на массового потребителя потому что имеют определённую зону использования. А потребительских дистрибутивов, наиболее известных всего десятка два + какое то количество вариаций, которые по сути просто другие оболочки из коробки. Ничего страшного в количестве дистрибутивов нет.
Это если делать нативный порт, хотя и тут всё просто: зачем игре учитывать различные графические окружения, оконные менеджеры? Игре это не надо совсем. А если прямо проблема с системными библиотеками, то убедись что с набором библиотек от Valve (Steam Linux Runtime) твоя игра работает
Нет таких проблем. Реально на многое оборудование есть сторонний софт, который хорошо работает, а многое оборудование из коробки поддерживается на уровне ядра, MESA или графической оболочки (например в KDE отличная поддержка графических планшетов, там в настройках есть возможность настроить всё, хотя на винде для этого нужен сторонний софт)
Просто скажу: проблема с античитами есть либо в том, что разработчики запрещают линукс явно (EAC), либо делают его зондом на уровне ядра (Vanguard), что вообще мерзко и даже винда думает такое запретить.
Бабайка от человека со стороны, явно. Все технологии поддерживаются драйверами производителей. Т.е. сделала Nvidia, скажем, RTX — в драйвере железки поддержка будет. Вы слышите, что RTX поддерживает только DirectX? А ничего, что игры с RTX через VKD3D работают на линукс? Наверно потому что Vulkan поддерживает RTX с первого же дня потому что Nvidia сама сделала для него расширение, которое потом было официально принято. Я могу запустить на линукс Cyberpunk 2077, и все технологии, указанные Вами, там работают. Более того сообщество иногда в порыве сделать удобнее и впринципе заставить что-то работать на линукс делает лучше, чем на винде. Например сделали апскейлер для абсолютно любой игры на базе FSR. Там не важно какого года игра, что она поддерживает. Игра даже не будет знать, что FSR её апскейлит. Это сделано прямо на уровне Wine. Или Lutris, где можно настроить всё и вся. Недавно забавность там увидел: хотел поиграть в HotA, выбираю версию героев из GOG, а сам Litris предлагает сразу сверху накатить HotA. И таких примеров много.
Это всё костыли, работу которых я кратко описал в статье. Хотите беспроблемной работы игр и ПО, запускайте их в нативной среде для которых они были разработаны.
P.S. Wine — это не транслятор вызовов, а отдельная реализация Windows API.
Пользователь kot_duott уже подробно описал, почему вы заблуждаетесь.
И вновь kot_duott уже вам всё сказал.
Зачем так яро лгать? Игровые звуковые и новейшие сетевые карты — ярчайший пример, когда пользователи попросту не могут заставить их работать на Linux. Сможете запустить без танцев с бубном звуковые карты серии Creative Sound BlasterX AE и заставить их полноценно работать в среде Linux?
Этот «сторонний человек» сделал один из самых значительных вкладов в разработку CachyOS — дистрибутива Linux занимающего вот уже более 7 месяцев вершину топа distrowatch. Скорее это мне приходится сомневаться в ваших знаниях.
Это Вы о себе? Спасибо. Буду знать, какой дистрибутив лучше не трогать даже палкой.
Видите там в списке IBM | RedHat? У них давноооооо свой дистрибутив для корпоратов RHEL — Red Hat Enterprise Linux, а от него есть производный Fedora, который уже для всех. И у многих основных дистрибутивов есть коммерческие версии, что позволяет держать штат в том числе тестировщиков.
И то, что вы всерьёз (!) пишете, что Fedora — это «система для всех», это одно из свидетельств глубины непонимания, насколько же любой современный дистрибутив Linux не готов для использования обычными людьми. Ну или Ubuntu какая-нибудь.
Обычный пользователь никогда не будет разбираться в разнице между X и Wayland, закрытыми и открытыми дровами, поднимать систему после каждого второго обновления, решать конфликты библиотек, разбираться, как поставить любое нужное приложение (из репозитория? через snap? через flatpack?), гуглить по форумам, почему нужные приложения не работают, поднимать Wine, вбивать таинственные команды в консоль, гуглить почему нет драйверов и фирменного софта для периферии и т.п… Просто никто не будет пердолиться с этим, кроме айтишников и энтузиастов.
Ну так а в чём проблема то? Основных оболочек, наиболее популярных всего 2 это GNOME и KDE. У них разные философии, но обе имеют огромное число разработчиков и тестировщиков. Почти у всех дистрибутивов есть версия либо с тем, либо с другим, либо с обоими. Выбрать всегда можно. Ровно как можно выбрать и другую оболочку, но там уже можно столкнуться со стагнацией разработки из-за малого числа разработчиков и пользователей.
Но для обычного пользователя можно сразу ставить что-то именно на основе одной из двух популярных.
Кстати у KDE тоже есть свой список спонсоров, пусть и не такой большой как у Linux Foundation, хотя у KDE никаких коммерческих продуктов нет. Зато скоро будет свой эталонный дистрибутив KDE OS.
Зачем это ему нужно? Это просто переход с одной технологии на другую. Это забота разработчиков. Обычному пользователю это совсем не надо и на него это никак не влияет, тем более что по факту переход на Wayland состоялся. Нравится это или нет, но Wayland окончально стал стандартом
В случае NVIDIA открытые драйвера вообще лучше не использовать, а в случае AMD открытый драйвер единственный, и он официальный. Поэтому, получается, никаких разборок и не надо.
2 года я сидел на Manjaro, и ни одно обновление не положило мне систему. Но мне очень понравилась атомарная идея, поэтому я выбрал Bazzite, сижу уже более полугода, и ни одно обновление не положило мне систему. Что я делаю не так? Да и в Bazzite если положит обновление систему, то просто загрузиться в предыдущее состояние, что даже проще, чем в винде: система предложит его выбрать при старте.
Обычный пользователь при установке софта из стандартных репозиториев никогда не сталкивается с такими проблемами. С ними можно столкнуться только если:
1. Gentoo
2. Arch при установке из AUR
3. openSUSE
4. ставишь руками
Но все эти 4 случая не для обычного пользователя, даже я, программист, стараюсь их избегать.
Ну в обычном случае всегда приоритетен репозиторий дистрибутива, а в других случаях Flatpak. В Bazzite всё проще: есть только Flatpak, это ограничивает количество доступного софта, но каталог пополняется буквально ежедневно, так что скорее всего по итогу Flatpak станет основным везде, он очень удобен. А Snap не нужен, он неудобный и принадлежит Canonical.
Так что разбираться не нужно. Вообще в дистрибутивах есть центры приложений (во всех), поэтому откуда ставить можно даже не выбирать, там всегда приоритет репозиторий, а Flatpak только если в репозитории ПО нет.
Если речь об играх, то тут все за пользователя делает Steam. В остальных случаях есть удобные инструменты типо Lutris (для игр) и Bottles (универсален, но в приоритете для программ).
Зачем? Я вот в консоль вбиваю только команды для обновления системы, просто так информативнее, но могу всё устанавливать и обновлять через графический интерфейс в один клик мышкой.
Для какой такой? Да, иногда есть проблемы с софтом для настройки подсветки потому что OpenRGB не всё поддерживает. Но как бы на этом и всё. Остальное есть, даже пусть и не официально. Но минимальная работоспособность будет всегда. А единственный драйвер, который в некоторых дистрибутивах придётся ставить — драйвер NVIDIA. Драйвер AMD всегда включен в состав MESA (частично он вообще в ядре Linux) и всегда установлен.
Я вот 2 года назад одному человеку, максимально далёкому от IT сферы, поставил Fedora Silverblue. За это время он ко мне ни разу не подошёл с проблемами. У него всё просто работает. Что он делает не так?
Да, сейчас этот вопрос не проработан, но он не представляет такой серьёзной проблемы, чтобы (GNU)Linux никогда не мог заменить Windows для игр, как уверяет автор.
Что и не требовалось доказывать.
Добавить комментарий