В ответ на пост http://pikabu.ru/story/_3662580
Какие проблемы есть с играми в Linux, почему одни работают хорошо, другие не очень, о драйверах и проч. Может, кого-то пост сподвигнет не ставить Linux (и слава моему коту — повелителю вселенной, на самом деле).
Во-первых, видеодрайверы. Что нас должно интересовать — это поддержка API и производительность. В роли API у нас выступает OpenGL, в прошлом весьма успешно кокнкурировавший с DirectX до тех пор, пока NVIDIA не зажопились, и не решили подмять этот рынок под себя, почти уничтожив его. Но эта тема для отдельной истории.
Сейчас сложилось так, что у NVIDIA куча проприетарных расширений и свое мнение о том, что должен делать OpenGL, часто идущее вразрез со стандартом. У AMD и Intel реализация ближе к стандарту, без всяких выкрутасов. Но выходит так, что многим разработчикам просто проще писать код под NVIDIA, что в итоге хреново работает на других видеодрайверах. Сейчас есть надежда на то, что в выходом Vulcan API получим мягкий ребут всего этого скопившегося говна, если зеленая корпорация опять не полезет в дурь.
Затем выплывает качество самих видеодров. Скажу проще. Если у вас NVIDIA — поставьте блоб с сайта и наслаждайтесь образцовой работой. Если AMD или Intel — пользуйтесь свободным, желательно накатить самый свежий. Он умеет OpenGL 4.1 для карт выше 7xxx (эквивалент DX11), также реализован нативный DirectX 9.
По поводу портов игр. Самая главная сложность, как вы могли заметить, заключается в том, что игры как правило пишут с использованием DirectX, а надо, чтобы они рисовали через OpenGL, и желательно, на всех картах и драйверах.
Порты делятся на два вида — нативные и не нативные. Нативные — когда движок либо изначально поддерживал OpenGL, либо его дополнили такой функциональностью. Как правило, они работают хорошо, но бывает, что и не в коня корм. Пример таких хороших портов — это игры серии Metro или Civilization, которые показывают производительность и стабильность, сравнимую с Windows.
Не нативные порты — это, как можно догадаться, игры, изначально не поддерживающие OpenGL, которые разработчики портируют «малой кровью». Для таких игр используются врапперы и специальные библиотеки, по принципу работы напоминающие Wine. Обычно они показывают весьма скудную производительность, любят вылетать, однако, разработчики eON — одного из популярнейших врапперов — весьма продвинулись на своем поприще, и в это, по крайней мере, сейчас можно играть. Бывает и так, что с помощью какой-то черной магии такие порты работают быстрее оригинала на Windows. Пример тому — игры на движке Source.
Также еще стоит отметить, что с картами Radeon можно играть в DX9 игры через Wine без трансляции в OpenGL, в свободном драйвере есть такая возможность, что дает неплохую производительность. На эту тему можно погуглить дистрибутив «Gears Of Galium».
На сегодня это конец моей заметки. И еще, перед тем, как мазать все вокруг черной краской, вспомните порт нового бэтмена. Качество игр, увы, в большей части зависит от разработчиков, которые не очень воодушевлены инициативами Valve. Так что имеем, что имеем. Just for fun.