Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Тестирование и рекомендации по установке Quake2 и Quake3 на TNT и Banshee.

OpenGL в Linux

Тестирование и рекомендации по установки Quake2 и Quake3 на TNT и Banshee

Алексей Сорокин

Для начала, если кого-либо интересуют общие сведения поддержки 3D-графики в Linux (и в Unix системах вообще), то могу посоветовать начать вот с этой страницы. Кроме того, ID Software (персонально Dave 'Zoid' Kirsch, Official Quake Unix Port Administrator еще со времен Quake I) в каждом релизе предупреждает, что официально поддерживаются только Voodoo Graphics и Voodoo2. Это стоит учесть при интерпретации приводимых далее результатов.

Условия тестирования

Cравнивались 2 видеоплаты: Asus V3400 (Riva TNT) и Asus V3200 (Banshee). Обе карты имеют по 16 Мб локальной памяти, на обоих установлен кулер. Карта v3400 имеет tv in/out, но поддержка этих возможностей в Linux пока отсутствует. Никакого разгона ни карт, ни тестовой системы в целом не производилось. Целью сравнения было получение общего представления о gameplay под Linux.

Hardware: PII-350, 128 Mb PC100 SDRAM, m/b Tyan Tsunami ATX (BX chipset), sound - Crystal CS4235.

Software:

RedHat6.0 based system, kernel 2.2.10, XFree86 3.3.3.1, KDE 1.1.1 Quake1 for X11 v1.0, Quake2 v3.20, Quake3Arena Test v1.07 Для TNT: SVGA X server for NVidia Riva TNT, NVidia Mesa/GLX module v1.0 Для Banshee: SVGA X server & Glide by Daryll Strauss, Mesa3D v3.1-beta2

Настройки Quake2:

8bit textures: yes texture quality: max sound quality: low video mode: 640x480 Vsync: off

Настройки Q3test:

Sound quality: low OpenGL Extensions: On video mode: 640x480 color depth: 16 bit lighting: vertex geometric detail: low texture detail: 1е положение бегунка texture quality: 16 bit texture filter: bilinear identity target: yes все остальные: no Vsync: off

Рекомендации по установке TNT

FAQ по TNT Бинарники и исходники Х-сервера и Mesa/GLX модуля

Бинарники спокойно встают на систему, хотя я бы все же рекомендовал самостоятельно скопировать файлы в нужные места, не пользуясь прикладываемым shell-овским скриптом инсталляции. Карта на TNT под Linux способна работать с использованием Frame Buffer device, но только с драйвером vesafb. Это значит, что пересобрав ядро вы сможете получить консоль 800x600x32 на 60Hz, но не сможете увеличить частоту (если вы никогда не пересобирали ядро самостоятельно, то лучше пройдите сей процесс под руководством ближайшего гуру, ибо имеется большое число тонкостей). svgalib практически не поддерживает TNT. Теоретически конечно есть в конфиге строчка 'chipset VESA', но мне не удалось получить ни одного приемлемого работоспособного режима.

Рекомендации по установке Banshee

Бинарники Х-сервера и исходники Glide. Внимательно прочитайте все, что там написано. Точное следование инструкциям должно привести к положительным результатам. Дополнительно советую взять и собрать последнюю версию Mesa.

У меня карта на Banshee согласилась работать только с последней бета-версией 3.1-beta2. Процесс компилляции и установки библиотеки достаточно подробно описан в прилагаемой документации. В принципе какая-нибудь версия Mesa уже может быть проинсталлирована в вашей системе, но я советую воспользоваться именно последней. Сказанное о Frame Buffer и svgalib для TNT относится и к Banshee с одним добавлением: глючит Banshee больше. Так, у меня карта не восстанавливала fb-консоль после выхода (или переключения) из Х-сервера.

Рекомендации по установке игр

Все, что надо для работы разных quake под Linux. Естесственно, нужны *.pak от Win32-версии. Я просто делал симлинки на fat32 партицию, все работало. Для Quake2 необходимо 2 патча: 3.13 и 3.20. Сначала устанавливается 3.13, а потом - 3.20.

Чтобы запустить Quake2, для меня идеальным оказался следующий вариант:

export MESA_GLX_FX=fullscreen
./quake2 +set vid_ref glx +set _windowed_mouse 1

Без первой строки Quake2 запустится в окне, параметры второй строки необходимы для того, чтобы Q2 запустился в OpenGL и нормально использовал мышь. Также можно посоветовать попробовать посмотреть файл конфига quake2 на предмет 'gl_driver'. Для ТНТ эта переменная должна быть libGL.so. для Banshee - libMesaGL.so.

чтобы запустить Quake3 на Banshee, помогло только следующее:

./linuxquake3 +set r_glDriver libMesaVoodooGL.so.3.1 +set r_mode 6 +set
in_dgamouse 0

Без этих параметров Banshee не будет нормально выводить изображение в Quake3.

С запуском Quake3 на TNT все проще:

./linuxquake3 +set r_glDriver libGL.so

Если не работает

Х-сервер должен заработать сразу, какие-то проблемы возможны именно с Quake-ами. Для Banshee в пакете Glide есть утилиты проверки, если они не работают - значит вы сделали что-то не так на этапе инсталляции Glide, проконсультируйтесь с документацией еще раз. Попробуйте поэкспериментировать с export LD_LIBRARY_PATH, т.е. указать системе путь к библиотеке Mesa в явном виде. Если ничего не помогло, ищите на www.deja.com ->search. Этот сервер осуществляет поиск по архивам news-групп. Мне в конце концов помогло только это :-)

Результаты тестирования

  Linux Windows 98
  TNT Banshee TNT Banshee
Quake1, software, timedemo demo1 20,4 23,4    
Quake2, demo1.dm2 21,7 37,4 67,3 65,8
Quake2, crusher.dm2 12,2 21,1 32,1 27,3
Quake2, massive1.dm2 16,9 30,9 54,2 52,7
Quake3Arena Test, q3testdemo1.dm3 23,8 47,4 54,2 53,5

Для тестов было выбрано достаточно низкое разрешение 640х480, поскольку поддержка 3D в Linux еще не достигла уровня Windows 98. Обескураживающе низкие результаты Riva TNT связаны на мой взгляд с двумя вещами. Во-первых, поддержка OpenGL для TNT появилась чуть более месяца назад, в отличие от проекта Mesa3D, который успешно развивается с 1995 г. Во-вторых, Mesa/GLX модуль под Линуксом на данный момент (v1.0) не поддерживает никаких OpenGL-extensions. И соответствующий пункт в настройках Q3test не оказывает никакого влияния на работу TNT карты. Если же его отключить, то показатели Banshee упадут от 47,4 до 42,9 fps (на вышеуказанных настройках). Впрочем, это все равно не может служить оправданием для программистов NVidia.

Также необходимо дать некоторое пояснение по поводу теста Quake1. Демка прокручивалась естесственно в software-режиме, в окне 640х480, и следовательно может являться в первом приближении бенчмарком скорости в 2D-графике (скорости Х-сервера). Тут NVidia тоже проигрывает, хотя и не так катастрофически, как в OpenGL.

Впрочем, у Banshee все тоже не безоблачно. Так, в Q3test напрочь отказался корректно работать режим 800х600. Что касается качества изображения, то здесь картина аналогична наблюдаемой в Windows: "сеточка" у Banshee и весьма высокое (по моему впечатлению) качество TNT. Некоторые глюки с большими текстурами у TNT исчезают при установке бегунка texture detail в третье положение. Для характеристики работы Banshee может оказаться интересно, что при включении marks on wall, неба и geometric detail : high скорость падала до 32,5 fps.

Замечание по данным для Windows 98: использовались reference-драйвера от NVidia (2.08) и 3dfx (4.11.01.1444) соответственно. Последний драйвер от Asus для v3400 TNT (2.08 beta 3) в принципе чуть быстрее, но для Banshee попросту давно не было обновления, поэтому я остановился на reference-драйверах.

Выводы

До недавнего времени сравнивать 3dfx под Linux было вообще не с чем. И то, что сделала NVidia, является очень большим шагом вперед. А если учесть, что дальнейшее развитие поддержки TNT продолжит если не сама NVidia, то независимые программисты (NVidia сделала доступными исходные тексты этих драйверовна своем ftp, а также массу документации по своим чипам, то можно надеяться, что Banshee скоро придется потесниться. Но сейчас Banshee обгоняет TNT в OpenGL играх под Linux на 80-100%.

Благодарности

Reactor Critical благодарит компанию Доминион (Н.Новгород, 8312 33-15-20) за предоставленные для тестирования платы.

1 августа 1999

Статья взята с сайта Reactor Critical (http://www.reactor.ru)



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте