Почему Linux не для игр на примере драйверов видеокарт и DXVK прослойки

Предисловие
Каково одно из самых популярных оправданий для линуксов со стороны адептов при поломке? Правильно, если поломали - значит не нужно было! А потом думают, почему это подавляющее большинство людей обходят стороной "пингвина" как нечто ужасное и непригодное для использования...
реклама
Так к чему это всё? О проблемах MESA 3D я уже писал однажды, как они там поломали драйвер llvmpipe аж с 2021 года:
LLVMpipe проблема современных дистрибутивов Linux: Поломали что работало
И до сих пор продолжают ломать несмотря ни на что, как утратившие всякий здравый разум:
реклама
Как разработчики доломали llvmpipe в составе Mesa3D, или почему Open Source нежизнеспособен
Хотя о чём это я... Разве в Open-Source был когда-нибудь здравый разум? Не считая моих попыток привести в порядок "пингвина", и редкого меньшинства действительно заботящихся о пользователях разработчиков.
Какой может быть здравый разум, когда, как показали сравнительные тесты, совершенно непригодный для игр дистрибутив Nobara называют игровым?

реклама
Да и не забываем про то, что адепты "вечно дряхлого пингвина" очень любят вводить в заблуждение окружающих, как? Очень просто, игры испокон веков были большой проблемой для линуксов, ибо никто в здравом рассудке не хочет вкладывать ресурсы в разработку игр под линуксы, где распространение софта это огромная проблема, которую к слову, я пытаюсь решать в своём дистрибутиве.
А вводят в заблуждение тем, что называют Windows игры обвёрнутые в Wine костыли играми для Linux без какого-либо зазрения совести (будто она была у адептов "пингвина").
Про то, что большинство линуксов из коробки особо ничего из себя не представляют, пожалуй, промолчу, это и без меня многие давно знают, но перейдём к очередной линуксоидной проблеме.
-
Драйверы
О том, какие паршивые драйверы у AMD наверное только ленивый не говорил, к счастью, у меня сейчас хоть и старая, но видеокарта от NVIDIA в лице GTX 1070, и я могу относительно нормально пользоваться своим ПК вместо того, чтобы постоянно перебирать вечно кривые драйверы AMD в попытках найти наименее кривой...
реклама
Так вот, работая над дистрибутивом Chimbalix я стараюсь думать и про драйверы видеокарт, с видеокартами GTX 900 серии и новее всё просто, скачиваем последний официальный драйвер NVIDIA и он работает даже с последними ядрами линукса, в которых постоянно ломают обратную совместимость, но что насчёт пользователей видеокарт GeForce 400-700 серий? Ведь таких видеокарт все ещё много, и ими пользуются люди.
Вот тут и начинаются проблемы, ибо последние драйверы NVIDIA для видеокарт 400-500 серий выпущены в 2022 году под Linux:

И проблема в том, что в линуксах постоянно ломают обратную совместимость, такой драйвер невозможно установить с ядром Linux 6.9 используемым по умолчанию в дистрибутиве Chimbalix, нужно откатывать примерно до версии 6.2, чтобы драйверы NVIDIA версии 390 можно было установить:
![]() |
![]() |
![]() |
![]() |
Вероятно некоторые адепты "вечно дряхлого пингвина" начнут искать оправдания, мол, какой 390 драйвер на GTX 1070? Но пусть идут лесом, ибо моя видеокарта официально поддерживается данной версией драйвера:

Это собственно одна из проблем вечно кривых линуксов, что в самом ядре постоянно ломают обратную совместимость, а игры, как всем известно, работать не будут без нормальных драйверов.
По факту, из-за того, что в линуксе постоянно ломают совместимость, владельцы видеокарт GeForce 400-500 серий и их ребренды остались без драйверов, я конечно не люблю когда бросают поддержку старых видеокарт, но всё равно ничего не могу сказать плохого в сторону NVIDIA, они и так до 2022 года поддерживали эти древние видеокарты...
И позор линуксу, что нынешние версии не поддерживают вполне ещё актуальные драйверы 2022 года.
Но для владельцев видеокарт серий GeForce 600-700 всё намного лучше, ибо NVIDIA до сих пор выпускает новые драйверы, постоянно подстраиваясь под вечно ломающийся в плане обратной совместимости Linux:

И он прекрасно установился в дистрибутиве Chimbalix с ядром Linux 6.9, да, поругался на systemd, ибо сейчас система была загружена в классическом режиме, но всё нормально установилось благодаря трудам NVIDIA, что до последнего не бросает пользователей своих видеокарт, в отличие от AMD:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Вот и рабочий стол с установленным драйвером 470 версии:
![]() |
![]() |
Кто-то скажет про встроенные в линуксы драйверы AMD, и как якобы всё с ними прекрасно? Но увы, этот мусор от AMD называемый драйверами лучше вообще не вспоминать, особенно тот факт, что у AMD нет адекватных установочных пакетов драйверов для видеокарт, только пакетный мусор непригодный для использования на автономных системах:
![]() |
![]() |
Так что на этом закончим разговоры о драйверах AMD в данном разделе.
Отлично, совместимость проверили, пользователи видеокарт GTX 600 серии и новее смогут установить нормальный драйвер видеокарты NVIDIA вместо линуксоидного Nouveau, теперь перейдём к другой проблеме...
-
DXVK или опять поломали что работало...
Значит решил проверить тесты с драйвером 470 версии, с OpenGL всё нормально, а вот DXVK прослойка отказалась работать, требует поддержку Vulkan API 1.3 и выше, когда в наличии есть только 1.2:
![]() |
![]() |
![]() |
Да, новые версии DXVK по факту отказываются работать с видеокартами без поддержки Vulkan 1.3 и новее, а это огромная масса видеокарт GeForce 600-700 серий, а так же ещё большая масса видеокарт AMD, вплоть до RX серии, но об этом чуть позже.
Методом перебора удалось найти последнюю адекватную версию DXVK, это была 1.10.3 выпущенная в 2022 году:
![]() |
![]() |
![]() |
Адепты "дряхлого пингвина" вероятно начнут искать оправдания, мол, зачем использовать такое старьё, там же проблем много и всё такое, нужно обязательно самое новое всё использовать, а если не работает - обнови компьютер! Знакомо, не правда ли? Чуть что - пользователь обязан обновлять ПК...
Но каково было моё удивление, когда Superposition Benchmark со старым DXVK заработал без каких-либо проблем графической составляющей:

Просто напомню как работал этот бенчмарк с актуальными версиями DXVK:
Как Chimbalix ненароком отобрал звание игрового линукса у Nobara Linux

Можно опять искать оправдания, мол, это только у меня проблемы, и вообще всё якобы нормально под линуксом с Superposition Benchmark... Однако я помню какой-то линуксоид хвастался скриншотами этого бенчмарка (уже вряд ли найду где именно), и у него тоже были проблемы с освещением, хотя тогда не придал этому особого внимания.
Да и в интернете все линуксоиды как на подбор тестируют либо строго в OpenGL режиме, либо строго в Extreme профиле, то есть именно те режимы, в которых как раз нет проблем с графикой, совпадение? Не думаю, ибо мне не удалось найти демонстраций в проблемных режимах теста под линуксами, ну кроме того, что я сам тестировал и показывал в своих статьях.
![]() |
![]() |
Как позже выяснилось, с актуальной версией драйвера и старым DXVK проблема сохраняется, на первый взгляд это значит что не в DXVK была проблема кривого освещения, однако...
Я установил 560 версию драйвера на Windows 10, заранее подготовил DXVK старой версии, и принялся проверять бенчмарк сначала без всяких прослоек, и как бы я его не проверял - всё работало стабильно и без каких-либо проблем по графической части, что уже говорило об отсутствии проблем в драйвере видеокарты:
![]() |
![]() |
![]() |
Однако стоило мне добавить DXVK прослойку - освещение сразу же поломалось, как и в линуксе, а это значит, что проблема на самом деле именно в DXVK, а не драйвере видеокарты, именно DXVK неправильно ретранслирует API.
Возможно какие-то изменения в драйвере и вскрыли эту проблему, но это однозначно вина DXVK, иначе если бы проблема действительно была в драйвере, то она не проявилась бы в среде Windows даже при использовании этой линуксоидной прослойки, так что оправдания, мол, это потому что под Linux у NVIDIA якобы ужасные драйверы сразу можно отметать как несостоятельные:

Впрочем, если бы неправильное освещение через DXVK было главной проблемой... Давайте вернёмся к злополучным видеокартами AMD и поддержке Vulkan API.
Начиная с DXVK версии 2.0, разработчики нагло поломали поддержку огромной массы видеокарт своим требованием к API Vulkan 1.3 и выше, каковы были последствия? Да как всегда в линуксах...
Последствия оказались масштабными, ведь по факту отлетает масса видеокарт GeForce старее 900 серии, а так же все видеокарты AMD старее RX400 серии, ибо их поддержка выброшена начиная с официального драйвера AMDVLK 2021 года, доступен только Vulkan API 1.2, что не подходит для работы актуальных версий DXVK:

Ну а чтобы наверняка подтвердить свою репутацию производителя отвратительных драйверов - AMD в 2023 году вырезала поддержку и RX500/Vega видеокарт, дорезали "устаревшие" видеокарты так сказать, хотя они всё ещё пригодны для работы с DXVK, но кто знает, вдруг выпустят новую версию костылей, а там порежут поддержку Vulkan API версии 1.3, как это сделали с 1.2...

И это чертовски серьёзная проблема, ведь владельцы всяких GTX 780Ti просто не могут воспользоваться актуальными версиями DXVK, и как следствие поиграть в игры, в которые могли нормально играть даже на старой Windows 7, ну а владельцам видеокарт AMD просто сочувствую.
-
--
Заключение
Вот вроде адепты "пингвина" кричат о том, какие линуксы игровые в последнее время, что способны заменить Windows, но по факту линуксам ещё пердеть и пердеть даже до уровня древней Windows 7, у которой без всяких DXVK многое работает, в том числе через Vulkan API, а если бы не политика Microsoft по ограничению и блокировке данной ОС, то она до сих пор была бы способна запускать даже самые современные игры... На секундочку, Windows 7 это система выпущенная в 2009 году, что там от линуксов 2009 года осталось? Вопрос, конечно же, риторический.
В любом случае мне теперь нужно думать о создании костылей специально для пользователей видеокарт GTX 400-500 серий, это линуксоидские разработчики плевать хотели на всё и всех при разработке ПО... Я же не вижу причин отказываться от поддержки старых видеокарт, если конечно могу что-то сделать с этим, даже имея GTX 1070 до сих пор активно поддерживаемую самой NVIDIA.
Из важного нужно сделать костыли для встроенного Wine Proton в дистрибутиве Chimbalix, чтобы пользователь мог без танцев с бубном переключить версию DXVK, если вдруг видеокарта не поддерживает Vulkan 1.3, например GTX 600-700 серии, в идеале сделать так, чтобы пользователю вообще не приходилось ничего вручную переключать, но это уже как получится...
Из дополнительного реализовать костыли для отката ядра Linux до версии ~6.2, чтобы он был совместим с последними драйверами для GTX 400-500 серий, или вообще выпустить отдельную версию Chimbalix для старого оборудования, но это лишняя работа, лишняя масса проблем, когда и так полно линуксоидных проблем, которые нужно постоянно исправлять и дорабатывать напильником.
То ли дело "плохая и ужасная" Windows, под которой можно выбирать и свободно устанавливать как самые современные драйверы, так и драйверы чуть ли не эры динозавров:
![]() |
![]() |
Интересно, почему это линуксы не для игр? Даже не знаю... Хотя по сути, игра есть ничто иное как программа, то есть софт, приложение, и если линуксы оценивать в том контексте, что игра это просто программа, то получается что линукс вообще непригоден для использования, ибо большинство программ либо не работает вообще, либо работают некорректно в разной степени.
Кстати, мне было интересно, а как работает Superposition Benchmark с оригинальным Wine Proton в составе DRM платформы Steam, что недоступен без интернета, ибо платформа подразумевает привязку пользователя к сервисам?

Увы, есть проблема с освещением как и со встроенным в дистрибутив Chimbalix Wine Proton, плюс добавилось проблем с кнопками закрытия окна, какой-то квадрат перечёркнутый вместо крестика:

Очень жаль, адепты "прекрасного" Steam тоже остались без возможности как-то начать оправдывать вечно кривые линуксы и софт линуксоидный... Аргументы вроде "вот в Steam всё прекрасно работает" сразу отлетают как несостоятельные.
Ладно, пожалуй хватит экспериментов, пора заканчивать статью.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.

Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.





























Комментарии Правила