Введение
Похоже, Linux никогда раньше не испытывала такого прорыва в области игр и графики. Сегодня для платформы Linux можно найти сотни игр, а также сотни (если не тысячи) игр можно запустить через оболочки вроде TransGaming Technologies Cedega. Но что лучше всего, во все эти игры можно играть с учётом современных high-end технологий, включающих Serial ATA, PCI Express и даже современные GPU ATi Radeon X1900 или nVidia 7.
ATi и nVidia успешно выпустили рабочие драйверы для широкого ассортимента своей продукции, от недорогих карт до моделей для энтузиастов и хардкорных геймеров. В нашей статье мы сравним разницу в производительности Radeon X1900 XTX и GeForce 7800 GTX для того, чтобы наши читатели смогли получить представление о производительности драйверов под Linux и Windows. Исследование обеих карт проводилось с драйверами производителя под одинаковым дистрибутивом Linux. Для измерения производительности мы взяли тест Unreal Tournament 2004.
Возможности графических драйверов ATi и nVidia под Linux
Эволюция Linux в качестве игровой платформы проходила через свои препоны и трудности. В целом, с поддержкой драйверов для Linux не угадаешь. Некоторые устройства существуют месяцы, если не годы, без должной поддержки производителя для Linux. С графическими картами ситуация ещё более интересная, поскольку если некоторые функции и присутствуют аппаратно, в драйвере они могут не поддерживаться. И даже если функция реализована программно, она может работать время от времени или не работать вообще.
ATi Radeon под Linux
По какой-то причине ATi весьма неоднозначно поддерживает драйверы для Linux. Скажем, вышедшая в октябре 2005 года новая линейка Radeon X1800 не работала с Linux в течение нескольких месяцев. И лишь после выпуска, примерно через полгода, драйвера ATi Catalyst 8.24.8 линейки карт X1000 Radeon и Mobility (включая нового флагмана X1900) стали доступны пользователям Linux. Как обычно, новые драйверы часто несут в себе программные ошибки, отличаются отсутствием тех или иных функций. Версия 8.24.8 оставляла желать лучшего, так как в ней отсутствовала поддержка ТВ-выхода, а при переходе между режимами консоли и X-сервера возникали проблемы со стабильностью. Проблемы часто случались и при переходе из режима ожидания.
Поддержка драйверов ATi для Linux началась с FireGL-драйверов fglrx, а также с формирования команды разработчиков таких драйверов в 2004 году. Сегодня ATi продолжает выпускать FireGL-драйверы, содержащие компоненты как с открытым, так и с закрытым исходным кодом. Кроме того, благодаря усилиям сообщества Linux по реинженерингу, драйверы ATi были напрямую интегрированы в библиотеки X.Org и Mesa, которые улучшают гибкость для организаций и отдельных пользователей. Для тех пользователей Linux, кто предпочитает поддержку драйверов с открытым исходным кодом, ATi предлагает проект Direct Rendering Infrastructure (DRI) Open Source Project, предназначенный для скоростных реализаций OpenGL, либо проект Utah-GLX Project, построенный на основе протоколов OpenGL и GLX.
Существенным недостатком драйверов ATi для Linux можно считать отсутствие глубоких опций настройки, по сравнению с тем же Catalyst Control Center для Windows. ATi предлагает панель Control Center под Linux, но в ней присутствует весьма ограниченный набор возможностей и функций. Они настолько ограничены, что вся настройка уместилась в трёх следующих иллюстрациях.
ATi Control Center: текущая аппаратная конфигурация.
ATi Control Center позволяет включать вывод на два монитора.
ATi Control Center обеспечивает только регулировку гаммы.
“Родная” утилита настройки ATi обладает намного большим числом опций и возможностей. Её, без сомнения, нельзя описать тремя скриншотами.
Radeon Crossfire под Linux
Увы, но Crossfire под Linux не поддерживается. Таким образом, все функции, относящиеся к Crossfire, как-то: Crossfire Alternate Frame Rate (AFR) и Super Anti-Aliasing (Super AA), также не будут работать с Linux. Впрочем, карты ATi прекрасно работают сами по себе, и одиночное решение вполне подойдёт для большинства пользователей, которые не планируют группировать GPU парами.
Преимущества драйверов ATi
Текущие драйверы ATi для Linux работают на ядре версий 2.4 и 2.6, поддерживают 24-битный цвет с аппаратным ускорением 3D-рендеринга и воспроизведение видео с интерфейсами AGP и PCI Express (линейки Radeon и FireGL). В последней версии драйверов появилась поддержка графических процессоров ATi Mobility, вместе с поддержкой ТВ-выхода на некоторых чипах Radeon с улучшенными функциями обработки видео. Для смелых пользователей Linux, перешедших на 64-битные платформы, есть драйверы для систем Intel EM64T и AMD64.
Новая графическая утилита установки ATi чуть улучшилась по сравнению с предыдущими версиями. В ней присутствует возможность создать драйвер специально под дистрибутив, чтобы он заработал с утилитами управления установочными пакетами. Установку можно производить и в текстовом режиме, если возникнут какие-либо проблемы графической совместимости. Сегодня ATi совместно работает с компаниями, отвечающими за сборку дистрибутивов, чтобы в комплект поставки входил и драйвер ATi.
Отметим, что драйверы ATi больше не вызывают проблем со стабильностью при переходе между консольным режимом и режимом X Server. Впрочем, всё же встречаются ситуации, когда консоль появляется очень долго или не появляется вообще. Выход из режима сна по-прежнему может вызывать проблемы, а у линейки X1000 отсутствует поддержка ТВ-выхода. Во всём остальном стабильность и производительность в игре Unreal Tournament 2004 Demo оказались на высоте. В последних драйверах появилась поддержка различных режимов вывода на два монитора, включая зеркальный режим, который раньше отсутствовал.
Для разгона линейки X1000 без шаманства не обойтись. Мы обнаружили единственную утилиту для разгона карт ATi под платформой Linux – rovclock, причём она не обновлялась после выхода линейки X1000. Единственным очевидным вариантом для доводки доступных параметров можно считать “родную” утилиту ATi aticonfig.
nVidia GeForce под Linux
nVidia подошла к поддержке драйверов под Linux более внимательно и продуманно, особенно по доступным функциям и стабильности. Поддержка драйверов nVidia по-прежнему находится на первом месте: важным преимуществом nVidia для пользователей настольных ПК можно назвать богатую функциональность графических утилит настройки под X Server. Скачивание драйверов nVidia редко предусматривает что-то большее, чем просмотр опций вашего дистрибутива Linux и запуска утилит для пакетной сборки и установки всех требуемых файлов.
Да и разгон карт nVidia под Linux не такой мудрёный. Для разгона видеокарт линеек GeForce 6 и 7 можно использовать утилиту NVClock, которая обеспечивает приятный и понятный интерфейс для тонкой настройки. Некоторые функции унаследованы от свойств дисплея системы, но всё равно включают ряд доработок. Например, движки частот памяти и GPU, которые видны на следующих скриншотах. Впрочем, NVClock недавно была предана забвению.
NVClock: утилита разгона GeForce под Linux.
Параметры частоты GPU и памяти в NVClock.
NVClock выводит следующее предупреждение, если вы будете использовать несовместимые драйверы и Xorg.
NVClock предупреждает о проблемах совместимости.
GeForce SLI под Linux
С выпуском драйверов GeForce 1.0-8174 nVidia первой решила проблему работы сдвоенных видеокарт под Linux. Хотя первая реализация патентованной технологии nVidia Scalable Link Interface (SLI) стала определённым успехом для фанатов nVidia и геймеров Linux, она всё же не дотягивает до функций и производительности, доступных под Windows ForceWare. В целом, для геймеров Linux дебют SLI оказался не слишком удачным. Впрочем, по крайней мере, поддержка драйверов есть, хотя и полной её назвать можно.
Тестовые компоненты и конфигурация
Мы использовали две конфигурации, обе на системе AMD, но с чипсетом, специально разработанным для карт GeForce и Radeon. Процессор, память и накопители оставались одними и теми же, в то время как видеокарты, чипсеты и материнские платы менялись. В первой таблице приведены компоненты для системы ATi на чипсете Crossfire Xpress 3200.
Аппаратные компоненты ATi | |
Процессор | AMD Athlon 64 |
Память | 2 Гбайт Corsair XMS |
Материнская плата | ASUS A8R32-MVP Deluxe |
Жёсткий диск | Western Digital 120 GB SATA |
Оптический накопитель | Plextor 712-SA |
Блок питания | Antec TruePower 400 Вт |
Видеокарта | Asus EAX1900 XTX |
В следующей таблице приведены комплектующие для системы nVidia на чипсете nForce4.
Аппаратные компоненты nVidia | |
Процессор | AMD Athlon 64 |
Память | 2 Гбайт Corsair XMS |
Материнская плата | EVGA 133-K8-NF41 |
Жёсткий диск | Western Digital 120 Гбайт SATA |
Оптический накопитель | Plextor 712-SA |
Блок питания | Antec TruePower 400 Вт |
Видеокарта | Asus N7800 GTX |
В следующей таблице приведена конфигурация программного обеспечения.
Программные компоненты | |
Платформа Linux | Fedora Core 5 |
Версия ядра | Linux 2.6.16-1.2133_FC5 |
Компилятор | 4.1.1 (Red Hat 4.1.1-1) |
Драйверы видеокарты | ATi: 8.25.18, nVidia: 8762 |
Версия X Server | Xorg 7.0.0 |
Мы выбрали Fedora Core 5 за лёгкость использования, быструю установку и продуманную систему инсталляции пакетов.
Сборка и установка
Установка драйверов nVidia оказалась простой и прямолинейной. Обычно драйверы входят в комплект дистрибутива. Например, Fedora Core 5 предлагает драйверы GeForce версий 8756 и 8762, поэтому установка подразумевает запуск Yellow Dog Updater, Modified (YUM) или YUM Extender (YUMEX). nVidia в этом отношении находится впереди, поскольку ATi не может похвастаться тем же самым. Впрочем, процесс установки драйверов ATi тоже ничуть не сложнее: графическая программа установки не только инсталлирует драйверы, но и создаст локализованный пакет для вашего менеджера пакетов (за исключением Fedora Core).
Минималистский ATi Control Center устанавливается в двух пунктах рабочего стола Fedora, что видно по следующим скриншотам.
ATi Control Center location в System Preferences.
ATi Control Center в System Administration.
Панель настроек nVidia X Server Settings доступна через меню Applications, System Tools.
Через меню можно вызвать nVidia X Server Settings.
Проблемы с тестами и решения
Во время создания этой статьи мы обратили внимание на две особенности. Во-первых, существует очень мало кросс-платформенных тестов, которые смогли бы дать сравнительные результаты производительности указанных конфигураций. Наиболее интересное приложение SPECViewPerf 9.0 пока ещё не вышло для платформы Linux. Хотя предыдущие версии поддерживают старые инсталляции и аппаратные конфигурации. Они могли бы дать долгожданные результаты кросс-платформенной производительности, нужные для сравнения Windows и Linux. Но, увы, SPECViewPerf в версии 8.1 проработала несколько часов без какой-либо перспективы завершения, так что об этом тесте пришлось забыть. GPUsort – ещё один кросс-платформенный тест, который пришлось сразу же убрать из-за отсутствия поддержки объектов кадрового буфера и ARB_texture_rectangle в драйверах ATi.
Осталось последнее решение: утилита Unreal Mark (UMark), которая позволяет проанализировать графическую производительность под обеими платформами. UMark требует внесения некоторых модификаций в makefiles и исходный код, чтобы правильно работать с UT2004 Demo, но затем UMark всё же работает. На следующих скриншотах приведены результаты производительности, которые мы получили с помощью UMark и UT2004 Demo.
Мы брали два разрешения: 1024×768 и 1280×1024. На следующей иллюстрации показана конфигурация UMark.
Настройки теста Unreal Tournament.
Оцениваем производительность
Используя UMark Linux-200v-Beta-3 (модифицирован вручную) против Unreal Tournament 2004 Demo, мы смогли запустить только пять тестов: AS-Convoy, BR-Colossus, CTF-BridgeOfFate, DM-Rankin и ONS-Torlan. Причём каждый с 12 ботами по умолчанию. Доступны две опции High Performance и High Image Quality, но пока мы их оставили в покое.
Что интересно, видеокарта Radeon X1900 XTX показывает незначительные улучшения на картах AS-Convoy и ONS-Torlan с FSAA в режиме 2 против выключенного сглаживания, что заметно по первым двум скриншотам. В то же время, максимальная частота кадров весьма странно увеличивается при повышении FSAA до режима 4.
Тесты Radeon без FSAA.
Режим 2x FSAA: некоторые результаты оказались выше, чем вообще без FSAA.
Тесты Radeon с включённым FSAA 4x.
Как и в случае Radeon, nVidia GeForce 7800 GTX показала улучшение результатов со сглаживанием и анизотропной фильтрацией 2x, хотя общий результат на уровне 4x почти идентичен. На следующих трёх скриншотах приведены результаты тестов 7800 со сглаживанием и анизотропной фильтрацией, увеличивающихся на степень двойки. Переход с 4x на 8x демонстрирует падение максимальной частоты кадров на 20, с небольшим влиянием на финальный результат (за исключением тестов AS-Convoy и ONS-Torlan).
Тесты 7800 оказываются весьма неплохи с полноэкранным сглаживанием и анизотропной фильтрацией 2x.
7800 демонстрирует минимальную разницу, когда сглаживание и анизотропная фильтрация устанавливаются на 4x.
При переходе на 8x производительность ощутимо падает.
Если взглянуть на результаты, производительность GTX и XTX под соответствующими драйверами Linux оказывается более-менее ожидаемой, как со сглаживанием, так и без него. Также следует отметить, что если производительность XTX никогда не падает меньше 25 fps в любом тесте, то GTX снижает скорость до 14 fps в тесте ONS-Torlan. В целом же, средняя частота кадров GTX оказывается выше XTX практически в любой категории, со всеми разрешениями и настройками. Обе карты дают впечатляющее визуальное качество, с чёткими деталями при любом разрешении. В целом же, однозначного победителя мы выявить не смогли. Но зато наглядно продемонстрировали, что играть можно не только под Windows.
Графические утилиты Linux
Можно найти немало утилит, позволяющих регулировать параметры карт ATi и nVidia под Linux. В следующих двух таблицах приведена информация об утилитах для карт обоих производителей. Но следует помнить, что утилиты rovclock и nvclock больше не поддерживаются, так что всё в ваших руках.
Графические утилиты ATi | |
aticonfig | Текстовая конфигурационная панель |
Rovclock | Регулировка частоты карт Radeon |
Графические утилиты nVidia | |
nvidia-settings | Графическая конфигурационная панель и центр управления |
nvidia-xconfig | Текстовая утилита настройки для модификации значений X11 |
NVClock | Разгон видеокарт nVidia под Linux |
Заключение
Итог таков: топовые видеокарты от ATi и nVidia работают (и работают весьма хорошо) под Linux. Если nVidia сегодня может дать более богатую функциональную поддержку Linux, чем ATi, то у последней есть заметные продвижения. Кроме простой поддержки видеокарт линейки X1000 и прочих под Linux, ATi ведёт переговоры с ведущими сборщиками дистрибутивов Linux о добавлении драйверов в массовые продукты. В то же время, сообщество геймеров Linux получает немалые бонусы от продолжающейся поддержки и доработки драйверов от обеих сторон. Всего лишь несколько месяцев назад о подобных возможностях никто и не думал.
При настройках по умолчанию визуальное качество и богатство цветов ATi превосходит nVidia. Но nVidia предлагает большое количество опций для регулировки библиотек OpenGL, да и немало опций для улучшения визуального качества через полноэкранное сглаживание и анизотропную фильтрацию. В любом случае, обе карты показали великолепную отзывчивость в обычных играх и в тесте UMark. Кстати, сравнение розничных цен показывает, что GeForce 7800 GTX стоит примерно на $100 меньше, чем Radeon X1900 XTX.
В целом, для сообщества геймеров под Linux суть понятна: ваши молитвы были услышаны.