Предисловие
Почему Linux не для игр? На самом деле есть огромная масса причин, начиная от уродливости ядра в плане установки драйверов (монолитное), когда для установки драйвера видеокарты нужно компилировать ядро, и заканчивая тем фактом, что в линуксах постоянно бурлит ад зависимостей, из-за которого постоянно всё ломается у людей...
Я уже молчу про огромное множество других проблем характерных для "дряхлого пингвина", например кривые встроенные в ядро драйверы AMD, благодаря которым линуксы могут даже не запуститься на некоторых ноутбуках с AMD Ryzen процессором + AMD Radeon дискретной графикой, это было сущим геморроем на голову в своё время с ноутбуком MSI Alpha 15, когда ничего кроме Ubuntu даже не запускалось, а сама "Бубунта" работала косяк накось через задницу.
Конечно, со временем в дистрибутивах обновили ядра, одни кривые драйверы AMD заменили другими кривыми драйверами AMD, которые уже соизволили заработать с ноутбуком, но в целом "дряхлый пингвин" лучше не становится, ведь одно исправляют - другое ломают, и плевать линуксоиды хотели на пользователей:
Ну да ладно, перейдём к тестируемой игре, когда-то я устанавливал Steam в свой дистрибутив Chimbalix Linux, и там у меня осталась игра Forward to the Sky не заражённая DRM, ну и решил её сохранить отдельно, а файлы Steam удалил чтобы не занимали место:
Кстати, неадекватная часть линуксоидов очень любит приводить в пример DRM платформу Steam в качестве аргумента, мол, для Linux якобы есть очень много игр, правда очень любят тактично умалчивать про тот факт, что абсолютное большинство игр разрабатывается именно для Windows, а под Linux они запускаются только благодаря модифицированному Wine, что корпорация Valve встроила в свою DRM платформу.
Я не могу отрицать достижения корпорации Valve, в отличие от линуксоидов они действительно смогли сделать удобную, и самое главное рабочую платформу, что не выносит мозг пользователю терминальными танцами с бубном, без которых просто невозможно пользоваться нынешними линуксами... Но и поддерживать покупку права на запуск вместо самих игр не собираюсь, когда это право могут в любой момент отобрать у любого пользователя Steam.
Да и корпорация не из доброты душевной модифицирует Wine, а вполне с конкретной целью поддержки своей игровой консоли, что основана на Linux, думаю все и так понимают почему не Windows, дорого обойдутся лицензии учитывая печальный уровень продаж Steam Deck на фоне других игровых консолей (его даже в списке самых продаваемых игровых консолей нет):
Предупреждая вопли фанатов Steam Deck, мол, это всё враньё, якобы на самом деле поделка Valve отлично продаётся, и вообще выше представленный список неправильный и т.п., но извольте, ссылка с информацией про 3 миллиона проданных консолей оказалась нерабочей, а другая ссылка говорит о том, что сама Valve говорила про несколько миллионов проданных консолей:
В общем остаётся только гадать, сколько на самом деле продано "революционных" игровых консолей Steam Deck с "пингвином" вместо нормальной операционной системы (хотя бы на основе FreeBSD), но учитывая факты, дела обстоят не очень хорошо, даже если Valve действительно смогла продать несколько миллионов консолей, это очень мало, даже Xbox Series X/S продаются десятками миллионов, я уже не говорю про PS5 чьи продажи на пол сотни миллионов пошли...
Даже какой-то Quest 2 набирает десятки миллионов продаж, если смотреть среди самого свежего, что было выпущено, а ведь я даже не слышал о таком устройстве:
Впрочем, пора заканчивать предисловие и переходить к проведённым тестам, здесь ещё оставлю ссылки на предыдущие статьи по теме игр под линуксом:
Почему Linux не для игр на примере 7 Days to Die 21 b324
Почему Linux не для игр на примере игры 7 Days to Die
Почему Linux не для игр, на примере игры Control
Тестовая конфигурация
Конфигурация моего основного компактного ПК до сих пор не изменялась, потому использую старую таблицу:
В операционной системе Chimbalix Linux для запуска игры будет использован встроенный Wine Staging v8.12 (DXVK v2.3), драйвер видеокарты NVIDIA 545.23.08.
В случае Windows 7 будет использован драйвер видеокарты NVIDIA 474.06,какой был установлен, такой и есть, не вижу смысла что-то делать с "устаревшей версией".
Forward to the Sky
Тестирование начнём как есть, никаких особых методик, просто захожу в игру и смотрю что получается, запускаю с полным мониторингом DXVK, качество графики Beautiful, оконный режим 1024x768, дистрибутив Chimbalix 23.1 Alphachi с ядром Linux 6.5 MX-AHS:
На главном меню мониторинг показывает 100% загрузку GPU, ну да ладно, перейдём к самой игре, и тут получается около 32 FPS, загрузка GPU около 20%, что явно указывает на упор в ЦП, однако график загрузки ядер процессора в диспетчере задач говорит что процессор особо не нагружен (на самом деле нагружен на несколько ядер, просто планировщик неуклюже размазывает эту нагрузку по потокам):
Я не хочу сильно усложнять тестирование, потому сразу перейдём к дистрибутиву Chimbalix 24.1 Alphachi с ядром Liquorix 6.6.13, да, это не Pre6 версия ОС, но сути не меняет, Wine тот же самый, как и драйвер видеокарты:
В главном меню особых изменений нет, а вот в игре FPS повысился до ~35 в среднем, стабильность конечно хромает, но с более новым ядром Linux производительность всё же стала выше, и это факт, причём планировщик перестал размазывать игру на все ядра процессора, это видно из графиков, по которым задействуется только первый CCX из двух, вероятно именно это дало прибавку к FPS:
Но если честно, лучше бы ввели механизм парковки потоков в ядро Liquorix, как это сделано в Windows 7, чем вот это извращение с распределением нагрузки в пределах CCX блоков, гораздо больше прибавило бы производительности...
Ну да ладно, пора загрузить старую добрую Windows 7:
Сначала я не обратил внимания, но игра автоматически выставила самое максимальное качество графики (Fantastic) находясь в среде Windows, в среде Linux она выставляла только высокое качество (Beautiful), но даже так, производительность вышла на уровне 44 FPS, а планировщик процессора грамотно распределил нагрузку строго по ядрам, SMT потоки которых запаркованы и бездействуют, дабы предоставить приложению (игре) максимум производительности самих ядер:
Чтобы сравнение Windows и Linux было корректным, перезапускаю игру исправив настройки качества графики, и получаю 53 FPS, что уже почти в 2 раза больше, чем способен выдать "дряхлый пингвин" с DXVK/Wine костылями, напомню, абсолютное большинство игр разрабатываются именно для Windows, и без Wine их невозможно запустить в среде Linux:
Да, в моём случае с Windows 7 процессор работает всегда на своей базовой частоте (XFR отключен), и функции энергосбережения недоступны (скорее всего из-за отключенной в BIOS технологии Boost), вполне возможно с работающими функциями энергосбережения FPS чуть поубавился бы, но вашу кочергу, в линуксах без терминального бубна вообще невозможно как-либо даже посмотреть на режимы работы ЦП, не говоря уже про настройку...
И пара слов о том, почему данная игра настолько тяжела... Разработчики пытались сделать игровой мир разрушаемым, но что-то пошло не так, и этот мир садит на кукан основной рабочий поток, а если ещё добавить линуксоидные костыли вроде DXVK, без которых не запустить абсолютное большинство игр, то становится всё совсем печально...
-
--
Заключение
Пришло время подвести итоги, и начнём с таблицы результатов! В общем, ничего нового, более свежее и оптимизированное ядро Linux конечно дало небольшую прибавку производительности (около 10%), но Windows 7 значительно производительнее даже несмотря на более старый драйвер видеокарты:
Да, безусловно можно играть при 30-40 FPS и под линуксом, но мне приятнее играть имея 50-60 FPS и больше, можно ли сказать что Linux пригоден для игр? Чисто технически можно, но стоит ли оно того? Особенно если учесть всё то мракобесие, через которое прошёл работая над своим дистрибутивом исправляя бесконечные, характерные для линуксов проблемы, ибо уже существующие линуксы ну совсем печальны "из коробки", и по моим меркам непригодны для нормального использования...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.