|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Rostislav Gaytkulov 2:5020/400 04 Mar 2003 01:56:50 To : All Subject : unoficial nVidia+Linux FAQ --------------------------------------------------------------------------------
Unoficial nVidia+Linux FAQ
версия от 02.03.2003
Автор: Rostislav Gaytkulov aka Nightfly
mail: neo@yes.net.ua nightfly@ukr.net
web: http://nightfly.asmodeus.com.ua
Автор не несет никакой ответственности за последствия использования
даного документа а также не дает никаких гарантий работоспособности
нижеуказаных ответов в каждом конкретном случае поскольку он не является
сертифицированым nVidia FAQ писателем, и ему с этого ничего нет кроме
морального удовлетворения.
Этот FAQ пока что находится на стадии развития и любые пожелания и
исправления приветствуются.
Любая часть этого FAQ можт быть скопирована или изменена с условием
сохранения и указания
первоисточника и первоавтора. (я не очень знаток лицензий но типа GPL
напоминает).
Q:А почему вот тут у меня игрушка tuxracer, chromium, etc.. и тачка
PIII/128/32 а она жутко тормозит
хотя ничего такоооого особенно крутого из себя не представляет?
A: Скорее всего у тебя карточка от nVidia, тоесть созданая на чипсете от
nVidia и носит название типа:
-VANTA
-TNT
-TNT2
-GeForce
-GeForce2
-GeForce3
-GeForce4
В норме эта карточка работает практически всеми современными дистрибутивами
но поскольку создатели даных
чипсетов используют специфическое представление об OpenGL то для шустрой
поддержки 3Д требуются драйвера
от nVidia.
Q: OpenGL? - никогда о таком не слышал ;) нафиг он мне?
A:OpenGL -- это графический API высокого уровня, в оригинале разработанный
SGI на
основе их предыдущего закрытого API Iris GL, и ставший несколько лет назад
индустриальным стандартом. Он определяется и утверждается организацией
Architectural Revision Board (ARB), которая включает в себя членов SGI, IBM,
DEC и Microsoft. OpenGL обеспечивает мощный, полный и обобщенный набор
возможностей для графических опреаций в 2D и 3D.
Существует 4 части OpenGL и его канонических расширений:
GL: Основные вызовы OpenGL
GLU: Дополнительные полезные вызовы
GLUI: Интерфейс с кнопками, checkbox'ами и т. п.
GLUT: Средства для системно-независимого управления событиями оконной
системы (фиксирование движений/щелчков мыши, нажатий на клавиши,
управление сигналом выхода из программы и т. п.). Также включает в
себя некоторые элементы UI, которые должны были войти в GLUI.
OpenGL -- это не только API, но и его реализация, написанная SGI. Она
пытается
использовать аппаратное ускорение для различных графических операций, там
где
это возможно; это зависит от видеокарты, которая установлена в вашем
компьютере. Если для некоторой задачи ускорение не доступно, OpenGL
осуществляет программный рендеринг. Это значит, что если вы берете OpenGL у
SGI и при этом хотитие получить хоть какое-нибудь аппаратное ускорение, то
это
должна быть реализация, которая написана и откомпилирована специально для
вашей видеокарты. Иначе, все что вы получите -- software rendering. То же
самое
верно и для OpenGL-клонов, таких как Mesa.
Q: А где их эти дрова взять?
A: Скорее всего на nvidia.com или nvidia.ru. можно также поискать на
пиратских CD но такие мне
пока не встречались :)
Q: Hу зашел я на этот сайтец а тут выложены несколько тон непонятных файлов
с циферками и буковками.
А какой из них этот самый NVIDIA Accelerated Linux Driver?
А: Hа самом деле этот NVIDIA Accelerated Linux Driver состоит из двух частей
- kernel-module и
glx-module - тоесть загружаемого модуля для ядра и некой реализации GLX от
нвидии.
Q: а кто такой GLXи нафиг он мне нужен?
A:GLX -- это расширение X, используемое OpenGL-программами, "клей" между не
зависящим от платформы OpenGL и привязанным к платформе X.
Q: Чудесно а какой нужен конкретно мне? Или их просто так столько на сайте
выложено?
А: Hе просто так а с ращетом на конкретный дистр и архитектуру. Hавожу
пример:
у меня: AMD Duron 800+GeForce2 MX400/32Mb + RedHat Linux 7.3 + XFree86 4.2.0
я выбрал для себя комплект:
NVIDIA_GLX-1.0-3123.i386.rpm
NVIDIA_kernel-1.0-3123.rh73up.athlon.rpm
Заметь модуль для ядра и кусок GLXа одной версии -3132
Судя по названию файла модуль ядра выбирался исходя из конкретных
вышеуказаных вещей -
архитектура - Athlon
версия - 1.0-3123 - последняя на то время.
rh73 - версия дистрибутива
Hу и в РПМ-ах потомучто проще ставить.
Q: а уменя фантазии не хватает выбрать для себя необходимую пару, что мне
делать?
А: ищем на сайте утилиту nvprobe и юзаем ее.
Q: ну качнул я их а дальше что?
А: Ставишь как ни странно :)
Q: Как?
А: А вот это уже другой вопрос :)
# rpm -ivh NVIDIA_kernel.i386.rpm
# rpm -ivh NVIDIA_GLX.i386.rpm
потом если все ставится без ошибок:
#vi /etc/X11/XF86Config-4
и ищем строчки типа:
Driver "nv"
(или Driver "vesa")
и заменяем их на
Driver "nvidia"
в секции Module дописываем если этого там нет:
Load "glx"
А также ищем и коментируем(если нашли) строки:
Load "dri"
Load "GLcore"
Q: А дальше?
А: Все! - alt-ctrl-backspace а потом пробуем запустить glxgears чтобы
порадоваться быстродействием :)
Q: А у меня ничего не получилось(или получилось но не то) - сплошные глюки
про которые ты ничего не сказал :(
А: пробуй експериментируй - я все знать и предусмотреть не смого так что
дерзай. И не забудь после удачного
заверения написать мне - думаю другиеу кого возникнут такие же проблемы
скажут тебе спасибо.
Еще несколько слов которые будут встречатся по ходу чтения док:
Q: Что такое Mesa?
А: Mesa -- это свободная реализация OpenGL API, которую придумал и написал
Brian
Paul. Hесмотря на отсутствие официального сертификата, это практически
полностью совместимая с оригиалом OpenGL-реализация, соответствующая
спецификациям ARB. Сообщается, что Mesa даже быстрее реализации OpenGL от
SGI.
Как и OpenGL, Mesa использует аппаратное ускорение, там где это возможно.
Это
означает, что существуют разные "версии" или "сборки" Mesa, в зависимости от
видеокарты, которая у вас установлена. Если у вас Voodoo I, II или III, то
предполагается использование "mesa+glide2" (автор David Bucciarelli),
которая
является реализацией OpenGL, использующей glide в качестве средства для
рендеринга определенных графических операций.
Q: Что такое DRI?
А: В рендеринге графики участвуют 3 елемента: приложение-клиент (такое как
Quake 3),
X-сервер и железо (видеокарта). Раньше клиентам строго запрещалась запись
непосредственно в аппаратную часть, и для этого была хорошая причина.
Программа, которой позволено напрямую обращаться к железу, различными
путями может привести систему к зависанию. Вместо того, чтобы довериться
программистам, Linux просто запрещает это делать. Однако, это изменилось с
появлением X 4.0 и Direct Rendering Infrastructure (DRI). DRI свободно
разрешает X-клиентам коллективную запись информации 3D рендеринга
непосредственно в видеокарту безопасным путем.
DRI "убирает с дороги" X-сервер, и 3D драйвер (Mesa или OpenGL) может
использовать железо напрямую. Это делает процесс быстрее. Информация 3D
рендеринга может быть либо ускорена железом, либо нет.
---- Glide или другая -----
3D драйвер | библиотека |
приложение ----> Mesa или OpenGL --+ +----|
| | | |
| -- Программный рендеринг -- |
| |
рендеринг |
напрямую (без DRI) |
| -- X-сервер--- |
V | | |
видеокарта <--------------------------+ +-------------
| | |
| --- с DRI ----
V
монитор
С технической точки зрения, это имеет несколько достоинств.
* Hе надо кодировать/декодировать вершины через GLX.
* Hе надо пересылать графику X-серверу через сокет.
* Hа машинах с одним процессором, ЦПУ не приходится менять контекст между X
и
клиентом при рендеринге графики.
Special thanx:
Mentat - заценка
Ejyk - вопросы
d00dm4n - вопросы
Alexandr Stepanov - исправления
последнюю версию фака вы всегда можете найти на
http://nightfly.asmodeus.com.ua
--
best regards Nightfly
_ ___ [ http://nightfly.asmodeus.com.ua ]
\.\'.\ [nightfly@ukr.net]
\'\.'\ [ 157839405 ]
__\.\:/_//
-{{{{{(__(")
`~~~~ >>>^
--- ifmail v.2.15dev5
* Origin: .:M:D:G:. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/65774411b95f.html, оценка из 5, голосов 10
|