Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:

Выгодно - планшет apple ipad mini.






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

Драйверы. nForce для Linux ; Руководство по установке набора драйверов NVIDIA для Linux



Набор драйверов NVIDIA для Linux обеспечивает ускоренную 2D функциональность и высокую производительность OpenGL для Linux x86 с использованием графических процессоров NVIDIA. Данные драйверы гарантируют оптимизированное аппаратное ускорение OpenGL приложений через X сервер с поддержкой ускоренного рендеринга и поддерживают почти все графические чипы NVIDIA (полный список поддерживаемых чипов находится в ПРИЛОЖЕНИИ A). TwinView, ТВ выход и плоскопанельные мониторы также поддерживаются. В этом README файле описывается установка, конфигурирование и использование набора драйверов NVIDIA для Linux. Файл выложен на сайте NVIDIA (www.nvidia.com) в папке /usr/share/doc/NVIDIA_GLX-1.0/
Последнее обновление: 2004/10/27
Последняя версия драйвера: 1.0-6629

www.nvidia.ru/drivers/nforce/linux_IA32/readme.shtml

Набор драйверов NVIDIA для Linux обеспечивает ускоренную 2D функциональность и высокую производительность OpenGL для Linux x86 с использованием графических процессоров NVIDIA.

Данные драйверы гарантируют оптимизированное аппаратное ускорение OpenGL приложений через X сервер с поддержкой ускоренного рендеринга и поддерживают почти все графические чипы NVIDIA (полный список поддерживаемых чипов находится в ПРИЛОЖЕНИИ A). TwinView, ТВ выход и плоскопанельные мониторы также поддерживаются.

В этом README файле описывается установка, конфигурирование и использование набора драйверов NVIDIA для Linux. Файл выложен на сайте NVIDIA (www.nvidia.com) в папке /usr/share/doc/NVIDIA_GLX-1.0/.


________________________________________________________________________

СОДЕРЖАНИЕ:

ВЫБОР ОПТИМАЛЬНЫХ ДЛЯ ВАШЕЙ СИСТЕМЫ ПАКЕТОВ NVIDIA
УСТАНОВКА ДРАЙВЕРА NVIDIA
РЕДАКТИРОВАНИЕ ФАЙЛА X CONFIG
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
КОНТАКТЫ
ПОЛЕЗНЫЕ ССЫЛКИ
ПРИЛОЖЕНИЕ A: ПОДДЕРЖИВАЕМЫЕ ГРАФИЧЕСКИЕ ЧИПЫ NVIDIA
ПРИЛОЖЕНИЕ B: МИНИМАЛЬНЫЕ ПРОГРАММНЫЕ ТРЕБОВАНИЯ
ПРИЛОЖЕНИЕ C: УСТАНОВЛЕННЫЕ КОМПОНЕНТЫ
ПРИЛОЖЕНИЕ D: ОПЦИИ X CONFIG
ПРИЛОЖЕНИЕ E: УСТАНОВКИ ПЕРЕМЕННОЙ ОКРУЖЕНИЯ OPENGL
ПРИЛОЖЕНИЕ F: КОНФИГУРИРОВАНИЕ AGP
ПРИЛОЖЕНИЕ G: ПРОБЛЕМЫ С СИСТЕМАМИ ALI
ПРИЛОЖЕНИЕ H: ПРОБЛЕМЫ TNT
ПРИЛОЖЕНИЕ I: КОНФИГУРИРОВАНИЕ TWINVIEW
ПРИЛОЖЕНИЕ J: КОНФИГУРИРОВАНИЕ ТВ-ВЫХОДА
ПРИЛОЖЕНИЕ K: КОНФИГУРИРОВАНИЕ НОУТБУКА
ПРИЛОЖЕНИЕ L: РЕЖИМЫ ПРОГРАММИРОВАНИЯ
ПРИЛОЖЕНИЕ M: ПЕРЕКЛЮЧЕНИЕ БУФЕРОВ И УНИФИЦИРОВАННЫЙ ВТОРИЧНЫЙ БУФЕР
ПРИЛОЖЕНИЕ N: НЕРАЗРЕШЕННЫЕ ПРОБЛЕМЫ
ПРИЛОЖЕНИЕ O: ИНТЕРФЕЙС PROC
ПРИЛОЖЕНИЕ P: ПОДДЕРЖКА XVMC
ПРИЛОЖЕНИЕ Q: ПОДДЕРЖКА GLX
ПРИЛОЖЕНИЕ R: КОНФИГУРИРОВАНИЕ НЕСКОЛЬКИХ ЭКРАНОВ X НА ОДНОЙ КАРТЕ
ПРИЛОЖЕНИЕ S: ПОДДЕРЖКА УПРАВЛЕНИЯ ПИТАНИЕМ
ПРИЛОЖЕНИЕ T: ОБОЗНАЧЕНИЯ УСТРОЙСТВ ОТОБРАЖЕНИЙ
ПРИЛОЖЕНИЕ U: РАСШИРЕНИЕ COMPOSITE X
ПРИЛОЖЕНИЕ V: NVIDIA-SETTINGS



Чтобы не перегружать инструкции, большинство предостережений и наиболее часто возникающие проблемы вынесены в раздел ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ. Поэтому рекомендуется прочитать данный README файл полностью перед выполнением нижеследующих шагов.

________________________________________________________________________

ВЫБОР ОПТИМАЛЬНЫХ ДЛЯ ВАШЕЙ СИСТЕМЫ ПАКЕТОВ NVIDIA
________________________________________________________________________

NVIDIA обладает архитектурой унифицированного драйвера, а значит один набор драйверов можно использовать для всех поддерживаемых графических чипов NVIDIA. Список поддерживаемых текущими драйверами графических чипов NVIDIA находится в Приложении А.

Драйверы 1.0-4349 представляют новых механизм распаковки и установки, который значительно упрощает процесс установки. Вам нужно загрузить только один файл: NVIDIA-Linux-x86-1.0-6629-pkg1.run, который содержит все, что раньше находилось в старых пакетах NVIDIA_kernel и NVIDIA_GLX.

Драйверы 1.0-6629 вводят индекс пакета ("-pkg#") для файла .run. Он служит отличительным признаком между пакетами с одним и тем же драйвером, но с разными предварительно скомпилированными интерфейсами ядра. Если вы не знаете, что загружать, просто загрузите файл .run с более высоким номером pkg.

________________________________________________________________________

УСТАНОВКА ДРАЙВЕРА NVIDIA
________________________________________________________________________

ПЕРЕД НАЧАЛОМ ПРОЦЕССА УСТАНОВКИ ДРАЙВЕРА

Перед началом установки драйвера необходимо выйти из X сервера. Также вам нужно установить уровень запуска по умолчанию, чтобы загрузить vga консоль а не X сервер (смотрите документацию дистрибутива Linux, если вы не знаете, как это сделать; обычно вносятся изменения в файл /etc/inittab). В этом случае будет проще провести восстановление в случае ошибки во время установки. После установки драйвера вы должны сконфигурировать файл X config перед началом использования нового драйвера. Смотрите раздел ниже РЕДАКТИРОВАНИЕ ФАЙЛА X CONFIG.


ВВЕДЕНИЕ К ПРОГРАММЕ УСТАНОВКИ НОВОГО ДРАЙВЕРА NVIDIA

После загрузки файла NVIDIA-Linux-x86-1.0-6629-pkg1.run выйдите из X, войдите в директорию с загруженным файлом и запустите:

sh NVIDIA-Linux-x86-1.0-6629-pkg1.run

Файл .run является самораспаковывающимся архивом. При запуске файла .run содержимое архива распаковывается, и запускается утилита `nvidia-installer`, которая проведет вас через процесс установки драйвера NVIDIA.

Файл .run поддерживает большое количество опций командной строки. Вот некоторые из наиболее распространенных:

--info
Распечатать информацию о файле .run и выйти.

--check
Проверить целостность архива и выйти.

--extract-only
Распаковать содержимое ./NVIDIA-Linux-x86-1.0-6629.run, но не запускать 'nvidia-installer'.

--help
Распечатать информацию по наиболее часто используемым опциям командной строки и выйти.

--advanced-options
Распечатать информацию по использованию наиболее распространенных опций командной строки, а также дополнительных опций и затем выйти.

В процессе установки также будет установлена утилита `nvidia-installer`, с помощью которой можно удалить драйвера, автоматически их обновить и т.д.


ИНТЕРФЕЙСЫ ЯДРА

Модуль ядра NVIDIA имеет уровень интерфейса ядра, который нужно скомпилировать для вашей конфигурации и версии ядра. NVIDIA поставляет исходный код для данного уровня интерфейса ядра, а также предварительно скомпилированную версию для многих ядер наиболее распространенных дистрибутивов.

Программа установки определит наличие предварительно скомпилированного интерфейса ядра для вашего ядра. Если его нет, она проверит его наличие на ftp сайте NVIDIA (предполагая, что соединение с Интернет установлено) и загрузит его.

Если подходящий предварительно скомпилированный интерфейс ядра найден, он будет соединен с бинарным блоком модуля ядра NVIDIA. В результате будет создан модуль, подходящий для вашего ядра.

Если не найдено подходящего предварительно скомпилированного интерфейса ядра, программа установки сама скомпилирует интерфейс ядра. Но сначала она проверит наличие правильных заголовков ядра в вашей системе. Для компилирования интерфейса ядра вам нужно установить пакет с исходным кодом для вашего ядра.

[1] ЗАМЕЧАНИЕ: для установки необходим компоновщик. Обычно он находится в '/usr/bin/ld' и является частью пакета binutils; проверьте, что данный пакет установлен до начала установки драйвера NVIDIA.


ВОЗМОЖНОСТИ ПРОГРАММЫ УСТАНОВКИ NVIDIA

o Удаление: Установка драйвера сделает резервную копию конфликтных файлов и запишет новые установленные в системе файлы. Вы можете запустить:

nvidia-installer --uninstall

для удаления текущего драйвера; программа удалит все файлы, установленные в системе и восстановит все резервные копии.
Установка новых драйверов означает удаление всех предыдущих версий.

o Автоматическое обновление: При запуске:

nvidia-installer --latest

утилита подсоединится к FTP сайту NVIDIA и выдаст последнюю версию драйвера с ссылкой.

При запуске:

nvidia-installer --update

утилита подсоединится к FTP сайту NVIDIA, загрузит новейшую версию драйвера и установит его.

o Несколько пользовательских интерфейсов: программа установки запустит пользовательский интерфейс на базе ncurses, если найдет правильную библиотеку ncurses, в противном случае она вернет обычный пользовательский интерфейс в виде командной строки. Для отключения интерфейса ncurses воспользуйтесь опцией '--ui=none'.

o Обновленные интерфейсы ядра: программа установки может загружать обновленные предварительно скомпилированные интерфейсы ядра с FTP сайта NVIDIA (для ядер, выпущенных после релиза драйвера NVIDIA).


ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ ПО ПРОГРАММЕ УСТАНОВКИ NVIDIA

В: Как разархивировать файл .run без установки драйвера?

О: Запустите:

sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --extract-only

Будет создана директория NVIDIA-Linux-x86-1.0-6629-pkg1 с разархивированным содержанием файла .run.


В: Как проверить исходный код уровня интерфейса ядра?

О: Исходные файлы к уровню интерфейса ядра находятся в директории usr/src/nv
разархивированного файла .run. Запустите:

sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/


В: Я только что обновил ядро, и теперь модуль ядра NVIDIA не загружается. Что не так?

О: Уровень интерфейса модуля ядра NVIDIA должен быть скомпилирован для вашей конфигурации и версии ядра. При обновлении ядра проще всего переустановить драйвер.

ДОПОЛНИТЕЛЬНО: Вы можете установить модуль ядра NVIDIA для неработающего ядра (например, в случае, если вы только что скомпоновали и установили новое ядро, но еще не перегрузили систему) с помощью следующей командной строки:

sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='KERNEL_NAME'

где 'KERNEL_NAME' - это то, что сообщил бы `uname -r` в случае работы соответствующего ядра.


В: Почему NVIDIA больше не предоставляет rpms?

О: Не все дистрибутивы Linux используют rpm, а NVIDIA стремится использовать одно решение для всех дистрибутивов Linux. Как указано в лицензии по программному обеспечению NVIDIA, дистрибутивы Linux могут переупаковывать и пересылать драйвер NVIDIA Linux в любом формате.


В: Программа установки nvidia не работает на моем компьютере. Как установить драйвер из файла .run?

О: Для установки драйвера nvidia из файла .run без программы установки nvidia вы можете использовать Makefile:

sh ./NVIDIA-Linux-x86-1.0-6629-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-6629-pkg1
make install

Данный метод установки не рекомендуется и используется только как последнее средство в случае неправильной работы программы установки nvidia в вашей системе.


В: Может ли программа установки nvidia использовать proxy сервер?

О: Да, так как поддержка ftp в программе установки nvidia основана на snarf, она примет на обработку переменные окружения FTP_PROXY, SNARF_PROXY и PROXY.


В: Какое значение имеет индекс "pkg#" файла .run?

О: Индекс "pkg#" используется, чтобы отличить файлы .run с одним и тем же драйвером, но с разными наборами предварительно скомпилированных интерфейсов ядра. Если новое ядро выпущено после выпуска драйвера NVIDIA, текущая версия драйвера может быть переупакована так, чтобы включить предварительно скомпилированный интерфейс ядра для нового ядра (в дополнение ко всем предварительно скомпилированным интерфейсам ядра, включенным в предыдущий пакет драйверов).

Файлы .run с одной и той же версией, но разными номерами pkg, отличаются только в предварительно скомпилированных интерфейсах ядра. Файлы .run с более высоким номером pkg включает все, что содержат файлы с более низким номером .pkg.


В: Я уже установил NVIDIA-Linux-x86-1.0-6629-pkg1.run, но тут же увидел, что
на странице загрузки драйверов Linux компании NVIDIA появился NVIDIA-Linux-x86-1.0-6629-pkg2.run. Должен ли я загрузить и установить NVIDIA-Linux-x86-1.0-6629-pkg2.run?

О: В этом нет необходимости. Драйвер из всех файлов 1.0-6629 .run будет одним и тем же. Необходимости переустанавливать его нет.


В: Можно ли добавить мои собственные предварительно скомпилированные интерфейсы ядра в файл .run?

О: Да, опция .run файла "--add-this-kernel" распакует .run файл, скомпонует предварительно скомпилированный интерфейс ядра для текущего ядра и перепакует файл .run, добавив "-custom" к имени файла. Это может быть полезно, например, при администрации нескольких Linux машин на одном и том же ядре.


В: Где можно найти исходный код для программы установки nvidia?

О: Утилита инсталлятора nvidia выпущена на базе GPL. Последняя версия исходного кода доступна по адресу:
ftp://download.nvidia.com/XFree86/nvidia-installer/


ССЫЛКИ К ПРОГРАММЕ УСТАНОВКИ NVIDIA

Программа установки nvidia основана на без инструмента loki_update:
(www.lokigames.com/development/loki_update.php3.)

Поддержка ftp и http в программе установки nvidia основана на базе snarf 7.0:
(www.xach.com/snarf/).

Самораспаковывающийся архив (".run file") компонуется из makeself.sh: (www.megastep.org/makeself/)


________________________________________________________________________

РЕДАКТИРОВАНИЕ ФАЙЛА X CONFIG
________________________________________________________________________

В апреле 2004 года фонд X.org выпустил X сервер на базе сервера XFree86 X. Многие дистрибутивы Linux будут использовать в будущем X.org X сервер вместо XFree86. Различие между двумя X серверами не должно иметь значение для пользователей NVIDIA Linux, за исключением:

1) Конфигурационный файл X.org, несмотря на тот же синтаксис, что и в XF86Config файле XFree86, называется /etc/X11/xorg.conf; данный README файл называет эти конфигурационные файлы в общем как "X config файл".

2) X.org log-файл, несмотря на то, что его выходные данные почти идентичны XFree86.0.log файлу, называется /var/log/Xorg.0.log; данный README файл называет их в общем как "the X log файл".


При выпуске XFree86 4.0 он использовал немного другой синтаксис XF86Config, нежели серия 3.x, и чтобы версии 3.x и 4.x XFree86 могли работать вместе на одной системе, было решено, что XFree86 4.x будет использовать конфигурационный файл "/etc/X11/XF86Config-4", если он есть, и только если его нет, будет использоваться файл "/etc/X11/XF86Config" (это упрощенное объяснение критериев поиска; полное описание пути поиска можно найти на странице XF86Config). Проверьте, какой конфигурационный файл использует ваш X сервер. Если вы сомневаетесь, найдите строчку, начинающуюся на "(==) Using config file:" в X log файле ("/var/log/XFree86.0.log" или "/var/log/Xorg.0.log").

Если у вас нет рабочего X config файла, есть несколько способов: существует пример config файла, поставляющийся с XFree86, а также есть пример config файла, включенный в пакет драйверов NVIDIA (он устанавливается в /usr/share/doc/NVIDIA_GLX-1.0/).
Вы также можете использовать программу типа 'xf86config'; некоторые дистрибутивы имеют собственные инструменты для создания X config файла. На оперативной странице руководства вы можете получить более подробную информацию по синтаксису файла X config (`man XF86Config`, или `man xorg.conf`).

Если X config файл уже работает с другим драйвером (таким как 'nv' или 'vesa'), вам нужно найти соответствующий раздел Device и заменить строчку

Driver "nv"
(или Driver "vesa")

на

Driver "nvidia"

В разделе Module убедитесь, что прописано:

Load "glx"

Также удалите следующие строчки:

Load "dri"
Load "GLcore"

если они есть. К X config файлу можно добавить различные опции для тонкой настройки драйвера NVIDIA X. Полный список опций можно найти в Приложении D.

После конфигурирования X config файла вы можете перезапустить X и начать использование ускоренных OpenGL библиотек. После переустановки X вы можете запустить любое OpenGL приложение, которое автоматически начнет использование новых библиотек NVIDIA. В случае возникновения проблем смотрите раздел ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ ниже.


________________________________________________________________________

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
________________________________________________________________________


В: С чего следует начать диагностику проблем отображения?

О: Одним из наиболее полезных инструментов для диагностики проблем является X log файл в /var/log (файл называется: "/var/log/XFree86.<#>.log" или "/var/log/Xorg.<#>.log" где "<#>" - это номер сервера - обычно 0). Строчки, которые начинаются с "(II)", - это данные, "(WW)" - предупреждения и "(EE)" - ошибки. Убедитесь, что используется правильный config файл (т.е. редактируемый config файл); найдите строчку, которая начинается с: "(==) Using config file:". Также проверьте, что используется драйвер NVIDIA, а не 'nv' или 'vesa'; найдите: "(II) LoadModule: "nvidia"", и строчки в драйвере, которые начинаются с: "(II) NVIDIA(0)".


В: Как можно увеличить количество данных в X log файле?

О: По умолчанию NVIDIA X драйвер выводит мало информации в stderr и X log файл. Для устранения проблем вам может понадобится более полная информация, которую можно получить с помощью опций командной строки "-verbose" и "-logverbose", которые устанавливают уровень избыточности для сообщений stderr и log файла соответственно. NVIDIA X драйвер выведет больше информации при уровне избыточности, равном 5 или выше (по умолчанию X устанавливает уровень 1 для stderr и уровень 3 для log файла). Таким образом, для получения большей информации от NVIDIA X драйвера для log файла и stderr запустите X с помощью следующей строчки: 'startx -- -verbose 5 -logverbose 5'.


В: Мой X сервер не запускается, и X log файл выдает сообщение об ошибке:

"(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!"

О: Ничего не будет работать, если модуль ядра NVIDIA работает неправильно. Если в X log файле появилось сообщение типа "(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!", значит проблема скорее всего в модуле ядра NVIDIA. Во-первых, проверьте, что если вы проводили инсталляцию из rpm, то этот rpm был скомпонован специально для вашего ядра. Также проверьте загрузку модуля ('/sbin/lsmod'); если его нет, загрузите его командой 'insmod' или 'modprobe' (не забудьте выйти из X сервера перед началом установки нового модуля ядра). Если вы получили сообщение о неразрешенных символах, значит модуль ядра скорее всего был скомпонован с использованием файлов заголовков для другой ревизии ядра. Вы можете явно проверить, какие файлы заголовков ядра используются при компоновке модуля ядра NVIDIA с помощью опции --kernel-include-dir (см. `sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --advanced-options`).

Заметьте, что соглашение по размещению файлов заголовков ядра изменилось примерно в то же время, когда было выпущено ядро 2.4.0, как и размещение модулей ядра. Если модуль ядра не загружается, возможно modprobe/insmod пытается загрузить старую версию модуля ядра (предполагая, что вы его обновили). Войдите в директорию с новым модулем ядра и выполните 'insmod ./nvidia.o'.

Другая причина может заключаться в отсутствии файлов устройства /dev/nvidia*.

Кроме того, модуль ядра NVIDIA может сообщить о возникшей проблеме- для просмотра этих сообщений проверьте /var/log/messages или место, где syslog размещает сообщения о ядре. Данные сообщения имеют приставку "NVRM".


В: X запускается, но приложения OpenGL тут же закрываются.

О: Если X запускается, но OpenGL работает некорректно, скорее всего проблема заключается в других библиотеках или в устаревших символических ссылках.
Более подробную информацию смотрите в ПРИЛОЖЕНИИ C. Иногда достаточно просто перезапустить 'ldconfig'.

Также проверьте наличие правильных расширений; 'xdpyinfo' должен выдавать "GLX", "NV-GLX" и "NVIDIA-GLX". Если этих трех расширений нет, проблема заключается скорее всего в загрузке модуля glx или в невозможности неявной загрузки GLcore. Проверьте файл X config и убедитесь, что glx загружается (см. "Редактирование файла X config" выше). Если с файлом X config все в порядке, проверьте X log файл на наличие предупреждений/ошибок, относящихся к GLX. Также убедитесь, что все необходимые символические ссылки находятся на своих местах (см. Приложение C).


В: Установка модуля ядра NVIDIA выдает сообщение об ошибке:

#error Modules should never use kernel-headers system headers
#error but headers from an appropriate kernel-source

О: Вам нужно установить исходный код для ядра Linux. В большинстве случаев вы можете устранить эту проблему, установив пакет исходного кода ядра для вашего дистрибутива.


В: Приложения OpenGL заканчивают работу со следующим сообщением:

Error: Could not open /dev/nvidiactl because the permissions are too restrictive. Please see the FREQUENTLY ASKED QUESTIONS section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps to correct. (Ошибка: невозможно открыть /dev/nvidiactl из-за строгих ограничений. Смотрите раздел ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ в /usr/share/doc/NVIDIA_GLX-1.0/README)

О: Возможно модуль безопасности системы PAM изменил права для файлов устройств NVIDIA. В большинстве случаев система безопасности работает, но возможен и сбой. Для устранения проблемы рекомендуется отключить эту функцию безопасности. В различных дистрибутивах Linux есть различные файлы для управления этой функцией; проконсультируйтесь у вашего дистрибутора, как правильно ее отключить. Например, если в вашей системе есть файл /etc/security/console.perms, тогда вам нужно отредактировать его и удалить строчку, начинающуюся с "" (мы также получили информацию, что нужно удалить дополнительные ссылки на в console.perms, но NVIDIA это не подтвердила). Если в вашей системе есть файл /etc/logindevperms, тогда следует удалить строчку с /dev/nvidiactl. Эти шаги не дадут системе PAM изменить права на файлы устройств NVIDIA. Далее вам нужно установить оригинальные права на файлы устройств и владельца. Это можно сделать с помощью команд chmod 0666 /dev/nvidia* chown root /dev/nvidia*.


В: Приложения OpenGL останавливают работу с выдачей следующего сообщения:

WARNING: Your system is running with a buggy dynamic loader. This may cause crashes in certain applications. If you experience crashes you can try setting the environment variable __GL_SINGLE_THREADED to 1. For more information please consult the FREQUENTLY ASKED QUESTIONS section in the file /usr/share/doc/NVIDIA_GLX-1.0/README.
(ПРЕДУПРЕЖДЕНИЕ: Ваша система работает с динамическим загрузчиком, содержащим ошибки. Это может вызвать сбой некоторых приложений. В случае сбоя установите значение 1 для переменной окружения __GL_SINGLE_THREADED. Более подробную информацию можно получить в разделе ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ в file /usr/share/doc/NVIDIA_GLX-1.0/README.


О: Динамический загрузчик содержит ошибку, вызывающий конфликт с совместной загрузкой динамических библиотек и организацией поточной обработки (с pthreads). Эта ошибка присутствует в старых версиях динамического загрузчика. Среди дистрибутивов, поставляющихся с этим загрузчиком, находятся Red Hat Linux 6.2 и Mandrake Linux 7.1. Версия загрузчика 2.2 и выше работают без проблем. Если сбой произошел с однопотоковым приложением, тогда установка значения 1 переменной окружения __GL_SINGLE_THREADED предотвратит сбой.

В bash оболочке введите:

export __GL_SINGLE_THREADED=1
и используйте в csh и ее производных:

setenv __GL_SINGLE_THREADED 1

В предыдущих выпусках ускоренного набора драйверов NVIDIA для Linux была попытка обойти эту проблему, но это вызывало проблемы с другими приложениями и поэтому, начиная с версии 1.0-1541, она не применяется.


В: Когда я запускаю Quake3, при смене видео режимов происходит сбой; что не так?

О: Возможно, что у вас та же проблема, что описана выше. Проверьте, такое ли сообщение "WARNING". Установка значения 1 для переменной окружения __GL_SINGLE_THREADED устранит проблему.


В: Моя система работает, но нестабильно. Что не так?

О: Возможно, проблемы со стабильностью связаны с AGP. Смотрите ПРИЛОЖЕНИЕ F.


В: Модуль ядра не загружается динамически при запуске X; мне всегда приходится выполнять сначала 'modprobe nvidia'. В чем проблема?

О: Убедитесь в наличии строчки "alias char-major-195 nvidia" в конфигурационном файле ядра, обычно одном из "/etc/conf.modules", "/etc/modules.conf" или "/etc/modutils/alias". В случае ядер 2.6 это должен быть файл /etc/modprobe.conf. Выбор правильного способ обновления этого файла зависит от дистрибутива, и прямое редактирование этого файла нежелательно. Подробности смотрите в документации, полученной вместе с вашим дистрибутивом.


В: Мне не удается скомпоновать модуль ядра NVIDIA, или скомпоновать получается, но modprobe/insmod не может загрузить модуль в ядро. В чем проблема?

О: Обычно эти проблемы вызваны тем, что ваша версия использует неправильные файлы заголовков ядра (т.е. файлы заголовков для другой версии ядра по сравнению с той, которую вы используете). Раньше файлы заголовков ядра хранились в "/usr/include/linux/", а теперь в "/lib/modules/`uname -r`/build/include". Программа установки nvidia должна установить их расположение в вашей системе; но в случае данной проблемы вы можете указать версии, какие файлы заголовков следует использовать, с помощью опции --kernel-include-dir. Для этого в вашей системе должны быть установлены соответствующие файлы заголовков ядра. Проверьте документацию, идущую с дистрибутивом; не все дистрибутивы устанавливают файлы заголовков ядра по умолчанию, или же устанавливают те, которые не подходят для вашего ядра.


В: Почему OpenGL приложения работают так медленно?

О: Возможно, приложение использует библиотеку, отличную от OpenGL библиотеки, поставляемой NVIDIA. Подробности смотрите в Приложении C.


В: Проблемы с работой Quake2.

О: Для работы Quake2 нужно выполнить небольшую подготовку. Во-первых, в директории Quake2 при установке создается символическая ссылка libGL.so, которая указывает на libMesaGL.so. Эта символическая ссылка должна быть удалена или переименована. Затем наберите 'quake2 +set vid_ref glx +set gl_driver libGL.so' для запуска Quake2 в режиме OpenGL. Похоже, что Quake2 не поддерживает никакого полноэкранного режима, но вы можете запустить X сервер в том разрешении, в котором Quake2 работает, для эмуляции полноэкранного режима.


В: Проблемы с работой Heretic II.

О: Heretic II также по умолчанию устанавливает символическую ссылку libGL.so в директории приложения. Вам следует удалить или переименовать ее, так как приложение находит libGL.so, установленную по умолчанию (которую драйверы помещают в /usr/lib). Затем в Heretic II вы можете установить режим рендеринга OpenGL в видео меню. Для Heretic II также есть патч от lokigames:
www.lokigames.com/products/heretic2/updates.php3


В: Где можно взять gl.h или glx.h для компилирования OpenGL программ?

О: Большинство систем поставляются с предварительно установленными файлами заголовков. Но NVIDIA поставляет свои собственные gl.h и glx.h, которые помещаются в /usr/share/doc/NVIDIA_GLX-1.0/include/GL/. Для их использования либо вручную скопируйте их в /usr/include/GL/, либо заставьте программу установки поместить эти файлы в /usr/include/GL/, передав опцию '--opengl-headers' файлу NVIDIA-Linux-x86-1.0-6629-pkg1.run во время установки.


В: Можно ли получать сообщения по почте о новых выпусках набора драйверов NVIDIA для Linux?

О: Да. Заполните бланк по адресу:
www.nvidia.com/view.asp?FO=driver_update


В: Моя система зависает при переключении виртуальных терминалов, при включении rivafb.

О: В настоящий момент невозможно одновременно использовать rivafb и модуль ядра NVIDIA. В общем-то, одновременное использование двух независимых программных драйверов для работы одного и того же аппаратного обеспечения является плохой идеей.


В: Компилирование модуля ядра NVIDIA выдает следующую ошибку:

You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes.

If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel.

(Похоже, что вы компилируете модуль ядра NVIDIA с помощью компилятора, отличного от того, что использовался для компиляции текущего ядра. В результате может быть все хорошо, но также могут возникнуть неожиданные проблемы и сбой системы.

Если Вы знаете, что делаете, и хотите проигнорировать это сообщение, установите IGNORE_CC_MISMATCH.

В противном случае установите переменной окружения CC имя компилятора, который использовался для компиляции ядра.)

О: Вам следует использовать для модуля ядра NVIDIA ту же версию компилятора, что использовалась для компиляции ядра. Некоторые структуры данных ядра Linux зависят от версии gcc, используемого для компиляции; например, в include/linux/spinlock.h:

...
* Most gcc versions have a nasty bug with empty initializers.
*/
#if (__GNUC__ > 2)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif

Если ядро скомпилировано с помощью gcc 2.x, но при компиляции интерфейса ядра используется gcc 3.x (или наоборот), размер rwlock_t будет отличаться, и такие функции, как ioremap, не будут работать.

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

cat /proc/version

Чтобы проверить версию gcc, использующуюся в $PATH, выполните:

gcc -v


В: X останавливает работу с сообщением "Failed to allocate LUT context DMA"

О: Это одно из возможных последствий использования gcc для компиляции интерфейса ядра NVIDIA, отличного от компилятора ядра Linux (см. выше).


В: Какова политика NVIDIA в отношении бета-ядер для Linux?

A: NVIDIA официально не поддерживает ядра бета-ядра. Но весь исходный код модулей ядра, связанный с ядром Linux, доступен в директории usr/src/nv/ файла .run. NVIDIA поддерживает членов сообщества Linux в написании патчей для этих исходных файлов с целью поддержки бета-ядер. Поиск в сети возможно выдаст вам несколько патчей.


В: Я недавно обновил различные библиотеки с помощью утилиты обновления моего дистрибутора Linux, и графический драйвер NVIDIA больше не работает. В чем проблема?

О: Возможно утилитой обновления вашего дистрибутора были установлены конфликтующие библиотеки; как определить это, смотрите в ПРИЛОЖЕНИИ C: УСТАНОВЛЕННЫЕ КОМПОНЕНТЫ.


В: `rpm --rebuild` выдает ошибку "unknown option".

О: Последние версии rpm больше не поддерживают опцию "--rebuild"; Если у вас такая версия rpm, используйте команду `rpmbuild --rebuild`. Исполняемый файл `rpmbuild` поставляется в rpm-build пакете.


В: Я использую встроенную графику nForce и nForce2, и у меня появляются следующие предупреждения в X log файле:

Not using mode "1600x1200" (exceeds valid memory bandwidth usage)

О: Интегрированная графика имеет более жесткие ограничения на ширину пропускания памяти, которые ограничивают разрешение и частоту обновления в запрашиваемых вами режимах. Вам следует снизить максимальную частоту обновления, уменьшив верхнее значение "VertRefresh" в разделе Monitor вашего X config файла. Хотя это не рекомендуется, но вы можете отключить тестирование ширины пропускания памяти с помощью опции "NoBandWidthTest" X config файла.


В: Я перекомпоновал модуль ядра NVIDIA, но при попытке его установить я получаю сообщение о неразрешенных символах.

О. Неразрешенные символы чаще всего вызваны тем, что исходные коды ядра не совпадают с самим ядром. Они должны совпадать для правильной компоновки модуля ядра NVIDIA. Убедитесь, что установленные и сконфигурированные исходные коды ядра подходят к вашему ядру.


В: Как определить, что исходные коды ядра установлены?
О: В случае дистрибутива на базе RPM (Red Hat, Mandrake, SuSE, и так далее), вы можете узнать это из RPM. Введите в консоли:
example% rpm -qa | grep kernel
Вы получите пакет, соответствующий вашему ядру (часто обозначается как kernel-2.4.18-3) и пакет исходного кода ядра с той же самой версией (часто обозначается как kernel-source-2.4.18-3). Если ни одна из строчек не соответствует исходному коду, значит вам нужно установить его. Если обозначенные версии не совпадают (например: kernel-2.4.18-10 и kernel-source-2.4.18-3), тогда необходимо обновить исходный код ядра для того, чтобы версия совпала с установленным ядром. Если у вас установлено несколько ядер, вам нужно установить пакет исходного кода ядра, который совпадает с рабочим ядром (или убедитесь, что установленный пакет исходного кода совпадает с рабочим ядром). Вы можете проверить это по команде "uname -r".

Q: Почему я не могу загрузить модуль ядра NVIDIA, который я скомпилировал для ядра Red Hat Linux 7.3 2.4.18-3bigmem?

О: Файлы заголовков ядра, распространяемые Red Hat Linux для ядра Red Hat Linux 7.3 2.4.18-3bigmem, неправильно сконфигурированы. Можно загрузить предварительно скомпилированный модуль ядра NVIDIA для этого ядра, но если вы хотите скомпилировать файлы интерфейса ядра NVIDIA сами для этого ядра, то выполните следующее:

cd /lib/modules/`uname -r`/build/
make mrproper
cp configs/kernel-2.4.18-i686-bigmem.config .config
make oldconfig dep

Замечание: Red Hat Linux поставляет файлы заголовков ядра, которые одновременно сконфигурированы для всех ядер определенной версии дистрибутива. Заголовочный файл, генерируемый во время загрузки, устанавливает несколько параметров, которые выбирают правильную конфигурацию. Перекомпоновка заголовков ядра с помощью команд выше создаст заголовочные файлы только для ядра Red Hat Linux 7.3 2.4.18-3bigmem, удалив файлы для других конфигураций.


В: Запуск X занимает довольно много времени (возможно, несколько минут). Что можно сделать?

О: Большинство проблем, связанных с задержкой при загрузке X, вызваны некорректными данными в видео BIOS о том, какие устройства отображения возможно подключены или какой i2c порт должен быть использован для определения этого. Вы можете избежать этой проблемы с помощью опции X config "IgnoreDisplayDevices" (смотрите описание в ПРИЛОЖЕНИИ D: ОПЦИИ X CONFIG).


В: Почему X использует так много памяти?

О: При измерении памяти, используемой приложением, необходимо разграничивать физическую RAM и отображение совместно используемых ресурсов. Например, большинство совместно используемых библиотек помещаются только раз в физическую память, но в целом их данные попадают в разные процессы. Эту память необходимо принять во внимание только при подсчете полного использовании памяти. Таким же образом, видео память графической карты или регистровая память любого устройства могут использоваться в различных процессах. При этом системная RAM не потребляется.

Этот вопрос часто обсуждали подписчики XFree86; например, здесь:

marc.theaimsgroup.com/?l=xfree-xpert&m=96835767116567&w=2

Утилита `pmap`, описана выше и доступная по адресу:

web.hexapodia.org/~adi/pmap.c

является полезным инструментом в разграничении между типами распределения памяти. Например, в то время как `top` указывает, что X использует несколько сотен мегабайт памяти, последняя строчка pmap:

mapped: 287020 KB writable/private: 9932 KB shared: 264656 KB

указывает, что X в действительности использует примерно 10МБ системной RAM
(значение "writable/private").

Помните также, что X должен назначать ресурсы от имени X клиентов (менеджер окон, веб браузер и т.д.); использование памяти X будет возрастать по мере роста запросов клиентов, таких как pixmaps, и уменьшаться при закрытии X приложений.


В: Приложения OpenGL используют слишком много памяти в системе!

О: Если ядро использует -rmap VM, система может потреблять избыточное количество памяти из-за оптимизации управления памятью, представленной в -rmap14a. -rmap VM был принят несколькими популярными дистрибутивами, и было установлено, что утечка памяти существует в некоторых ядрах дистрибутивов; в -rmap15e она была устранена.

Если вы думаете, что в вашей системе происходят утечки памяти, обновите ядро или свяжитесь с поставщиком дистрибутива.


В: Некоторые OpenGL приложения (например, Quake3 Arena) не работают на Red Hat Linux 9.0.

О: Некоторые версии пакета glibc, поставляемые Red Hat с поддержкой TLS, не достаточно хорошо управляют загрузкой динамических библиотек для входа в совместно используемые библиотеки, которые используют некоторые TLS модели. Эта проблема существует, например, когда Quake3 Area загружает библиотеку NVIDIA libGL. Вам следует установить как минимум версию glibc-2.3.2-11.9, которая доступна в качестве обновления для Red Hat.


В: Я установил драйвер, но пункт Enable 3D Acceleration все еще неактивен! Что я сделал не так?

О: Большинство конфигурационных апплетов "не знают" о драйвере NVIDIA и поэтому автоматически не обновляются при установке драйвера. Если ваш драйвер установлен правильно, он должен работать нормально.


В: Где можно найти tarball файлы?

О: Обычные tarball больше недоступны. Файл .run является tarball файлом с добавленным вначале скриптом оболочки. Вы можете запустить файл .run с опцией '--extract-only' для распаковки tarball.


В: Где можно найти старые версии драйверов?

О: по адресу ftp://download.nvidia.com/XFree86_40/.


В: X не восстанавливает vga консоль при работе с TV. Я получил следующее сообщение об ошибке в моем X log файле:

Unable to initialize the X int10 module; the console may not be restored correctly on your TV. (Невозможно инициализировать the X int10 модуль; консоль не восстанавливается на ТВ.)

О: NVIDIA X драйвер использует X Int10 модуль, чтобы сохранять и восстанавливать состояние консоли на ТВ, и он не сможет его восстановить правильно, если не умеет использовать Int10 модуль. Если вы сами скомпоновали X сервер, убедитесь в наличии Int10 модуля. Если вы используете версию X сервера из дистрибутива Linux и у вас нет Int10 модуля, обратитесь к поставщику дистрибутива.


В: При изменении настроек в таких играх, как Quake 3 Arena или Wolfstein Enemy Territry, игры заканчивают работу с ошибкой:

...loading libGL.so.1: QGL_Init: dlopen libGL.so.1 failed:
/usr/lib/tls/libGL.so.1: shared object cannot be dlopen()ed:
static TLS memory too small

О: При изменении настроек эти игры закрывают и открывают заново драйвер NVIDIA OpenGL (через dlopen()/dlclose()). На некоторых версиях glibc (например той, что идет с Red Hat Linux 9) есть ошибка, которая приводит к потерям статических записей TLS. Это ошибка не дает перегрузить драйвер OpenGL. В более поздних версиях glibc эта ошибка устранена; см. Red Hat bug #89692:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=89692


В: X аварийно завершает работу во время выполнения команды `startx`, и в X log файле появляется следующее сообщение:

(EE) NVIDIA(0): Failed to obtain a shared memory identifier.

О: Для NVIDIA OpenGL драйвера и NVIDIA X драйвера нужно установить связь для совместно используемой памяти; вам нужно активизировать CONFIG_SYSVIPC в ядре.


В: При попытке установить драйвер программа установки сообщает, что X запущен, хотя я вышел из X. В чем проблема?

О: Программа установки определяет, работает ли X сервер, проверяя X lock файлы: /tmp/.X[n]-lock, где [n] это номер X дисплея (инсталлятор проверяет X дисплеи 0-7). Если вы вышли из X, но один из этих файлов остался, тогда вам нужно вручную удалить lock файл. НЕ УДАЛЯЙТЕ этот файл, если X еще работает.


В: Размер шрифтов меняется после установки драйвера NVIDIA.

О: Изменение размеров шрифтов вызвано скорее всего тем, что монитор сообщает неправильные физические размеры, что заставляет X приложения отображать шрифты неверных размеров. Запустите следующую команду, чтобы проверить, какие размеры монитора задает X:

xdpyinfo | grep dimensions

Команда выдаст размер в пикселях и в миллиметрах. Если размер в мм совсем неправильный, вы можете его поправить, добавив поле DisplaySize в раздел Monitor X config файла (подробнее см. на страницах руководства XF86Config или xorg.conf).

Вы можете проверить, какой размер выдает монитор, запустив `startx -- -logverbose`. Затем найдите в X log файле строчку типа этой:

(II) NVIDIA(0): Max H-Image Size [cm]: horiz.: 36 vert.: 27

(числа могут отличаться). Драйвер NVIDIA использует эти данные для вычисления DPI.


В: Я бы хотел использовать Valgrind с приложениями OpenGL, но мой дистрибутив использует ELF TLS, и Valgrind еще не умеет работать с NVIDIA ELF TLS OpenGL.

О: Вы можете установить значение переменной окружения LD_ASSUME_KERNEL ниже "2.3.99" (например: `export LD_ASSUME_KERNEL 2.3.98`).

Библиотеки NVIDIA OpenGL содержат OS ABI ELF указание минимальной версии ядра, необходимой для использования библиотеки. Библиотеки ELF TLS OpenGL имеют OS ABI версии 2.3.99 (первое ядро Linux, которое обладает необходимой LDT поддержкой для ELF TLS), в то время как не-ELF TLS OpenGL библиотеки содержат OS ABI версии 2.2.5.

Динамический загрузчик не станет грузить библиотеки с версией OS ABI выше, чем текущая версия ядра. Переменная окружения LD_ASSUME_KERNEL может обойти версию ядра, которую использует загрузчик в этом тесте.

Установите для LD_ASSUME_KERNEL версию ядра ниже 2.3.99, чтобы загрузчик не использовал библиотеки ELF TLS OpenGL и вернулся к обычным OpenGL библиотекам.

Если по какой-либо причине вы хотите удалить данное OS ABI указание из NVIDIA OpenGL библиотек, запустив .run файл с опцией "--no-abi-note".


________________________________________________________________________

КОНТАКТЫ
________________________________________________________________________


Существует форум по драйверам NVIDIA для Linux. Войти в него можно по адресу www.nvnews.net и далее по ссылкам "Forum" и "Linux Discussion Area". Это основной источник помощи; пользователи могут задать вопросы, ответить на вопросы других и просмотреть архивы.

Если ничего не поможет, вы можете обратиться к NVIDIA по адресу:
linux-bugs@nvidia.com. Но только, пожалуйста, отправляйте сообщение только того, как вы прочитали ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ в данном README документе и воспользовались форумом nvnews.net. При отправлении сообщения по адресу linux-bugs@nvidia.com включите файл nvidia-bug-report.log, сгенерированный скриптом nvidia-bug-report.sh (который устанавливается с драйвером).


________________________________________________________________________

ПОЛЕЗНЫЕ ССЫЛКИ
________________________________________________________________________

Linux OpenGL ABI
oss.sgi.com/projects/ogl-sample/ABI/

NVIDIA Linux HowTo
www.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/index.html

OpenGL
www.opengl.org

The XFree86 Project
www.xfree86.org

#nvidia (irc.freenode.net)


________________________________________________________________________

ПРИЛОЖЕНИЕ A: ПОДДЕРЖИВАЕМЫЕ ГРАФИЧЕСКИЕ ЧИПЫ NVIDIA
________________________________________________________________________

ЧИП NVIDIA ID PCI УСТРОЙСТВА
RIVA TNT 0x0020
RIVA TNT2/TNT2 Pro 0x0028
RIVA TNT2 Ultra 0x0029
Vanta/Vanta LT 0x002C
RIVA TNT2 Model 64/Model 64 Pro 0x002D
Aladdin TNT2 0x00A0
GeForce 256 0x0100
GeForce DDR 0x0101
Quadro 0x0103
GeForce2 MX/MX 400 0x0110
GeForce2 MX 100/200 0x0111
GeForce2 Go 0x0112
Quadro2 MXR/EX/Go 0x0113
GeForce2 GTS/GeForce2 Pro 0x0150
GeForce2 Ti 0x0151
GeForce2 Ultra 0x0152
Quadro2 Pro 0x0153
GeForce4 MX 460 0x0170
GeForce4 MX 440 0x0171
GeForce4 MX 420 0x0172
GeForce4 MX 440-SE 0x0173
GeForce4 440 Go 0x0174
GeForce4 420 Go 0x0175
GeForce4 420 Go 32M 0x0176
GeForce4 460 Go 0x0177
Quadro4 550 XGL 0x0178
GeForce4 440 Go 64M 0x0179
Quadro NVS 0x017A
Quadro4 500 GoGL 0x017C
GeForce4 410 Go 16M 0x017D
GeForce4 MX 440 с AGP8X 0x0181
GeForce4 MX 440SE с AGP8X 0x0182
GeForce4 MX 420 с AGP8X 0x0183
GeForce4 MX 4000 0x0185
Quadro4 580 XGL 0x0188
Quadro NVS с AGP8X 0x018A
Quadro4 380 XGL 0x018B
GeForce2 Integrated GPU 0x01A0
GeForce4 MX Integrated GPU 0x01F0
GeForce3 0x0200
GeForce3 Ti 200 0x0201
GeForce3 Ti 500 0x0202
Quadro DCC 0x0203
GeForce4 Ti 4600 0x0250
GeForce4 Ti 4400 0x0251
GeForce4 Ti 4200 0x0253
Quadro4 900 XGL 0x0258
Quadro4 750 XGL 0x0259
Quadro4 700 XGL 0x025B
GeForce4 Ti 4800 0x0280
GeForce4 Ti 4200 с AGP8X 0x0281
GeForce4 Ti 4800 SE 0x0282
GeForce4 4200 Go 0x0286
Quadro4 980 XGL 0x0288
Quadro4 780 XGL 0x0289
Quadro4 700 GoGL 0x028C
GeForce FX 5800 Ultra 0x0301
GeForce FX 5800 0x0302
Quadro FX 2000 0x0308
Quadro FX 1000 0x0309
GeForce FX 5600 Ultra 0x0311
GeForce FX 5600 0x0312
GeForce FX 5600XT 0x0314
GeForce FX Go5600 0x031A
GeForce FX Go5650 0x031B
Quadro FX Go700 0x031C
GeForce FX 5200 0x0320
GeForce FX 5200 Ultra 0x0321
GeForce FX 5200 0x0322
GeForce FX 5200LE 0x0323
GeForce FX Go5200 0x0324
GeForce FX Go5250 0x0325
GeForce FX 5500 0x0326
GeForce FX 5100 0x0327
GeForce FX Go5200 32M/64M 0x0328
Quadro NVS 280 PCI 0x032A
Quadro FX 500/600 PCI 0x032B
GeForce FX Go53xx 0x032C
GeForce FX Go5100 0x032D
GeForce FX 5900 Ultra 0x0330
GeForce FX 5900 0x0331
GeForce FX 5900XT 0x0332
GeForce FX 5950 Ultra 0x0333
GeForce FX 5900ZT 0x0334
Quadro FX 3000 0x0338
Quadro FX 700 0x033F
GeForce FX 5700 Ultra 0x0341
GeForce FX 5700 0x0342
GeForce FX 5700LE 0x0343
GeForce FX 5700VE 0x0344
GeForce FX Go5700 0x0347
GeForce FX Go5700 0x0348
Quadro FX Go1000 0x034C
Quadro FX 1100 0x034E
GeForce 6800 Ultra 0x0040
GeForce 6800 0x0041
GeForce 6800 GT 0x0045
Quadro FX 4000 0x004E
GeForce 6800/GeForce 6800 Ultra 0x00F0
GeForce 6600/GeForce 6600 GT 0x00F1
GeForce 6600 GT 0x00F2
Quadro FX 3400 0x00F8
GeForce 6800 Ultra 0x00F9
GeForce PCX 5750 0x00FA
GeForce PCX 5900 0x00FB
Quadro FX 330/GeForce PCX 5300 0x00FC
Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
Quadro FX 1300 0x00FE
GeForce PCX 4300 0x00FF
________________________________________________________________________

ПРИЛОЖЕНИЕ B: МИНИМАЛЬНЫЕ ПРОГРАММНЫЕ ТРЕБОВАНИЯ
________________________________________________________________________

o linux kernel 2.4.0 # cat /proc/version
o XFree86 4.0.1 # XFree86 -version, or
Xorg 6.7 # Xorg -version
o Kernel modutils 2.1.121 # insmod -V

Если вам нужно скомпоновать модуль ядра NVIDIA:

o binutils 2.9.5 # size --version
o GNU make 3.77 # make --version
o gcc 2.91.66 # gcc --version
o glibc 2.0 # /lib/libc.so.6

Если вы компонуете на базе исходных rpms:

o spec-helper rpm # rpm -qi spec-helper

Поддерживаются все официальные стабильные выпуски ядра, начиная с 2.2.12 и выше; версии "prerelease", такие как "2.4.3-pre2", не поддерживаются, так же как и бета ядра типа 2.3.x и 2.5.x. Ядро linux можно загрузить по адресу www.kernel.org или с одного из его зеркал.

binutils и gcc можно найти на www.gnu.org или одном из его зеркал.

Если вы используете XFree86, но у вас нет файла /var/log/XFree86.0.log, возможно у вас стоит версия XFree86 3.x и вам следует обновить ее.

Если вы впервые устанавливаете XFree86 4.x, лучше всего начать с одного из драйверов с открытым исходным кодом, который поставляется с XFree86 ('nv', 'vga' или 'vesa'). Когда XFree86 начинает хорошо работать с драйвером с открытым исходным кодом, то проще перейти на драйвер nvidia.

Помните, что последние процессоры NVIDIA не работают со старыми версиями драйвера "nv", поставляемого с XFree86. Например, драйвер "nv", поставляемый с XFree86 4.0.1, не распознает семейство GeForce2 и Quadro2 MXR. Но эта проблема была решена в XFree86 4.0.2 (XFree86 можно получить на www.xfree86.org).

Программные пакеты также можно получить через вашего поставщика linux.


________________________________________________________________________

ПРИЛОЖЕНИЕ C: УСТАНОВЛЕННЫЕ КОМПОНЕНТЫ
________________________________________________________________________

Набор драйверов NVIDIA для Linux состоит из следующих компонентов (файл в скобках указывает на полное имя компонента после установки; "x.y.z" означает текущую версию - в этих случаях создаются соответствующие символические ссылки во время установки):

o X драйвер (/usr/X11R6/lib/modules/drivers/nvidia_drv.o); этот драйвер нужен X серверу для использования вашего аппаратного обеспечения NVIDIA. Драйвер nvidia_drv.o бинарно совместим с XFree86 4.0.1 и более высокой версии, а также с Xorg X сервером.

o Дополнительный модуль GLX для X
(/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z); модуль используется X сервером для обеспечения серверной glx поддержки.

o OpenGL библиотека (/usr/lib/libGL.so.x.y.z); эта библиотека обеспечивает точки входа API для всех вызовов функций OpenGL и GLX. Она подключается во время работы OpenGL приложениями.

o Библиотека ядра OpenGL (/usr/lib/libGLcore.so.x.y.z); это библиотека неявно используется libGL и libglx. Она содержит ускоренную на базе ядра 3D функциональность. Вам не следует явно ее загружать в X config файл - этим занимается libglx.

o Две XvMC библиотеки: статическая и совместно используемая библиотека (/usr/X11R6/lib/libXvMCNVIDIA.a, /usr/X11R6/lib/libXvMCNVIDIA.so.x.y.z); см. ПРИЛОЖЕНИЕ P: ПОДДЕРЖКА XVMC.

o Модуль ядра (/lib/modules/`uname -r`/video/nvidia.o или /lib/modules/`uname -r`/kernel/drivers/video/nvidia.o); данный модуль ядра предоставляет низкоуровневый доступ к вашему аппаратному обеспечению NVIDIA для всех вышеперечисленных компонентов. Он обычно загружается в ядро при запуске X сервера и используется X драйвером и OpenGL. nvidia.o состоит из двух частей: бинарное ядро и интерфейс ядра, который должен быть скомпилирован специально для вашей версии ядра. Та как ядро linux не имеет согласованного бинарного интерфейса, как X сервер и поэтому важно, чтобы данный интерфейс ядра совпадал с версией используемого ядра. Вы можете либо сами скомпилировать, либо воспользоваться предварительно скомпилированными бинарными файлами, поставляемыми для ядер с некоторыми из наиболее распространенных дистрибутивов linux.

o Файлы заголовков OpenGL и GLX (/usr/share/doc/NVIDIA_GLX-1.0/include/GL/gl.h и /usr/share/doc/NVIDIA_GLX-1.0/include/GL/glx.h); эти файлы также могут быть установлены в /usr/include/GL/, с пересылкой опции "--opengl-headers" файлу .run во время установки.

o Библиотеки nvidia-tls (/usr/lib/libnvidia-tls.so.x.y.z и /usr/lib/tls/libnvidia-tls.so.x.y.z); данные файлы обеспечивают поддержку локальной памяти потока для библиотек NVIDIA OpenGL (libGL, libGLcore и libglx). Каждая nvidia-tls библиотека обеспечивает поддержку определенной модели локальной памяти потока (такой как ELF TLS), и та, которая соответствует вашей системе, будет загружена в процессе работы.

o Программа установки приложений nvidia (/usr/bin/nvidia-installer) является инструментом NVIDIA для установки и обновления драйверов NVIDIA. Подробности смотрите в разделе УСТАНОВКА ДРАЙВЕРА NVIDIA.

Если приложение использует неправильную версию библиотеки, могут возникнуть сложности, например, при использовании старых libGL библиотек или устаревших символических ссылок. Если вы подозреваете, что установка идет неправильно, проверьте правильность расположения следующих файлов (это все файлы набора драйверов NVIDIA для Linux, плюс символические ссылки):

/usr/X11R6/lib/modules/drivers/nvidia_drv.o

/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
/usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.x.y.z

/usr/lib/libGL.so.x.y.z
/usr/lib/libGL.so.x -> libGL.so.x.y.z
/usr/lib/libGL.so -> libGL.so.x

/usr/lib/libGLcore.so.x.y.z
/usr/lib/libGLcore.so.x -> libGLcore.so.x.y.z

/lib/modules/`uname -r`/video/nvidia.o, or
/lib/modules/`uname -r`/kernel/drivers/video/nvidia.o

Во время процесса установки будут созданы также /dev файлы:

crw-rw-rw- 1 root root 195, 0 Feb 15 17:21 nvidia0
crw-rw-rw- 1 root root 195, 1 Feb 15 17:21 nvidia1
crw-rw-rw- 1 root root 195, 2 Feb 15 17:21 nvidia2
crw-rw-rw- 1 root root 195, 3 Feb 15 17:21 nvidia3
crw-rw-rw- 1 root root 195, 255 Feb 15 17:21 nvidiactl

Если есть другие библиотеки, "soname" которых конфликтует с "soname" библиотек NVIDIA, ldconfig может создать неправильные символические ссылки. Рекомендуется вручную удалить или переименовать конфликтующие библиотеки (не забудьте переименовать конфликтующие библиотеки на что-нибудь, что ldconfig не заметит - замечено, что добавление приставки "XXX" к имени библиотеки обычно срабатывает), перезапустить 'ldconfig' и проверить создание правильных символических ссылок. Библиотеки "/usr/X11R6/lib/libGL.so*" и "/usr/X11R6/lib/libGLcore.so*" часто создают конфликты.

Если библиотеки проходят проверку, убедитесь, что приложение использует правильные библиотеки. Например, чтобы проверить, что приложение /usr/X11R6/bin/gears использует библиотеки NVIDIA, выполните следующее:

$ ldd /usr/X11R6/bin/gears
libglut.so.3 => /usr/lib/libglut.so.3 (0x40014000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40046000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40062000)
libc.so.6 => /lib/libc.so.6 (0x4009f000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4018d000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40196000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x401ac000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401c0000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401cd000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401d6000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x402ab000)
libm.so.6 => /lib/libm.so.6 (0x4048d000)
libdl.so.2 => /lib/libdl.so.2 (0x404a9000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404ac000)

Проверьте файлы, используемые для libGL и libGLcore, - если это не библиотеки NVIDIA, тогда вам нужно удалить данные библиотеки или исправить путь поиска ld. Если вы не знаете, как это сделать, смотрите информацию по "ldconfig" и "ldd" в руководстве.


________________________________________________________________________

ПРИЛОЖЕНИЕ D: ОПЦИИ X CONFIG
________________________________________________________________________

Драйвер NVIDIA X поддерживает следующие опции. Они могут указываться в разделе Screen или Device X config файла.

Опция "NvAGP" "integer"
Конфигурирование AGP поддержки. Целочисленный аргумент может быть одним из:
0 : disable agp
1 : use NVIDIA's internal AGP support, if possible
2 : use AGPGART, if possible
3 : use any agp support (try AGPGART, then NVIDIA's AGP)
Внутренняя поддержка AGP NVIDIA не будет работать, если AGPGART статически скомпилирован в ваше ядро или скомпонован как модуль и загружен в ваше ядро (некоторые дистрибутивы загружают AGPGART в ядро во время загрузки системы). По умолчанию: 3 (до версии 1.0-1251 значению по умолчанию было 1).

Опция "NoLogo" "boolean"
Отключить логотип NVIDIA при запуске X. По умолчанию логотип выводится.

Опция "RenderAccel" "boolean"
Включить или отключить аппаратное ускорение расширения RENDER. ЭТА ОПЦИЯ ЯВЛЯЕТСЯ ЭКСПЕРИМЕНТАЛЬНОЙ. ВЫ МОЖЕТЕ ВКЛЮЧИТЬ ЕЕ НА СВОЙ СТРАХ И РИСК. Для расширения RENDER нет теста, и NVIDIA не может проверить, что ускорение RENDER работает правильно. По умолчанию аппаратное ускорение опции RENDER отключено.

Опция "NoRenderExtension" "boolean"
Отключить расширение RENDER. XFree86 может сделать это только через перекомпилирование X сервера. К счастью, это можно контролировать на уровне драйвера, поэтому мы можем экспортировать эту опцию. Это полезно при глубине 8, когда RENDER обычно захватывает большую часть карты цветов, заданной по умолчанию. По умолчанию RENDER предоставляется по возможности.

Опция "UBB" "boolean"
Включить или отключить UBB буфер на всех GPU на базе Quadro (за исключением Quadro4 NVS); смотрите описание UBB в Приложении M. Эта опция не влияет на процессоры не-Quadro. По умолчанию UBB включен для Quadro.

Опция "NoFlip" "boolean"
OpenGL переключение; описание смотрите в Приложении M. По умолчанию OpenGL переключение выполняется по возможности.

Опция "DigitalVibrance" "integer"
Включить Digital Vibrance Control. Спектр значений: от 0 до 255. Данная функция не работает на процессорах, старше чем GeForce2. По умолчанию: 0.

Опция "Dac8Bit" "boolean"
Большинство частей Quadro по умолчанию используют 10-битную LUT; при установке TRUE эти графические чипы будут использовать 8-битную LUT. По умолчанию используется 10-битная LUT, если она доступна.

Опция "Overlay" "boolean"
Включение оверлейных изображений RGB для рабочих станций. Поддерживается только в Quadro4 и Quadro FX (за исключением Quadro4 NVS) при глубине 24. Сервер выдает свойство корневого окна SERVER_OVERLAY_VISUALS, и GLX сообщает о поддержке 16-битных оверлейных изображений с простой, двойной и Z буферизацией. Прозрачность задана пикселем 0x0000 (hex). Плоскости оверлея не поддерживают гамма коррекцию. Для данной опции требуется версия XFree86 4.1.0 или выше (или Xorg X сервер). Процессоры Quadro на базе NV17/18 (т.е. 500/550 XGL) имеют дополнительные ограничения, а именно оверлеи не поддерживаются в режиме TwinView с виртуальными рабочими столами более 2046x2047 в любом измерении (например, они не будут работать в режимах 2048x1536). Quadro 7xx/9xx и Quadro FX поддерживают оверлейные изображения в этих режимах (TwinView или виртуальные рабочий стол более 2046x2047), но оверлей будет эмулироваться за счет производительности. По умолчанию отключено.

Опция "CIOverlay" "boolean"
Включает оверлейные изображения Color Index для рабочих станций с такими же ограничениями, что установлены для опции "Overlay" выше. Сервер поддерживает изображения с и без прозрачности. Это изображения PseudoColor при глубине 8. Включение Color Index оверлеев на X серверах старше, чем XFree86 4.3, вызовет отключение расширения RENDER из-за проблем в расширении RENDER в старых X серверах. По умолчанию отключено.

Опция "TransparentIndex" "integer"
При включении color index оверлеев данная опция позволяет выбрать, какой пиксель использовать прозрачным в изображениях с прозрачными пикселями. Диапазон значений: от 0 до 255 (Замечание: для некоторых приложений, типа Alias/Wavefront Maya, это значение должно быть 0 для правильной работы). По умолчанию: 0.

Опция "OverlayDefaultVisual" "boolean"
При использовании оверлеев эта опция устанавливает оверлейное изображение в качестве изображения по умолчанию, помещая корневое окно в оверлей. Данная опция не рекомендуется для RGB оверлеев. По умолчанию: off.

Опция "SWCursor" "boolean"
Включает или отключает программный рендеринг X курсора. По умолчанию отключено.

Опция "HWCursor" "boolean"
Включает или отключает аппаратный рендеринг X курсора. По умолчанию отключено.

Опция "CursorShadow" "boolean"
Включает или отключает тень для аппаратно ускоренного курсора; это черная полупрозрачная копия формы курсора при определенном сдвиге от реального курсора. Данная опция доступна только на картах GeForce2 и выше (т.е. везде, за исключением TNT/TNT2, GeForce 256, GeForce DDR и Quadro). По умолчанию отключено.

Опция "CursorShadowAlpha" "integer"
Значение альфа для тени курсора; доступна только при включении опции CursorShadow. Диапазон значений: [0, 255] -- 0 - полная прозрачность; 255 - минимальная прозрачность. По умолчанию: 64.

Опция "CursorShadowXOffset" "integer"
Сдвиг вправо, в пикселях, от реального курсора; доступно только при включении опции CursorShadow. Диапазон значений [0, 32]. По умолчанию: 4.

Опция "CursorShadowYOffset" "integer"
Сдвиг вниз, в пикселях, от реального курсора; доступно только при включении опции CursorShadow. Диапазон значений [0, 32]. По умолчанию: 2.

Опция "ConnectedMonitor" "string"
Позволяет предотвратить определение модулем ядра NVIDIA подсоединенных к видеокарте компонентов. Это может пригодиться, например, при использовании KVM переключателя (клавиатура, видео, мышь), когда вы отключены, при запуске X. В этом случае модуль ядра NVIDIA не может определить, какие устройства отображения подсоединены, и NVIDIA X драйвер считает, что есть только один ЭЛТ.

Значения опции: "CRT" (ЭЛТ), "DFP" (цифровая панель) и "TV" (ТВ); в режиме TwinView значения отделяются запятой; например: "CRT, CRT" или "CRT, DFP".

ЗАМЕЧАНИЕ: все, что подключено через 15-контактный VGA разъем, рассматривается драйвером как CRT. "DFP" используется только в случае подключения панелей мониторов через DVI порт.

По умолчанию: строчка NULL.

Опция "UseEdidFreqs" "boolean"
Эта опция заставляет X сервер использовать диапазоны значений HorizSync и VertRefresh, заданные в EDID монитора. Диапазон значений EDID будет использоваться вместо HorizSync и VertRefresh, заданных в разделе Monitor. Если монитор не имеет EDID, или EDID не содержат значений hsync и vrefresh, X сервер будет использовать значения HorizSync и VertRefresh, указанные в разделе Monitor.

Опция "IgnoreEDID" "boolean"
Отключает проверку EDID вашего монитора. Запрошенные режимы сравниваются со значениями из EDID монитора (если они есть) во время подтверждения режима. Некоторые мониторы сообщают неправильные данные о своих возможностях. Игнорирование значений, предоставленных монитором, может помочь установить определенный режим. С другой стороны, это может быть опасно, если вы не знаете, что делаете. По умолчанию: использование EDID.

Опция "NoDDC" "boolean"
Синоним "IgnoreEDID"

Опция "FlatPanelProperties" "string"
Запрашивает определенные свойства любых подсоединенных цифровых панелей в виде списка пар свойств и значений через запятую. Сейчас доступны только два свойства: 'Scaling' и 'Dithering'. Значения 'Scaling': 'default' (драйвер будет использовать текущее масштабирование), 'native' (драйвер будет использовать счетчик цифровой панели, если он есть), 'scaled' (драйвер будет использовать счетчик NVIDIA, если возможно), 'centered' (драйвер отцентрирует изображение, если возможно), и 'aspect-scaled' (драйвер будет использовать счетчик NVIDIA, но сохранит правильный формат изображения). Значения 'Dithering': 'default' (драйвер решает, когда использовать сглаживание), 'enabled' (драйвер всегда будет использовать сглаживание, если это возможно) и 'disabled' (сглаживание не используется). Если какое-либо свойство не указано, будет использоваться значение 'default'. Строчка свойств может выглядеть таким образом:

"Scaling = centered, Dithering = enabled"

Option "UseInt10Module" "boolean"
Использование модуля X Int10 для мягкой перезагрузки всех вторичных карт вместо проведения POST для карт через модуль ядра NVIDIA. По умолчанию отключено (POST осуществляется через модуль ядра NVIDIA).

Опция "TwinView" "boolean"
Включает или отключает TwinView. Подробности смотрите в ПРИЛОЖЕНИИ I. По умолчанию TwinView выключен.

Опция "TwinViewOrientation" "string"
Управляет связью между двумя мониторами через режим TwinView. Значения: "RightOf" "LeftOf" "Above" "Below" "Clone". Подробности смотрите в ПРИЛОЖЕНИИ I. По умолчанию: строчка NULL.

Опция "SecondMonitorHorizSync" "range(s)"
Эта опция похожа на HorizSync в разделе Monitor, но используется для второго монитора в режиме TwinView. Подробности смотрите в ПРИЛОЖЕНИИ I. По умолчанию ничего не указано.

Опция "SecondMonitorVertRefresh" "range(s)"
Эта опция похожа на VertRefresh в разделе Monitor, но используется для второго монитора в режиме TwinView. Подробности смотрите в ПРИЛОЖЕНИИ I. По умолчанию ничего не указано.

Опция "MetaModes" "string"
Данная опция описывает комбинацию режимов для использования на каждом мониторе в режиме TwinView. Подробности смотрите в ПРИЛОЖЕНИИ I. По умолчанию строчка NULL.

Опция "NoTwinViewXineramaInfo" "boolean"
В режиме TwinView NVIDIA X драйвер обычно обеспечивает расширение Xinerama, которое клиенты X (такие как менеджеры окон) могут использовать для выявления текущей TwinView конфигурации. Некоторые менеджеры окон могут не понять данную информацию, поэтому данная опция отключает это. По умолчанию данные TwinView Xinerama сообщаются.

Опция "TVStandard" "string"
Смотрите ПРИЛОЖЕНИЕ J: КОНФИГУРИРОВАНИЕ ТВ ВЫХОДА.

Опция "TVOutFormat" "string"
Смотрите ПРИЛОЖЕНИЕ J: КОНФИГУРИРОВАНИЕ ТВ ВЫХОДА.

Опция "TVOverScan" "Decimal value in the range 0.0 to 1.0"
Значения находятся в диапазоне от 0.0 до 1.0; смотрите ПРИЛОЖЕНИЕ J: КОНФИГУРИРОВАНИЕ ТВ ВЫХОДА.

Опция "Stereo" "integer"
Включить поддержку четырех-буферных стерео изображений на Quadro. Целое число указывает на тип используемых стерео очков:

1 - DDC очки. Синхросигнал посылается на очки через DDC сигнал монитора. Обычно для этого требуется специальный кабель между монитором и видеокартой.

2 - "Blueline" очки. Обычно для них требуется специальный кабель для соединения монитора и видеокарты. Данные очки определяют, для какого глаза выводить изображения, на основе длины синей линии внизу экрана. В этом режиме размеры корневого окна на один пиксель меньше по оси Y, чем запрашивается. Данный режим не работает с размером виртуального корневого окна больше, чем размер видимого корневого окна (панорамирование рабочего стола).

3 - Встроенная стерео поддержка. Обычно поддерживается только профессиональными картами. Очки подсоединяются через DIN разъем сзади видеокарты.

4 - TwinView clone mode stereo (или "passive" stereo).
На видеокартах с поддержкой TwinView, левый глаз видит изображение на первом экране, правый - на втором. Обычно очки используются вместе со специальными проекторами для получения 2 поляризованных изображения, которые просматриваются через поляризационные очки. Для использования стерео режима вы должны сконфигурировать TwinView в режиме клонирования с тем же самым разрешением, сдвигом панорамирования и областями панорамирования для каждого дисплея.

Стерео режим доступен только для карт Quadro. Опции стерео 1, 2 и 3 (или "active" stereo) может использоваться с TwinView, если все режимы в рамках каждого метарежима имеют одинаковые тайминги. В ПРИЛОЖЕНИИ L: РЕЖИМЫ ПРОГРАММИРОВАНИЯ показано, как убедиться, что режимы в рамках ваших метарежимов одинаковы. Требование одинаковых параметров видеорежимов (modelines) не является необходимым для опции Stereo 4 ("passive" stereo). В настоящий момент стерео режим на картах Quadro (NV10) работает некорректно, и лево-правое переключение может работать неправильно. Мы пытаемся разрешить эту проблему для будущего выпуска. По умолчанию стерео режим не включен.

Опции стерео 1, 2 и 3 (или "active" stereo) не поддерживаются на цифровых панелях.

Опция "AllowDFPStereo" "boolean"
По умолчанию NVIDIA X драйвер выполняет проверку , которая отключает активное стерео (опции стерео 1, 2 и 3), если X экран является DFP. Опция "AllowDFPStereo" позволяет отключить эту проверку.

Опция "NoBandWidthTest" "boolean"
При проверке режима X драйвер смотрит, удовлетворяет ли данный режим аппаратным ограничениям по полосе пропускания памяти. Эта опция отключает данный тест. По умолчанию выполняется тест на полосу пропускания памяти.

Опция "IgnoreDisplayDevices" "string"
Данная опция позволяет модулю ядра NVIDIA игнорировать одинаковые классы мониторов при проверке подсоединенных мониторов. Вы можете указать мониторы через запятую ("CRT", "DFP"и "TV").

Например:

Опция "IgnoreDisplayDevices" "DFP, TV"

Позволяет драйверу NVIDIA избегать определение подключенных телевизоров и цифровых панелей.

Эта опция не является необходимой; однако некоторые видео BIOS содержат неправильную информацию о подключении мониторов или о том, какой i2c порт должен использоваться для определения. Эти ошибки могут вызвать большие задержки при запуске X. Если такие задержки есть, вы можете заставить драйвер NVIDIA проигнорировать те мониторы, которые не подключены.

ЗАМЕЧАНИЕ: все, что подключено к 15-контактному разъему VGA, рассматривается драйвером как CRT. "DFP" используется только для цифровых панелей, подключенных к DVI порту.

Опция "MultisampleCompatibility" "boolean"
Включает и отключает использование отдельных переднего и заднего буферов с данными мультисэмплинга. При этом потребляется больше памяти для правильного вывода в передний и задний буферы с результатами мультисэмплинга или FSAA. Эта опция необходима для корректной работы SoftImage XSI. По умолчанию: буфер с данными мультисэмплинга используется передним и задним буферами.

Опция "NoPowerConnectorCheck" "boolean"
NVIDIA X драйвер прервет инициализацию X сервера, если обнаружит, что к GPU, которому нужен разъем внешнего питания, не подключен таковой. Эту опцию можно использовать, чтобы предотвратить этот тест. По умолчанию тест на определение подключения внешнего питания выполняется.

Опция "XvmcUsesTextures" "boolean"
Заставляет XvMC использовать 3D движок для запросов XvMCPutSurface, нежели видео оверлей. По умолчанию видео оверлей используется всегда, когда возможно.

Опция "AllowGLXWithComposite" "boolean"
Включает GLX, даже если загружено расширение Composite X. ВКЛЮЧАЙТЕ ЭТУ ОПЦИЮ НА СВОЙ СТРАХ И РИСК. Приложения OpenGL не будут отображаться корректно во многих случаях при включении этой опции. По умолчанию GLX выключена в случае загрузки Composite.
____________________________________________________________________

ПРИЛОЖЕНИЕ E: УСТАНОВКИ ПЕРЕМЕННОЙ ОКРУЖЕНИЯ OPENGL
____________________________________________________________________

ПОЛНОЭКРАННОЕ СГЛАЖИВАНИЕ

Данная техника используется для сглаживания краев объектов сцены, чтобы уменьшить их ступенчатость. FSAA поддерживается GeForce и более новым аппаратным обеспечением. Установив соответствующую переменную окружения, вы можете включить FSAA в любом OpenGL приложении на этих графических процессорах.

Существует несколько методов сглаживания, которые можно установить с помощью переменной окружения __GL_FSAA_MODE. Заметьте, что увеличение числа выборок, осуществляемых во время FSAA рендеринга может повлиять на производительность.

Следующие таблицы описывают возможные значения __GL_FSAA_MODE и их влияние на графические процессоры NVIDIA.

__GL_FSAA_MODE GeForce, GeForce2, Quadro и Quadro2 Pro
-----------------------------------------------------------------------
0 FSAA откл.
1 FSAA откл.
2 FSAA откл.
3 1.5 x 1.5 Supersampling
4 2 x 2 Supersampling
5 FSAA откл.
6 FSAA откл.
7 FSAA откл.



__GL_FSAA_MODE GeForce4 MX, GeForce4 4xx Go, Quadro4 380,550,580 XGL и Quadro4 NVS
-----------------------------------------------------------------------
0 FSAA откл.
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA откл.
4 2 x 2 Supersampling
5 FSAA откл.
6 FSAA откл.
7 FSAA откл.


__GL_FSAA_MODE GeForce3, Quadro DCC, GeForce4 Ti, GeForce4 4200 Go и Quadro4 700,750,780,900,980 XGL
-----------------------------------------------------------------------
0 FSAA откл.
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA откл.
4 4x Bilinear Multisampling
5 4x Gaussian Multisampling
6 2x Bilinear Multisampling by 4x Supersampling
7 FSAA откл.


__GL_FSAA_MODE GeForce FX, Quadro FX
-----------------------------------------------------------------------
0 FSAA откл.
1 2x Bilinear Multisampling
2 2x Quincunx Multisampling
3 FSAA откл.
4 4x Bilinear Multisampling
5 4x Gaussian Multisampling
6 2x Bilinear Multisampling by 4x Supersampling
7 4x Bilinear Multisampling by 4x Supersampling
8 4x Bilinear Multisampling by 2x Supersampling (поддерживается на GeForce FX и более высоких версиях GPU; не поддерживается на Quadro GPU)


АНИЗОТРОПНАЯ ФИЛЬТРАЦИЯ

Автоматическую анизотропную фильтрацию можно включить, установив следующие значения для переменной окружения __GL_LOG_MAX_ANISO. Возможные значения:

0 Анизотропная фильтрация выкл.
1 2x анизотропная фильтрация
2 4x анизотропная фильтрация
3 8x анизотропная фильтрация
4 16x анизотропная фильтрация

4x и выше поддерживается только на GeForce3 и выше; 16x доступно только на GeForce 6800 и выше.


СИНХРОНИЗАЦИЯ VBLANK

В случае ненулевого значения переменной окружения __GL_SYNC_TO_VBLANK glXSwapBuffers синхронизируется с вертикальной частотой обновления монитора (выполнить переключение только во время гашения обратного хода кадровой развертки).

При использовании __GL_SYNC_TO_VBLANK с TwinView OpenGL может синхронизироваться только с одним из мониторов; это может вызвать волнообразное набегание кадров на мониторе, с которым OpenGL не синхронизирован. Вы можете использовать переменную окружения __GL_SYNC_DISPLAY_DEVICE, чтобы указать, с каким монитором синхронизировать OpenGL. Вам следует установить имя монитора для переменной окружения; например "CRT-1". Найдите строчку "Connected display device(s):" в X log файле - там перечислены присутствующие мониторы и их имена.


ОТКЛЮЧЕНИЕ СПЕЦИФИЧНЫХ ДЛЯ CPU ФУНКЦИЙ

Ненулевое значение переменной окружения __GL_FORCE_GENERIC_CPU предотвратит использование специфических для CPU функций, таких как MMX, SSE и 3DNOW!. Данная опция может вызвать падение производительности. Опция может быть полезна при использовании вместе с программным обеспечением, таким как программа отладки памяти Valgrind.

________________________________________________________________________

ПРИЛОЖЕНИЕ F: КОНФИГУРИРОВАНИЕ AGP
________________________________________________________________________

Есть несколько путей конфигурирования использования AGP модулем ядра NVIDIA: вы можете воспользоваться модулем AGP от NVIDIA (NVAGP) или AGP модулем, поставляющемся с ядром linux (AGPGART). Это контролируется с помощью опции "NvAGP" в X config файле:

Опция "NvAgp" "0" ... отключает поддержку AGP
Опция "NvAgp" "1" ... использует NVAGP, когда возможно
Опция "NvAgp" "2" ... использует AGPGART, когда возможно
Опция "NvAGP" "3" ... использует AGPGART; если это не сработает, то NVAGP

По умолчанию - 3 (до версии 1.0-1251 опцией по умолчанию была 1).

Следует использовать модуль AGP, который работает лучше всего с вашим AGP чипом. При возникновении проблем со стабильностью попробуйте отключить AGP. Затем вы можете попробовать другие AGP модули.

Вы можете проверить текущий статус AGP в любое время через интерфейс файловой системы /proc (смотрите ПРИЛОЖЕНИЕ O: PROC ИНТЕРФЕЙС).

Для использования Linux AGPGART модуля он должен быть скомпилирован с вашем ядром, либо статически связан, либо встроен как модуль. Поддержка
NVIDIA AGP не может использоваться, если AGPGART загружен в ядро. Рекомендуется скомпилировать AGPGART как модуль и убедиться, что он не загружается при попытке использования NVIDIA AGP.

Помните, что после изменения AGP драйверов необходимо перезагрузить систему, чтобы изменения вступили в силу.

Следующие AGP чипсеты поддерживаются NVIDIA AGP; для всех остальных чипсетов рекомендуется использовать AGPGART модуль.

o Intel 440LX
o Intel 440BX
o Intel 440GX
o Intel 815 ("Solano")
o Intel 820 ("Camino")
o Intel 830
o Intel 840 ("Carmel")
o Intel 845 ("Brookdale")
o Intel 845G
o Intel 850 ("Tehama")
o Intel 855 ("Odem")
o Intel 860 ("Colusa")
o Intel 865G ("Springdale")
o Intel 875P ("Canterwood")
o Intel E7205 ("Granite Bay")
o Intel E7505 ("Placer")
o AMD 751 ("Irongate")
o AMD 761 ("IGD4")
o AMD 762 ("IGD4 MP")
o AMD 8151 ("Lokar")
o VIA 8371
o VIA 82C694X
o VIA KT133
o VIA KT266
o VIA KT400
o VIA P4M266
o VIA P4M266A
o VIA P4X400
o VIA K8T800
o RCC CNB20LE
o RCC 6585HE
o Micron SAMDDR ("Samurai")
o Micron SCIDDR ("Scimitar")
o NVIDIA nForce
o NVIDIA nForce2
o NVIDIA nForce3
o ALi 1621
o ALi 1631
o ALi 1647
o ALi 1651
o ALi 1671
o SiS 630
o SiS 633
o SiS 635
o SiS 645
o SiS 646
o SiS 648
o SiS 648FX
o SiS 650
o SiS 655FX
o SiS 730
o SiS 733
o SiS 735
o SiS 745
o SiS 755
o ATI RS200M


Если у вас проблемы со стабильностью работы AGP, примите во внимание следующее:

o Поддержка расширения размера страницы на процессорах Athlon

Некоторые ядра linux имеют проблему конфликтов атрибутов кэша, которая проявляется при включении прогрессивного спекулятивного кэширования в новом семействе AMD Athlon (AMD Athlon XP, AMD Athlong 4, AMD Athlon MP, Models 6 и старшие модели AMD Duron). Эта проблема обычно проявляется при интенсивной работе ускоренной 3D графики с графической картой AGP.

В дистрибутивах Linux на базе ядер 2.4.19 и выше проблема должна быть решена. Но в более старых версиях пользователь должен убедиться, что отключена часть продвинутого спекулятивного кэширования (обычно это делается через патч к ядру) и указана опция загрузки, чтобы полностью устранить проблему.

Драйвер NVIDIA автоматически отключает часть продвинутого спекулятивного кэширования для "зараженных" процессоров AMD без необходимости устанавливать патч для ядра; это также выполняется и для ядер, в которых проблема уже решена. Помимо этого, для более старых версий ядра пользователь должен явно отключить 4МБ страницы. Это можно сделать из командной строки загрузки, указав:

mem=nopentium

Или добавив строчку в etc/lilo.conf:

append = "mem=nopentium"

o Установка BIOS AGP drive strength (материнские платы на базе Via)

Многие материнские платы на базе Via позволяют регулировать уровень сигнала AGP шины в системном BIOS. Установка этой опции сильно влияет на стабильность системы, диапазон значений 0xEA и 0xEE является лучшим для аппаратного обеспечения NVIDIA. При установке 0xF могут возникнуть проблемы со стабильностью.

Помните, что изменяя эту опцию, вы действуете на свой страх и риск, и что система может перестать загружаться в случае неправильных установок; в этом случае вам нужно установить корректное значение (с помощью PCI видеокарты или установив значения по умолчанию в BIOS).

o Версия BIOS

Убедитесь, что у вас установлена последняя версия BIOS от производителя платы.

o Частота AGP

В случае зависания системы при текущем значении скорости AGP ее можно изменить. Для этого разархивируйте.run файл:

sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/

Затем отредактируйте os-registry.c и внесите следующие изменения:

- static int NVreg_ReqAGPRate = 7;
+ static int NVreg_ReqAGPRate = 4; /* force AGP Rate to 4x */
или
+ static int NVreg_ReqAGPRate = 2; /* force AGP Rate to 2x */
или
+ static int NVreg_ReqAGPRate = 1; /* force AGP Rate to 1x */

и активируйте параметр "ReqAGPRate":

- { NULL, "ReqAGPRate", &NVreg_ReqAGPRate, 0 },
+ { NULL, "ReqAGPRate", &NVreg_ReqAGPRate, 1 },

Затем перекомпилируйте и загрузите новый модуль ядра.


На материнских платах с чипсетами VIA KX133 или 694X, таких как ASUS K7V, драйвер NVIDIA по умолчанию использует режим AGP 2x, чтобы предотвратить недостаточный уровень одного из сигналов. Вы можете установить AGP 4x, указав значение 1 для NVreg_EnableVia4x. Но это может привести к нестабильной работе системы.

На чипсетах ALi1541 и ALi1647 драйверы NVIDIA отключают AGP, чтобы устранить проблемы, связанные с таймингами и целостностью сигнала. Вы можете включить AGP, указав значение 1 для NVreg_EnableALiAGP. Но это может привести к нестабильной работе системы.

Ранние ревизии SBIOS для материнской платы ASUS A7V8X-X KT400 неправильно конфигурируют чипсет, когда установлена видеокарта AGP 2.x; если X зависает на ASUS KT400 с включенным Linux AGPGART или NvAGP и установленная видеокарта не является AGP 8x, убедитесь, что у вас установлена последняя версия SBIOS.


________________________________________________________________________

ПРИЛОЖЕНИЕ G: ПРОБЛЕМЫ С СИСТЕМАМИ ALI
________________________________________________________________________

Следующие советы могут помочь стабилизировать работу систем:

o Отключите режим TURBO AGP MODE в BIOS.

o При использовании P5A обновите ревизию BIOS 1002 BETA 2.

o При использовании 1007, 1007A или 1009 установите IO Recovery Time на 4 цикла.

o AGP отключен по умолчанию на некоторых чипсетах ALi (ALi1541, ALi1647), чтобы предотвратить проблемы нестабильности на этих чипсетах. Смотрите комментарии для NVreg_EnableALiAGP в os-registry.c для включения AGP.


________________________________________________________________________

ПРИЛОЖЕНИЕ H: ПРОБЛЕМЫ TNT
________________________________________________________________________

Большая часть проблем, относящихся к картам SGRAM/SDRAM TNT, должна быть разрешена. Однако маловероятно, что на карте установлен неправильный BIOS и что драйвер будет не срабатывать и дальше.

Если драйвер не работает, выполните следующие шаги:

o Во время загрузки системы самый первый экран укажет тип видеопамяти вашей карты - SGRAM или SDRAM.

o Отредактируйте файл "os-registry.c" из исходных файлов модуля ядра. Найдите переменную "NVreg_VideoMemoryTypeOverride". Установите тип используемой памяти для переменной (в цифрах, смотрите строчку выше).

o Так как данная переменная обычно не используется, измените значение "#if 0", которое находится 10 строчками выше переменной "#if 1".

o Перекомпонуйте и переустановите новый драйвер ("make")


________________________________________________________________________

ПРИЛОЖЕНИЕ I: КОНФИГУРИРОВАНИЕ TWINVIEW
________________________________________________________________________

TwinView поддерживается только теми процессорами NVIDIA, которые могут работать с двумя мониторами, т.е. GeForce2 MX, GeForce2 Go, Quadro2 MXR, Quadro2 Go и все GeForce4, Quadro4, GeForce FX и Quadro FX. Уточните у вашего поставщика карты, что TwinView поддерживается.

TwinView - это режим работы, в котором два монитора (цифровые панели, ЭЛТ и ТВ) отображают содержимое одного X экрана в произвольной конфигурации. Данный метод использования нескольких мониторов имеет весомые преимущества перед другими технологиями (например, Xinerama):

o Используется один X экран. Драйвер NVIDIA скрывает информацию о использовании нескольких мониторов от X сервера; для X существует только один экран.

o Оба монитора используют один буфер кадров. Все функции, поддерживаемые одним монитором (например, ускоренный OpenGL), поддерживаются и в режиме TwinView.

o Нет дополнительных издержек при эмулировании одного рабочего стола.

Если вы хотите использовать каждый монитор как отдельный X экран, смотрите ПРИЛОЖЕНИЕ R: КОНФИГУРИРОВАНИЕ НЕСКОЛЬКИХ X ЭКРАНОВ НА ОДНОЙ КАРТЕ.


ОПЦИИ X CONFIG TWINVIEW

Для включения TwinView необходимо указать следующие опции в разделе Device файла X Config:

Опция "TwinView"
Опция "MetaModes" "<список метарежимов >"

Вы также должны указать либо:

Опцию "SecondMonitorHorizSync" "<диапазон(ы) hsync>"
Опцию "SecondMonitorVertRefresh" "< диапазон(ы) vrefresh>"

либо:

Опцию "HorizSync" "< диапазон(ы) hsync>"
Опцию "VertRefresh" "< диапазон(ы) vrefresh>"

Также можно использовать следующие опции, хотя это необязательно:

Опция "TwinViewOrientation" "<отношение head 1 к head 0>"
Опция "ConnectedMonitor" "<список подключенных мониторов >"

Подробные описания каждой опции смотрите ниже:

o TwinView
Эта опция необходима для включения TwinView; без нее все остальные опции, связанные с TwinView, не включаются.

o SecondMonitorHorizSync, SecondMonitorVertRefresh
С помощью данной опции можно указать ограничения для второго монитора. Установленные значения должны использовать те же условные обозначения, что используются для "HorizSync" и "VertRefresh" в разделе Monitor. Как описано в руководстве по XF86Config: диапазоны состоят из значений и/или диапазонов значений, указанных через запятую, где диапазон указывается через два значения, отделенных тире. HorizSync указывается в кГц, а VertRefresh в Гц. Если вы доверяете данных EDID ваших мониторов, вы можете использовать опцию "UseEdidFreqs" вместо данных опций (описание опции "UseEdidFreqs" смотрите в ПРИЛОЖЕНИИ D).

o HorizSync, VertRefresh
Часто неясно, какой монитор является первым и какой вторым. Поэтому вы можете использовать данные опции вместо SecondMonitor. В этом случае вы можете указать список диапазонов частот, отделенных через двоеточие, каждое из которых соотносится с именем монитора. Например:

Option "HorizSync" "CRT-0: 50-110, DFP-0: 40-70"
Option "VertRefresh" "CRT-0: 60-120, DFP-0: 60"

Подробности смотрите в приложении по именам мониторов.

o MetaModes
Один метарежим описывает, какой режим должен использоваться на каждом мониторе в данное время. Метарежимы указывают комбинации режимов и последовательность их использования. При обращении драйвера NVIDIA к X с сообщением о доступных режимах к X обращается минимальное ограничивающее окно, а как режим "per display device" остается внутренним для драйвера NVIDIA. В синтаксисе MetaMode режимы в пределах метарежима указываются через запятую, а несколько метарежимов отделяются точкой с запятой. Например:

", ; , "

Где - это режим, используемый на мониторе 0 одновременно с , установленным для монитора 1. Переключение режимов установит для монитора 0 и для монитора 1. Вот реальный пример метарежима файла X config:

Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768"

Если вы хотите отключить монитор для определенного метарежима, укажите "NULL" или вообще ничего не указывайте:

"1600x1200, NULL; NULL, 1024x768"

или

"1600x1200; , 1024x768"

После режимов также можно указать сдвиг с целью установления позиции мониторов в пределах виртуального пространства экрана; например:

"1600x1200 +0+0, 1024x768 +1600+0; ..."

Для сдвига используются условные обозначения, принятые для опции командной строки X "-geometry"; т.е. поддерживаются положительные и отрицательные значения, но отрицательные значение можно использовать, когда размер виртуального экрана явно задан в X config файле.

Если для метарежима не указаны никакие сдвиги, то они будут рассчитаны на основе данных опции TwinViewOrientation (см. ниже). Если сдвиги указываются для любого режима в одиночном метарежиме, они ожидаются для всех режимов в пределах одного метарежима; в этом случае, если сдвиг не указан, он принимает значение +0+0.

Если размер виртуального экрана не задан явно, он будет рассчитан как ограничивающий прямоугольник всех таковых прямоугольников метарежима. Метарежимы с ограничивающими прямоугольниками большего размера, чем явно заданный размер виртуального экрана, будут исключены.

Строчку метарежима можно изменить, указав "Panning Domain" (область панорамирования); например:

"1024x768 @1600x1200, 800x600 @1600x1200"

Область панорамирования - это область, в которой окно отображения (вьюпорт) монитора следует движениям мыши. Панорамирование выполняется на двух уровнях для TwinView: на первом уровне вьюпорт отдельного монитора отображается в пределах своей области панорамирования, пока он будет находится в пределах ограничивающего окна метарежима. Как только курсор покинет это окно, весь метарежим (т.е. все мониторы) будут следовать движениям курсора в пределах виртуального экрана. Области панорамирования отдельных мониторов по умолчанию прикреплены к позиции вьюпортов мониторов, и по умолчанию вьюпорты связаны вместе и выполняют только второй тип панорамирования.

Наибольшая польза областей панорамирования в том, что они позволяют устранить мертвые зоны - области виртуального экрана, которые недоступны из-за разных разрешений мониторов. Например:

"1600x1200, 1024x768"
в этом случае область за пределами 1024x768 будет недоступна. При указании области панорамирования для второго монитора:

"1600x1200, 1024x768 @1024x1200"

вы получаете доступ к мертвой зоне, перемещая вьюпорт 1024x768 вверх и вниз в области панорамирования 1024x1200.

Смещения могут указываться вместе с областями панорамирования для обозначения позиции этих областей в виртуальном пространстве экрана (замечание: смещение описывает область панорамирования и влияет на вьюпорт только в том смысле, что вьюпорт должен находится в пределах области панорамирования). Следующий пример описывает два режима, где каждый имеет область панорамирования шириной 1900 пикселей, и где второй монитор расположен под первым:

"1600x1200 @1900x1200 +0+0, 1024x768 @1900x768 +0+1200"

Так как неясно, какой режим в метарежиме используется для какого монитора, к описаниям режимов могут добавляться имена мониторов. Например:

"CRT-0: 1600x1200, DFP-0: 1024x768"

Если никакие строчки метарежима не указаны, X драйвер использует режимы, указанные в соответствующем подразделе "Display", пытаясь разместить подходящие режимы на мониторах.

o TwinViewOrientation
Эта опция устанавливает положение второго монитора относительно первого на виртуальном экране X, когда смещения не заданы явно в метарежимах. Возможные значения:

"RightOf" (по умолчанию)
"LeftOf"
"Above"
"Below"
"Clone"

В режиме "Clone" оба монитора имеют смещения 0,0.

Так как неясно, какой монитор является первым, какой вторым, с опцией TwinViewOrientation можно указать названия мониторов, чтобы определить положение мониторов относительно друг друга. Например:

"CRT-0 LeftOf DFP-0"

o ConnectedMonitor
С помощью этой опции вы можете сами установить, какие мониторы подключены, вместо выполнения этой процедуры модулем ядра NVIDIA. Это может пригодиться, если мониторы не поддерживают DDC протоколы (протоколы канала отображения данных). В этом случае вы указываете имена мониторов через запятую, например:

"CRT-0, CRT-1"
"CRT"
"CRT-1, DFP-0"

ПРЕДУПРЕЖДЕНИЕ: данная опция позволяет отменить определение подключенных мониторов модулем ядра NVIDIA, и в ней возникает необходимость очень редко, т.е. если монитор не определяется из-за того, что не указаны DDC данные или KVM переключатель находится в другом положении (Keyboard-Video-Mouse). В большинстве случаев эту опцию лучше не использовать. WARNING: this option overrides what display devices are detected by the NVIDIA kernel module.

Как и в X config, пробелы игнорируются и все вводимые данные не зависят от регистра.


ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ ПО TWINVIEW:


В: На втором мониторе отсутствует изображение; в чем проблема?

О: Мониторы, которые не поддерживают определение через DDC протоколы (а сюда относятся многие старые мониторы), не могут определиться картой NVIDIA. Вам нужно явно задать NVIDIA X драйверу, какие мониторы подключены, используя опцию "ConnectedMonitor"; например:

Option "ConnectedMonitor" "CRT, CRT"


В: Могут ли менеджеры окон правильно размещать окна (т.е. не размещать их сразу на обоих мониторах и в недоступных областях виртуального экрана)?

О: Да. Драйвер NVIDIA X имеет расширение Xinerama, которое может использоваться клиентами X (такими как менеджеры окон) для определения текущей конфигурации TwinView. Помните, что протокол Xinerama не информирует клиентов об изменениях конфигурации. Если изменяется режим MetaMode, ваш менеджер окон будет думать, что конфигурация прежняя. С помощью расширения Xinerama, вместе с расширением XF86VidMode для определения переключения режимов, менеджеры окон должны определять конфигурацию TwinView в любое время.


К сожалению, данные XineramaQueryScreens() могут неправильно восприниматься менеджерами окон; в этом случае Вы можете отключить связь между расположением экранов TwinView и опцией "NoTwinViewXineramaInfo" X config (см. Приложение D).

Драйвер NVIDIA не может предоставить расширение Xinerama, если расширение Xinerama X сервера уже используется. Явное задание Xinerama в файле X Config или в командной строке X сервера не даст установить расширение Xinerama NVIDIA, поэтому убедитесь, что log файл X сервера не выдает следующий результат:

(++) Xinerama: enabled

если Вы хотите, чтобы драйвер NVIDIA смог обеспечить расширение Xinerama в режиме TwinView.

Другим решением является использование областей панорамирования для предотвращения недоступных областей виртуального экрана (см. описание MetaMode выше).

Третий выход - это использование двух отдельных экранов X вместо TwinView. См. ПРИЛОЖЕНИЕ R: КОНФИГУРИРОВАНИЕ НЕСКОЛЬКИХ ЭКРАНОВ X НА ОДНОЙ КАРТЕ.



В: Почему нельзя установить разрешение 1600x1200 на втором мониторе при использовании карты GeForce2 MX?

О: Потому что вторым устройством отображения для GeForce2 MX установлена цифровая плоская панель, и частота точек для второго монитора составляет всего 150 МГц. Это ограничивает разрешение на втором мониторе примерно до 1280x1024 (как частоты точек ограничивают программируемые режимы, см. XFree86 Video Timings HOWTO). Это ограничение не отражено на чипах GeForce4 или GeForce FX - максимальная частота одинакова на обоих мониторах.


В: Могут ли видео оверлеи работать на обоих мониторах сразу?

О: Аппаратные видео оверлеи работают только на первом мониторе. Единственное решение на данный момент это использование пересылаемого видео в TwinView.


В: Как устанавливаются размеры виртуальных экранов в TwinView?

О: После получения подтверждения всех запрашиваемых режимов и вычисления смещений для вьюпортов метарежима драйвер NVIDIA вычисляет ограничивающее окно областей панорамирования для каждого метарежима. Затем определяется максимальная ширина и высота окна.

Заметьте, что возможен побочный эффект: виртуальная ширина и виртуальная высота могут использоваться из разных метарежимов. Учитывая следующую строчку MetaMode:

"1600x1200,NULL; 1024x768+0+0, 1024x768+0+768"

размер виртуального окна будет 1600 x 1536.


В: Можно играть в полноэкранные игры на обоих дисплеях сразу?

О: Да. Хотя конфигурация может слегка отличаться в зависимости от игры, идея заключается в том, что MetaMode представляет X с режимом, разрешение которого совпадает с окном вьюпортов для этого MetaMode. Например:

Option "MetaModes" "1024x768,1024x768; 800x600,800x600"
Option "TwinViewOrientation" "RightOf"

обеспечивают два режима: один с разрешением 2048x768, другой с 1600x600. Такие игры как Quake 3 Arena используют расширение VidMode для обнаружения разрешений доступных режимов. Чтобы Quake 3 Arena смогла воспользоваться вышеприведенной строкой MetaMode, добавьте следующие строчки в файл q3config.cfg:

seta r_customaspect "1"
seta r_customheight "600"
seta r_customwidth "1600"
seta r_fullscreen "1"
seta r_mode "-1"

Учитывая вышеописанную конфигурацию, режима с разрешением 800x600 нет (режим MetaMode "800x600, 800x600" имеет разрешение 1600x600"), поэтому если Вы поменяете разрешение для Quake 3 Arena на 800x600, изображение появится в левом нижнем углу экрана, а остальная часть экрана станет серым. Для того чтобы обеспечить работу режимов одного монитора, соответствующая строка MetaMode должна выглядеть следующим образом:

"800x600,800x600; 1024x768,NULL; 800x600,NULL; 640x480,NULL"

Более подробная информация о конфигурации для определенных игр выходит за рамки данного материала, но вышеприведенных примеров, а также многочисленных источников в сети должно быть достаточно, чтобы Вы сами нашли необходимую информацию.

________________________________________________________________________

ПРИЛОЖЕНИЕ J: КОНФИГУРИРОВАНИЕ ТВ-ВЫХОДА
________________________________________________________________________

Видеокарты на базе процессоров NVIDIA с ТВ-выходом (S-Video) могут использовать телевизор в качестве дисплея, так же как ЭЛТ монитор или цифровую панель. Телевизор можно подключать один или (на соответствующих видеокартах) вместе с другим дисплеем в TwinView конфигурации.

Если телевизор является единственным подключенным к видеокарте устройством отображения, он будет использоваться как первичный дисплей при загрузке Вашей системы (изображение появится на экране ТВ, как будто это ЭЛТ монитор). Для использования ТВ с X существует несколько параметров, на которые Вы должны обратить внимание в файле X Config:


o Значения VertRefresh и HorizSync в разделе Monitor; убедитесь, что они подходят для Вашего телевизора. Обычно они равны:

HorizSync 30-50
VertRefresh 60

o Режимы в разделе Screen; правильные режимы для вашего ТВ кодера будут отмечены в X log файле (генерируется с помощью `startx -- -logverbose 5`) во время работы X на ТВ. Некоторые режимы могут быть ограничены определенными ТВ стандартами; в этом случае, это будет отмечено в X log файле. Обычно по крайней мере поддерживаются разрешения 800x600 и 640x480.

o Опция "TVStandard" должна быть добавлена в раздел Screen; здесь могут быть следующие значения:


"PAL-B": используется в Бельгии, Дании, Финляндии, Германии, Гвинее, Гонконге, Индии, Индонезии, Италии, Малайзии, Нидерландах, Норвегии, Португалии, Сингапуре, Испании, Швеции и Швейцарии
"PAL-D": используется в Китае и Северной Корее
"PAL-G": используется в Дании, Финляндии, германии, Италии, Малайзии, Нидерландах, Испании, Швеции и Швейцарии
"PAL-H": используется в Бельгии
"PAL-I": используется в Гонконге и Соединенном Королевстве
"PAL-K1": используется в Гвинее
"PAL-M": используется в Бразилии
"PAL-N": используется во Франции, Парагвае и Уругвае
"PAL-NC": используется в Аргентине
"NTSC-J": используется в Японии
"NTSC-M": используется в Канаде, Чили, Колумбии, Коста-Рика, Эквадоре, Гаити, Гондурасе, Мексике, Панаме, Пуэрто-Рико, Южной Корее, Тайване, США и Венесуеле

"HD480i" : 480 чересстрочная развертка
"HD480p" : 480 прогрессивная развертка
"HD720p" : 720 прогрессивная развертка
"HD1080i": 1080 чересстрочная развертка
"HD1080p": 1080 прогрессивная развертка
"HD576i" : 576 чересстрочная развертка
"HD576p" : 576 прогрессивная развертка

Строка в X Config файле должна быть примерно такой:

Option "TVStandard" "NTSC-M"

Если Вы не укажете ТВ стандарт или укажите неверное значение, по умолчанию будет использоваться "NTSC-M". Если Ваша страна не перечислена выше, выберите страну, ближайшую к Вашему местонахождению.

o С помощью опции "ConnectedMonitor" можно указать X использовать ТВ для вывода изображения. Это нужно в случае, если ваша видеокарта не находит ТВ или если в качестве экрана загрузки используется ЭЛТ монитор (или цифровая панель) и Вы хотите перенаправить X на экран ТВ. Должна быть следующая строчка в файле config:

Option "ConnectedMonitor" "TV"

o Опция "TVOutFormat" может использоваться для активизации выхода SVIDEO или COMPOSITE. Иначе драйвер автоматически определяет формат вывода изображения. К сожалению, он не всегда делает это правильно. Формат вывода можно установить с помощью следующих опций:

Option "TVOutFormat" "SVIDEO"

или

Option "TVOutFormat" "COMPOSITE"

o Опция "TVOverScan" может использоваться для активизации Overscan, если эта функция поддерживается. Значения должны быть десятичными в диапазоне от 1.0 (максимальное значение overscan: максимальный размер изображения) до 0.0 (отключение overscan: минимальный размер изображения). По умолчанию функция Overscan отключена (0.0).

В данный момент функция Overscan поддерживается процессорами GeForce4 и более поздними моделями с NVIDIA или Conexant ТВ кодеками.

Драйвер NVIDIA X может выдать неправильное изображение с версиями XFree86 старше, чем 4.3 при использовании ТВ в качестве монитора из-за бинарной несовместимости между модулями XFree86 int10. Если Вы используете ТВ в качестве консоли, рекомендуется обновить версию XFree86 до 4.3 и выше.

________________________________________________________________________

ПРИЛОЖЕНИЕ K: КОНФИГУРИРОВАНИЕ НОУТБУКА
________________________________________________________________________

УСТАНОВКА И КОНФИГУРАЦИЯ

Установка и конфигурация драйверов NVIDIA для Linux на ноутбуке незначительно отличается от установки на настольную систему. Все отличия перечислены ниже.

Начиная с выпуска 1.0-2802, информация о встроенном плоскопанельном мониторе для инициализации дисплея по умолчанию генерируется на лету из данных, хранимых в видео BIOS. Эту функцию можно отключить, установив значение 0 для опции ядра "SoftEDIDs". Если "SoftEDIDs" отключена, жестко закодированные данные будут выбираться из таблицы в соответствии с опцией ядра "Mobile".

Опция ядра "Mobile" может принимать следующие значения:


0xFFFFFFFF : авто определение правильного значения модулем ядра
1 : Ноутбуки Dell
2 : Ноутбуки Toshiba, поставляемые не Compal
3 : все остальные ноутбуки
4 : Ноутбуки Toshiba от Compal
5 : ноутбуки Gateway

Опция ядра "Mobile" нужна, только если SoftEDIDs отключено; в противном случае лучше использовать авто определение правильного значения модулем ядра (так делается по умолчанию).

Если нужно изменить какую-либо из этих опций, сделайте следующее:

o отредактируйте os-registry.c в директории usr/src/nv/ файла .run.

o установите значение в командной строчке modprobe (например, `modprobe
nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=3`)

o добавьте строчку "options" к конфигурационному файлу модуля, обычно это /etc/modules.conf (например: "options nvidia NVreg_Mobile=5")


ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ

TWINVIEW

Все мобильные чипы NVIDIA поддерживают режим TwinView. TwinView на ноутбуке может быть сконфигурирован также, как и на настольной системе (см. ПРИЛОЖЕНИЕ I); при конфигурировании TwinView с использованием встроенного плоскопанельного дисплея ноутбука и внешнего ЭЛТ монитора последний является первичным устройством вывода (укажите HorizSync и VertRefresh в разделе Monitor файла XF86Config), а плоская панель является вторичным устройством вывода (укажите HorizSync и VertRefresh через опции SecondMonitorHorizSync и SecondMonitorVertRefresh).
Вы также можете использовать UseEdidFreqs для получения HorizSync и VertRefresh из EDID каждого дисплея и не заботиться об их установке в X Config файле (это можно сделать, только если Вы доверяете EDID, полученным с Вашего устройства отображения - смотрите описание опции UseEdidFreqs в ПРИЛОЖЕНИИ D).


ГОРЯЧЕЕ ПЕРЕКЛЮЧЕНИЕ МОНИТОРОВ

Помимо поддержки режима TwinView, мобильные чипы NVIDIA также могут реагировать на горячее переключение LCD/CRT, переключаясь между подсоединенными мониторами (помните, что только 2 монитора могут быть активными одновременно). Конфигурация TwinView, указанная в X Config файле, и поддержка переключения по горячим клавишам взаимно исключают друг друга - если Вы активизируете TwinView в X Config файле, драйвер NVIDIA X проигнорирует события горячего переключения LCD/CRT.

Другим важным аспектом поддержки переключения по горячим клавишам является то, что можно динамически присоединять и отсоединять мониторы к/от ноутбуку и переключать их по горячей клавише без перезапуска X.

Проблема заключается в том, как определить, какие режимы лучше запрограммировать на каждом мониторе. Во-первых, очень важно использовать UseEdidFreqs для получения значений hsync и vrefresh для каждого монитора из EDID мониторов - в противном случае семантика содержания раздела Monitor будет постоянно меняться при каждом горячем переключении.

При запуске X или при обнаружении изменения в списке подсоединенных мониторов формируется новый список "hotkey" последовательности, который определяет, какие устройства отображения будут связаны с каждым "hotkey" событием. Когда происходит hotkey событие, выбирается следующее hotkey состояние в последовательности. Каждый режим, запрашиваемый в X Config файле, проверяется на ограничения каждого устройства, и получившиеся режимы становятся доступными для данного монитора. Если нужно чтобы несколько мониторов были активными одновременно, режимы каждого монитора образуют пары; если нельзя найти точно такое же разрешение, устанавливается ближайшее, и монитор с меньшим разрешением панорамируется в пределах разрешения другого монитора.

При переключении виртуальных терминалов вне X, vga консоль всегда будет восстанавливаться на мониторе, на котором она находилась при запуске X. Аналогично, при переключении виртуальных терминалов в X, будет использоваться та же самая конфигурация мониторов, которая использовалась при переключении виртуальных терминалов вне X, независимо от того, какое
LCD/CRT hotkey событие произошло при переключении терминалов.


НЕСТАНДАРТНЫЕ РЕЖИМЫ НА LCD ДИСПЛЕЯХ

Некоторые пользователи испытывают трудности при задании режима 1400x1050 (родное разрешение некоторых ЖК панелей ноутбуков). В версии 4.0.3 XFree86 добавил несколько 1400x1050 режимов в свою базу стандартных режимов, но если у Вас стоит более старшая версия XFree86, Вы можете использовать данный видеорежим:

# -- 1400x1050 --
# 1400x1050 @ 60Hz, 65.8 kHz hsync
Modeline "1400x1050" 129 1400 1464 1656 1960
1050 1051 1054 1100 +HSync +VSync


ПРОБЛЕМЫ ПРИ РАБОТЕ НА НОУТБУКАХ

o горячее переключение LCD/CRT не работает на ноутбуках Toshiba, за исключением серии Toshiba Satellite 3000.
o TwinView не поддерживается на ноутбуках Toshbia серии Satellite 2800.
o Видео оверлей работает только на первом мониторе, на котором Вы запустили X. Например, если вы запустили X на встроенном LCD мониторе, запустили видео приложение, которое использует видео оверлей (адаптер "Video Overlay", полученный через расширение XV), и затем совершаете горячее переключение на второй монитор, на последнем не появится никакого изображения. Во избежание этого вы можете сконфигурировать видео приложение для использования адаптера "Video Blitter", полученного через расширение XV (это всегда возможно), или использовать переключение с помощью горячих клавиш на второй монитор, на котором вы хотите получить видео оверлей, перед запуском X.

________________________________________________________________________

ПРИЛОЖЕНИЕ L: РЕЖИМЫ ПРОГРАММИРОВАНИЯ
________________________________________________________________________

Набор драйверов NVIDIA для Linux поддерживает все стандартные VGA и VESA режимы, а также большинство заданных пользователем видеорежимов; режимы двойного сканирования поддерживаются всем аппаратным обеспечением. Режимы чересстрочной развертки поддерживаются на всех процессорах GeForce FX/Quadro FX и более новых моделях, а также на некоторых старых процессорах; в случае поддержки данных режимов в X log файле будет следующая строчка: "Interlaced video modes are supported on this GPU".

В общем случае, Ваше устройство вывода (монитор/плоская панель/телевизор) будет бoльшим препятствием при выборе доступных режимов, нежели видеокарта на базе процессора NVIDIA или набор драйверов NVIDIA для Linux.

Для запроса одного или более стандартного режима для использования с X, вы можете просто добавить строку "Modes", например:

Modes "1600x1200" "1024x768" "640x480"

в соответствующем разделе Display X Config файла (см. страницы руководства XF86Config(5x) или xorg.conf(5x) для более подробной информации). Следующая документация может представлять интерес, если Вы компонуете свои строки режимов, экспериментируйте с xvidtune(1) или просто хотите узнать больше. Помните, что это не является ни объяснением, ни руководством по искусной компоновке пользовательских видеорежимов для XFree86. Для этого вам следует обратиться к документации XFree86 Video Timings HOWTO, доступной по адресу www.tldp.org).


ГЛУБИНА, КОЛИЧЕСТВО БИТ НА ПИКСЕЛЬ И ПОДСТРОЙКА

Количество бит на пиксель не является важной задачей при задании режимов, но важно при выборе максимального программируемого разрешения; поэтому важно различать понятия "глубина" и "бит на пиксель". Глубина это количество бит данных, содержащихся в одном пикселе. Поддерживаются глубины 8, 15, 16 и 24 бит. Большое количество графического аппаратного обеспечения хранит данные элемента изображения в 8, 16 и 32 битах; это количество памяти, выделенной на пиксель. Когда вы указываете глубину, X выбирает количество бит на пиксель (bpp) для хранения данных. Ниже вы можете увидеть, какой bpp используется для какой глубины:


depth bpp
=== ===
8 8
15 16
16 16
24 32

Наконец, подстройка - это определяет количество байт в линейном буфере кадров между данными одного пикселя и данными пикселя, находящегося ниже. Это можно представить как горизонтальное разрешение, умноженное на количество байт на пиксель (бит на пиксель, деленных на 8). На практике, такая тональность может быть больше этого произведения из-за ограничений при совмещении.


МАКСИМАЛЬНЫЕ РАЗРЕШЕНИЯ

Набор драйверов NVIDIA для Linux и видеокарты на базе процессоров NVIDIA поддерживают разрешения до 2048x1536, хотя максимальное разрешение, которое может поддерживать ваша система, также ограничено объемом видеопамяти (см. ПОЛЕЗНЫЕ ФОРМУЛЫ для получения более подробной информации) и максимальным поддерживаемым разрешением вашего устройства отображения (монитор/плоская панель/телевизор). Также помните, что хотя использование видео оверлея не ограничивает максимальное разрешение или частоту обновления, полоса пропускания видео памяти, используемая заданным режимом, влияет на качество оверлея.


ПОЛЕЗНЫЕ ФОРМУЛЫ

Максимальное разрешение является функцией объема видеопамяти и количества бит на пиксель:

HR * VR * (bpp/8) = Video Memory Used

Другими словами, используемый объем видеопамяти равен произведению горизонтального разрешения (HR) и вертикального разрешения (VR) и количества байт на пиксель (бит на пиксель, деленное на восемь). Практически, используемая видеопамять является произведением подстройки на вертикальное разрешение, и подстройка может быть чуть больше (HR * (bpp/8)) для удовлетворения аппаратных требований в том, что подстройка является кратным некоторому значению.

Это определяет только объем памяти для буфера кадра; видеопамять также используется для других нужд, например, для OpenGL или pixmap кэширования.

Другое важное отношение связывает разрешение, частоту точек и вертикальную частоту обновления:

RR = PCLK / (HFL * VFL)

Другими словами, частота обновления (RR) равна частоте точек (PCLK), поделенной на общее число пикселей: произведение горизонтальной длины кадра (HFL) и вертикальной длины кадра (VFL) (это длины кадра, а не просто видимые разрешения). Согласно XFree86 Video Timings HOWTO, эту формулу можно переписать следующим образом:

PCLK = RR * HFL * VFL

Учитывая максимальную частоту точек, можно изменить PCLK, HFL и VFL по вашему усмотрению, пока их произведение имеет смысл. Частота точек заносится в лог файл при запуске X с расширенной регистрацией:
`startx -- -logverbose 5`. X log файл должен содержать несколько строк, таких как:

(--) NVIDIA(0): Display Device 0: maximum pixel clock at 8 bpp: 350 MHz
(--) NVIDIA(0): Display Device 0: maximum pixel clock at 16 bpp: 350 MHz
(--) NVIDIA(0): Display Device 0: maximum pixel clock at 32 bpp: 300 MHz

которые указывают максимальную частоту точек для каждого числа бит на пиксель.


КАК ПРОИСХОДИТ ПОДТВЕРЖДЕНИЕ РЕЖИМОВ

Во время фазы PreInit сервера X драйвер NVIDIA подтверждает все запрашиваемые режимы следующим образом:

o Возьмите одну из пар HorizSync и VertRefresh, заданных пользователем в X Config файле, в пределах, указанных монитором в EDID (Extended Display Identification Data); это можно отменить с помощью опции "IgnoreEDID", при этом драйвер X примет значения HorizSync и VertRefresh, заданные пользователем.

o Вызовите помощника xf86ValidateModes(). Он найдет режимы по именам, заданным пользователем в X Config файле, игнорируя режимы с индивидуальной частотой строчной синхронизации или вертикальной частотой обновления, частоту точек, превышающую максимальную для видеокарты, и разрешениями, большими, чем виртуальный размер экрана (если он был указан в X Config файле). Есть еще несколько ограничений, см. xc/programs/Xserver/hw/xfree86/common/xf86Mode.c:xf86ValidateModes().

o Все режимы с xf86ValidateModes() проверяются, чтобы их разрешения не превышали максимальный режим, указанный в EDID монитора (это можно отменить с помощью опции "IgnoreEDID". Если в качестве монитора выбран телевизор, каждый режим проверяется на поддержку ТВ кодеком (обычно кодек поддерживает 800x600 и 640x480).

o Также проверяется, чтобы режимы не превышали возможностей пропускной полосы памяти. Проверку можно отменить с помощью опции NoBandWidthTest файла X Config.

o Все оставшиеся режимы проверяются на соответствие ограничениям, описанным в разделе ДОПОЛНИТЕЛЬНЫЕ ОГРАНИЧЕНИЯ РЕЖИМОВ.

Последние три шага выполняются при программировании каждого режима, чтобы выявить потенциально неправильные режимы из предложенных XF86VidModeExtension (eg xvidtune(1)). Для TwinView данная проверка выполняется для режимов, запрашиваемых для каждого устройства отображения.


ДОПОЛНИТЕЛЬНЫЕ ОГРАНИЧЕНИЯ РЕЖИМОВ

Ниже приведен список дополнительных ограничений на параметры режима, которые должны быть приняты во внимание. В некоторых случаях существуют специфические ограничения для определенных чипов.

o Горизонтальное разрешение (HR) должно быть кратно 8 и меньше или равно значению, приведенному в нижеследующей таблице.
o Ширина горизонтального бланкирования (максимум горизонтального размера буфера и конца строчной синхронизации минус минимум горизонтального разрешения и начала строчной синхронизации (max(HFL,HSE) - min(HR,HSS)) должна быть кратно 8 и меньше или равно значению, приведенному в нижеследующей таблице.
o Начало строчной синхронизации (HSS) должно быть кратно 8 и меньше или равно значению, приведенному в нижеследующей таблице.
o Ширина строчной синхронизации (конец строчной синхронизации минус начало строчной синхронизации (HSE - HSS)) должна быть кратно 8 и меньше или равно значению, приведенному в нижеследующей таблице.
o Горизонтальная длина буфера (HFL) должна быть кратно 8, равна или больше 40 и меньше или равна значению, приведенному в нижеследующей таблице.
o Вертикальное разрешение (VR) должно быть меньше или равно значению, приведенному в нижеследующей таблице.
o Ширина вертикального бланкирования (максимум вертикальной длины буфера и конца кадровой синхронизации минус минимум вертикального разрешения и начала кадровой синхронизации (max(VFL,VSE) - min(VR,VSS)) должна быть меньше или равно значению, приведенному в нижеследующей таблице.
o Начало кадровой синхронизации (VSS) должно быть меньше или равно значению, приведенному в нижеследующей таблице.
o Ширина кадровой синхронизации (конец кадровой синхронизации минус начало кадровой синхронизации (VSE - VSS)) должна быть меньше или равно значению, приведенному в нижеследующей таблице.
o Вертикальная длина буфера (VFL) должно быть больше или равно 2 и меньше или равно значению, приведенному в нижеследующей таблице.

Максимальные значения ЦАП

GeForce/TNT Geforce2 & 3 Geforce4 и более поздние модели
HR 4096 4096 8192
HBW 1016 1016 2040
HSS 4088 4088 8224
HSW 256 256 512
HFL 4128 4128 8224
VR 2048 4096 8192
VBW 128 128 256
VSS 2047 4095 8192
VSW 16 16 16
VFL 2049 4097 8192


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

# Custom Mode line for the SGI 1600SW Flatpanel
# name PCLK HR HSS HSE HFL VR VSS VSE VFL

Modeline "sgi1600x1024" 106.9 1600 1632 1656 1672 1024 1027 1030 1067


УСТАНОВКА ОДИНАКОВЫХ ТАЙМИНГОВ РЕЖИМОВ

Для некоторых функций, таких как Active Stereo с TwinView, необходимо проверить используемые тайминги режима. Есть несколько путей выполнения этого:

o Если Вы просто хотите убедиться, что оба устройства отображения имеют одинаковые режимы, проверьте, что они используют одни и те же значения HorizSync и VertRefresh при подтверждении режима; HorizSync и SecondMonitorHorizSync, а также VertRefresh и SecondMonitorVertRefresh должны совпадать.

o Более явный подход заключается в указании видеорежима (modeline), который Вы хотите использовать (используя один из доступных генераторов строчек modeline), и задании уникального имени. Например, если вы хотите установить 1024x768 при 120 Гц на каждом мониторе в режиме TwinView с поддержкой стерео, Вы можете добавить, например, такую строчку:

# 1024x768 @ 120.00 Hz (GTF) hsync: 98.76 kHz; pclk: 139.05 MHz
Modeline "1024x768_120" 139.05 1024 1104 1216 1408 768 769 772 823 -HSync +Vsync

В разделе Monitor X Config файла и затем в разделе Screen файла X Config файла укажите MetaMode, например, так:

Option "MetaModes" "1024x768_120, 1024x768_120"

СМОТРИТЕ ТАКЖЕ:

Генератор строчек видеорежима XFree86, удовлетворяющий стандарту GTF, доступен по адресу:

gtf.sourceforge.net/

А также вы можете поискать другие генераторы строчек modeline (указав "modeline") на freshmeat.net.

________________________________________________________________________

ПРИЛОЖЕНИЕ M: ПЕРЕКЛЮЧЕНИЕ БУФЕРОВ И УНИФИЦИРОВАННЫЙ ВТОРИЧНЫЙ БУФЕР
________________________________________________________________________

Набор драйверов NVIDIA для ускорителей Linux поддерживает унифицированный вторичный буфер (UBB) и переключение OpenGL (Flipping). Эту функции могут повысить производительность в некоторых случаях.

o Унифицированный Вторичный Буфер (UBB): UBB имеется только в процессорах семейства Quadro (за исключением Quadro4 NVS) и автоматически активизируется, если достаточно видеопамяти. Буфер можно отключить с помощью опции UBB X Config файла, описанной в Приложении D. Когда активизирован UBB, все окна используют один и тот же вторичный буфер, буфер шаблонов и буфер глубины. Если работает много окон, использование вторичного буфера, буфера шаблонов и глубины никогда не превысит размер буферов полноэкранного окна. Но даже для одного маленького окна используемая память данных буферов равна памяти полноэкранного окна. В этом случае видеопамять может использоваться менее эффективно, чем без UBB.

o Переключение: при включенной поддержке OpenGL переключения, OpenGL может переключать буферы для ЦАП, вместо того, чтобы копировать содержимое вторичного буфера в первичный; это более высокопроизводительный механизм, позволяющий незаметно переключать буферы во время обратного хода кадровой развертки (при установке __GL_SYNC_TO_VBLANK). Условия для OpenGL переключения довольно сложны, но все же: на оборудовании на базе как минимум Geforce OpenGL переключение поддерживается, если работает одно полноэкранное незаслоненное OpenGL приложение и включена функция __GL_SYNC_TO_VBLANK. OpenGL переключение также поддерживается на картах на базе Quadro, даже если OpenGL приложение частично закрыто или не развернуто на полный экран или функция __GL_SYNC_TO_VBLANK неактивирована.


________________________________________________________________________

ПРИЛОЖЕНИЕ N: НЕРАЗРЕШЕННЫЕ ПРОБЛЕМЫ
________________________________________________________________________

Нижеперечисленные проблемы еще не решены в данном выпуске.

o OpenGL + Xinerama
В настоящий момент OpenGL может вывести изображение только на первичный монитор в окружении Xinerama.

o OpenGL и dlopen()
Есть некоторые проблемы со старыми версиями динамического загрузчика glibc (например, в версии, поставляемой вместе с Red Hat Linux 7.2) и таких приложениях, как Quake3 и Radiant, которые используют dlopen().
См. раздел ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ для получения более подробной информации.

o DPMS и TwinView
Экономичный режим (suspend) и режим ожидания (standby) DPMS не работают на втором ЭЛТ мониторе в режиме TwinView. Изображение на мониторе исчезает.

o DPMS и плоская панель
Экономичный режим (suspend) и режим ожидания (standby) DPMS не работают на плоскопанельном дисплее. Изображение на мониторе исчезает.

o Поддержка нескольких карт, нескольких мониторов
В некоторых случаях, вторичная карта не может правильно инициализироваться модулем для ядра NVIDIA. Эту проблему можно обойти, выполнив мягкую загрузку всех вторичных карт с помощью модуля XFree86 Int10. См. "ПРИЛОЖЕНИЕ D: ОПЦИИ X CONFIG" для получения более подробной информации.


o Ноутбук
Если вы используете ноутбук, смотрите раздел "Проблемы при работе на ноутбуках" в ПРИЛОЖЕНИИ K.

o FSAA
При включенной функции FSAA (переменная окружения __GL_FSAA_MODE имеет значение, которое включает функцию FSAA, и выбран визуал с поддержкой сглаживания), изображение может исказиться при смене размера окна.

o Работа с pthreads
Однопоточные приложения, которые загружают библиотеку NVIDIA libGL и затем загружают любую другую библиотеку, связанную с pthreads, приведут к ошибке внутри NVIDIA libGL. Это не происходит в новых библиотеках NVIDIA ELF TLS OpenGL (см. описание библиотек ELF TLS OpenGL в (app-c) ПРИЛОЖЕНИИ C: УСТАНОВЛЕННЫЕ КОМПОНЕНТЫ). Возможны следующие решения:

1) Загрузите библиотеку, связанную с pthreads, перед загрузкой libGL.so.
2) Свяжите приложение с pthreads.

o libGL DSO деструктор и pthread
При окончании работы многопоточного приложения OpenGL можно вызвать libGL DSO деструктор ("_fini"), в то время как другие потоки будут обрабатывать OpenGL код. Деструктор должен освободить ресурсы, задействованные libGL. Это может создать трудности для потоков, которые все еще используют данные ресурсы. Обойти эту проблему можно, установив значение 1 для переменной "__GL_NO_DSO_FINALIZER", и в этом случае libGL деструктор прекратит освобождать ресурсы. Данные ресурсы все равно будут востребованы операционной системой при окончании процесса. Помните, что деструктор также используется как часть dlclose(3), поэтому если у вас есть приложение, которое периодически открывает и закрывает libGL, __GL_NO_DSO_FINALIZER" заставит libGL предоставить ресурсы до окончания процесса. Данная опция призвана улучшить стабильность некоторых многопоточных приложений, включая Java3D.

o XVideo и расширение Composite X
XVideo не будет правильно работать при включении Composite. Смотрите ПРИЛОЖЕНИЕ U: РАСШИРЕНИЕ COMPOSITE X.

o Платформа Intel EM64T и SWIOTLB
Linux не имеет механизма нахождения памяти с адресами, которые приходятся на первые 4 Гигабайта памяти на платформе Intel EM64T. Адреса в этом диапазоне необходимы для 32-битных pci устройств для обеспечения dma возможностей. Вместо этого, ядро linux имеет программные средства решения этой проблемы. К сожалению, при этом подходе остаются некоторые проблемы.

Ранние версии swiotlb оставляли небольшое количество памяти для пула (4МБ). При израсходовании этого пула ядро начинает "паниковать", и соответствующих проблем можно избежать путем увеличения размера пула. Это можно сделать в командной строке ядра с помощью опции "swiotlb=". NVIDIA предлагает увеличить размер пула до 32 МБ при использовании нашего драйвера. Для этого нужно установить значение "swiotlb=16384" для ядра.

Начиная с ядра 2.6.9 с kernel.org, размер swiotlb был увеличен до 64 МБ и управление переполнением улучшено. Оба этих фактора увеличивают стабильность и рекомендуются к использованию. Если у вас ядро из kernel.org, рекомендуется использовать 2.6.9 и выше. Если у вас ядро дистрибутива, проверьте ваш дистрибутив на наличие данных изменений.

ПРОБЛЕМЫ НА УРОВНЕ АППАРАТНОГО ОБЕСПЕЧЕНИЯ

В данном разделе описываются неразрешенные проблемы, источник которых находится обычно вне компетенции NVIDIA.

o Материнская плата Gigabyte GA-6BX
Эта плата имеет регулятор LinFinity на направляющей на 3,3 В, которая имеет номинальное значение силы тока в 5 А, что меньше, чем требуется по спецификации AGP (6 А). При запуске диагностики или приложений температура регулятора поднимается, вызывая падение напряжения на чипе NVIDIA до 2,2 В. Регулятор не может обеспечить силу тока для направляющей на 3,3В, требуемую чипом NVIDIA.

Если видеокарта имеет импульсный стабилизатор или если внешний источник питания подключен к 3,3-вольтной направляющей, данная проблема отсутствует.

o Чипсеты VIA KX133 и 694X с AGP 2x
На материнских платах на базе процессоров Athlon с чипсетами VIA KX133 или 694X, например ASUS K7V, драйверы NVIDIA устанавливают по умолчанию режим AGP 2x для избежания проблемы недостаточного уровня одного из сигналов.

o Чипсеты Irongate с AGP 1x
Передача данных по AGP 1x используется на платах на базе Athlon с чипсетами Irongate для избежания проблемы с целостностью сигнала чипсета.


o Чипсеты ALi, ALi1541 и ALi1647
На чипсетах ALi1541 и ALi1647 драйверы NVIDIA отключают AGP для избежания проблем с таймингами и целостностью сигнала. См. "ПРИЛОЖЕНИЕ G: ПРОБЛЕМЫ С СИСТЕМАМИ ALI" для получения более подробной информации по чипсетам ALi.

o I/O APIC (SMP)
Если у Вас возникли проблемы со стабильностью Linux SMP машины и Вы получили предупреждение "I/O APIC" от ядра Linux, повысить стабильность системы можно, установив параметр ядра "noapic".

o Локальная поддержка APIC (UP)
На некоторых системах установка опции конфигурации ядра "Local APIC Support on Uniprocessors" может вызвать обратный эффект в отношении стабильности и производительности. При зависаниях, связанных с машиной Linux UP, в случае если эта опция установлена, попробуйте отменить локальную поддержку APIC.

________________________________________________________________________

ПРИЛОЖЕНИЕ O: ИНТЕРФЕЙС PROC
________________________________________________________________________

Вы можете использовать интерфейс файловой системы /proc для получения информации о драйвере, установленной видеокарте NVIDIA и статусе AGP.

Информация хранится в нескольких файлах в /proc/driver/nvidia:

o /proc/driver/nvidia/version
Содержит ревизию установленного драйвера компилятора GNU C, используемого для компиляции модуля для ядра Linux.

o /proc/driver/nvidia/cards/0...3
Содержит информацию о каждом из установленных графических адаптерах NVIDIA (название модели, IRQ, версия BIOS, тип шины). Версия BIOS доступна, только если запущен X.

o /proc/driver/nvidia/agp/card
Информация о AGP функциях установленной AGP карты.

o /proc/driver/nvidia/agp/host-bridge
Информация о главном мосте (модель и функции AGP).

o /proc/driver/nvidia/agp/status
Текущий статус AGP. Если в вашей системе активизирована поддержка AGP и работает AGP драйвер, здесь указывается скорость AGP и информация о AGP Fast Writes и Side Band Addressing (быстрая запись и адресация по боковой частоте).

Драйвер AGP является либо интегрированным AGP драйвером NVIDIA, либо AGPGART (драйвер agpgart.o ядра Linux). Если рядом с AGPGART написано "inactive", это означает, что AGP чипсет был запрограммирован AGPGART, но в данный момент не используется.

Функции SBA и Fast показывают, задействована ли хоть одна из этих функций. Существует несколько факторов, влияющих на включение поддержки этих функций. Во-первых, AGP карта и главный мост (host bridge) должны поддерживать данную функцию. Но даже если они оба ее поддерживают, драйвер может их отключить для повышения стабильности системы. Это в частности относится к AGP Fast Writes.

________________________________________________________________________

ПРИЛОЖЕНИЕ P: ПОДДЕРЖКА XVMC
________________________________________________________________________

Данная версия имеет поддержку интерфейса XvMC 1.0 только на GeForce4 и GeForce FX. Есть статическая библиотека "libXvMCNVIDIA.a" и динамическая "libXvMCNVIDIA_dynamic.so", которые подходят для загрузки. Продукты GeForce4 MX и GeForce FX поддерживают "IDCT" технологии XvMC и уровни ускорения компенсации движения. GeForce4 Ti поддерживает только уровни компенсации движения. Поддерживаются элементы рисунка AI44 и IA44. Поддерживаются поверхности 4:2:0 до разрешения 2032x2032.

libXvMCNVIDIA проверяет переменную окружения XVMC_DEBUG и выводит отчет на stderr при выставлении соответствующего целого значения. '0' отключает вывод отчета. '1' активизирует вывод отчета при неисправном состоянии. При значении '2' и выше будут выводиться сообщения с предупреждениями.

________________________________________________________________________

ПРИЛОЖЕНИЕ Q: ПОДДЕРЖКА GLX
________________________________________________________________________

Этот выпуск поддерживает GLX 1.3 со следующими расширениями:
GLX_EXT_visual_info
GLX_EXT_visual_rating
GLX_SGIX_fbconfig
GLX_SGIX_pbuffer
GLX_ARB_get_proc_address

Описание этих расширений можно найти в списке расширений OpenGL по адресу oss.sgi.com/projects/ogl-sample/registry/index.html

Некоторые из вышеперечисленных расширений доступны как часть GLX 1.3, однако они также экспортируются как расширения для обеспечения обратной совместимости.

________________________________________________________________________

ПРИЛОЖЕНИЕ R: КОНФИГУРИРОВАНИЕ НЕСКОЛЬКИХ ЭКРАНОВ X НА ОДНОЙ КАРТЕ
________________________________________________________________________

Графические чипы, которые поддерживают TwinView (см. ПРИЛОЖЕНИЕ I: КОНФИГУРИРОВАНИЕ TWINVIEW) могут быть сконфигурированы так, чтобы они работали с каждым подсоединенным монитором как с отдельным экраном X.

Хотя у такого подхода есть несколько минусов по сравнению с TwinView (например, нельзя перетаскивать окна между экранами X, аппаратно ускоренный OpenGL не может охватить сразу два экрана X), есть и преимущества:

o Каждое устройство отображения является отдельным экраном X, и поэтому свойства, которые могут отличаться у экранов X, могут быть различными и у мониторов (например, глубина, размер главного окна и т.д.).

o Аппаратные функции, которые могут использоваться только на одном дисплее за раз (например, видео оверлеи, аппаратно ускоренные RGB оверлеи), и которые соответственно вообще не могут использоваться в режиме TwinView, отображаются на первом экране X, когда каждый монитор является отдельным экраном X.

o Отношение "один к одному" между мониторами и X экранами характерно для X с момента создания X окон.

Чтобы сконфигурировать два отдельных экрана X для использования одного графического чипа, Вам нужно сделать следующее:

Во-первых, создайте два отдельных раздела Device, чтобы каждый содержал BusID совместно используемой графической карты, драйвер "nvidia", и назначьте каждый отдельным экраном:


Section "Device"
Identifier "nvidia0"
Driver "nvidia"
# Edit the BusID with the location of your graphics card
BusID "PCI:2:0:0"
Screen 0
EndSection

Section "Device"
Identifier "nvidia1"
Driver "nvidia"
# Edit the BusID with the location of your graphics card
BusId "PCI:2:0:0"
Screen 1
EndSection


Затем создайте два раздела Screen так, чтобы каждый использовал один из разделов Device:

Section "Screen"
Identifier "Screen0"
Device "nvidia0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
EndSection

Section "Screen"
Identifier "Screen1"
Device "nvidia1"
Monitor "Monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1024x768" "800x600" "640x480"
EndSubsection
EndSection


(не забудьте создать второй раздел Monitor)

Наконец, обновите раздел ServerLayout для использования и позиционирования обоих разделов Screen:


Section "ServerLayout"
...
Screen 0 "Screen0"
Screen 1 "Screen1" leftOf "Screen0"
...
EndSection


Для получения более полной информации смотрите страницы руководства XF86Config(5x) или xorg.conf(5x).

________________________________________________________________________

ПРИЛОЖЕНИЕ S: ПОДДЕРЖКА УПРАВЛЕНИЯ ПИТАНИЕМ
________________________________________________________________________

Данная версия имеет поддержку управления питанием на основе APM. Это означает, что драйвер NVIDIA будет поддерживать режимы приостановки и возобновления, но не будет поддерживать режим ожидания.

BIOS вашего ноутбука должен поддерживать APM более, чем ACPI. Большинство, хотя не все, ноутбуки на базе GeForce2 и GeForce4 имеют поддержку APM. Вы можете проверить наличие поддержки APM через procfs интерфейс (проверьте наличие /proc/apm) или через входные данные загрузки ядра:

% dmesg | grep -i apm

сообщение типа этого указывает на наличие поддержки apm:
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)

а сообщение типа этого указывает на отсутствие поддержки apm:
No APM support in Kernel

Хотя поддержка ACPI существует в разрабатываемых ядрах и есть заплатки для ядер 2.4, графический драйвер NVIDIA не обеспечивает поддержку ACPI. Мы надеемся, что данная поддержка появится в ближайшем будущем.

Заметьте, что режим ожидания не поддерживается, но ядро попытается войти в него, если получит соответствующие инструкции. При изменении режима питания многие службы системы будут от этом извещены и проведут соответствующие изменения. Например, сетевая работа будет отключена перед переходом в режим пониженного энергопотребления, затем включена при возобновлении нормального режима питания. При попытке ядра войти в режим ожидания bios прервет эту попытку. Ядро выдаст сообщение об ошибке "standby: Parameter out of range", но не сообщит службам системы об этом. В результате, система не перейдет в режим пониженного питания, все службы прекратят работу, и создастся впечатление, что система зависла. Лучший выход из этой ситуации - это войти в режим пониженного питания (suspend), а затем восстановить нормальное электропитание (resume).

Управление питанием все еще находится в разработке. В результате, некоторые функции все еще отсутствуют или работают ненадежно. Не решены следующие проблемы:

Иногда чипсеты теряют настройки конфигурации AGP во время приостановки работы, что может вызвать повреждение шины при возобновлении работы. AGP драйвер должен сохранять и восстанавливать состояние на таких систамах; NVIDIA NvAGP извещается о событиях, связанных с управлением памятью, и гарантирует сохранность конфигурации после приостановки работы.

Linux 2.4 AGPGART не поддерживает управление питанием, Linux 2.6 AGPGART поддерживает только для некоторых чипсетов. Если при использовании этих драйверов AGP ваша система не может восстановить стабильную работу, попробуйте драйвер NVIDIA NvAGP.

Отключение поддержки AGP (подробности по отключению AGP смотрите в ПРИЛОЖЕНИИ F: КОНФИГУРИРОВАНИЕ AGP) также может помочь решить эту проблему.

Для ACPI в данный момент поддерживается только S3 "Suspend to Ram". Это значит, что S4 "Suspend to Disk", или "Software Suspend", или "swsusp", работает ненадежно.

________________________________________________________________________

ПРИЛОЖЕНИЕ T: ОБОЗНАЧЕНИЯ УСТРОЙСТВ ОТОБРАЖЕНИЙ
________________________________________________________________________

Устройство отображения ("Display Device") - это часть аппаратного обеспечения, ответственного за вывод изображений. Устройства отображения, или мониторы, подразделяются на три категории: аналоговые ЭЛТ (CRT), цифровые панели (DFP) и телевизоры. Замечание: аналоговые панели рассматриваются драйвером как аналоговые CRT.

"Display Device Name" уникальным образом определяет монитор; название монитора записывается в формате "<тип>-<цифра>", например:
"CRT-0", "CRT-1", "DFP-0" и "TV-0". Заметьте, что число указывает на то, как разъем монитора сделан на видеокарте, и не имеет ничего общего с числом мониторов данного типа. Например, у вас может стоять "CRT-1", даже если нет "CRT-0".

Чтобы определить, какие мониторы подключены, найдите следующую строчку в X log файле:

(II) NVIDIA(0): Connected display device(s): CRT-0, DFP-0

Обозначения мониторов могут использоваться в опциях X config метарежима, HorizSync и VertRefresh для указания монитора, к которому следует применить установки. Например:

Option "MetaModes" "CRT-0: 1600x1200, DFP-0: 1024x768"
Option "HorizSync" "CRT-0: 50-110, DFP-0: 40-70"
Option "VertRefresh" "CRT-0: 60-120, DFP-0: 60"

Указание названий мониторов в этих опциях не является обязательным; если названия указаны, драйвер пытается применить настройки к соответствующему монитору. В метарежиме первый режим относится к "первому" монитору, второй из указанных режимов ко "второму". К сожалению, часто остается неясным, какой монитор является первым, а какой вторым. Поэтому указание мониторов является предпочтительным.

При указании названий мониторов вы можете опустить цифры, если устройство данного типа только одно. Например, если у вас подключены ЭЛТ и цифровая панель, строчка MetaMode может выглядеть так:

Option "MetaModes" "CRT: 1600x1200, DFP: 1024x768"

ПРИЛОЖЕНИЕ U: РАСШИРЕНИЕ COMPOSITE X
________________________________________________________________________

Версия X.org X11R6.8.0 содержит экспериментальную поддержку нового расширения протокола X, которое называется Composite. Это расширение позволяет рисовать окна в карты элементов отображения вместо экрана. Вместе с расширениями DAMAGE и RENDER это позволяет менеджеру по композитингу совмещать окна для отрисовки изображения на экране.

Производительность можно повысить с помощью опции 'Option "RenderAccel"' в
xorg.conf. Подробнее смотрите в ПРИЛОЖЕНИИ D: ОПЦИИ X CONFIG.

Для полной поддержки Composite требуется дополнительная драйверная поддержка. В настоящий момент клиенты прямого рендеринга, такие как GLX, не знают о том, что им нужно отрисовывать данные в карты элементов изображения и выводят данные прямо на экран. Сейчас мы выясняем, что необходимо таким клиентам для нормальной работы с Composite. Тем временем, GLX будет по умолчанию отключен при обнаружении Composite. Но есть возможность его включить. Смотрите опцию "AllowGLXWithComposite" в ПРИЛОЖЕНИИ D: ОПЦИИ X CONFIG.

Эта проблема обсуждалась в рассылке xorg:

freedesktop.org/pipermail/xorg/2004-May/000607.html

Composite также вызывает проблемы с другими компонентами драйверов:

o Xv не может отрисовывать данные в карты элементов изображения и будет выводить все напрямую на экран. Эту проблему можно избежать в случае некоторых программ путем использования альтернативного видео драйвера. Например, "mplayer -vo x11" будет работать правильно, как и "xine -V xshm". Если вы хотите использовать Xv, вы можете просто отключить менеджер композитинга и включить его при окончании работы.

o Оверлеи рабочих станций не совместимы с Composite.

Более подробную информацию о Composite смотрите по адресу
freedesktop.org/Software/CompositeExt

________________________________________________________________________

ПРИЛОЖЕНИЕ V: NVIDIA-SETTINGS
________________________________________________________________________

Утилита графической конфигурации, nvidia-settings, включена в графический драйвер NVIDIA Linux. После установки драйвера и запуска X вы можете запустить конфигурационную утилиту:

nvidia-settings

в окне терминала.

Подробная информация о доступных опциях конфигурации приведена в окне помощи утилиты.

Подробнее смотрите в руководстве пользователя по адресу:

ftp://download.nvidia.com/XFree86/Linux-x86/nvidia-settings-user-guide.txt

Исходный код для nvidia-settings выпущен как GPL и доступен здесь:

ftp://download.nvidia.com/XFree86/nvidia-settings/

=================================================

www.nvidia.ru/drivers/nforce/linux_IA32/readme.shtml





 Япония, Корея и Китай создадут альтернативу Windows
 Свободное ПО - всерьез и надолго
 Даже бесплатной Windows не остановить Linux
 Аутентификация на SSH сервере с использованием ключей
 Microsoft обвинили в клевете на Linux
 Запуск программы, собранной с другой версией glibc
 http://letter.org.ua/ Збір підписів під листом до Президента України
 http://letter.org.ua/ Сбор подписей под письмом к Президенту Украины
 Написание модулей для CMS Drupal
 Русификация Fluxbox в gentoo
 Синхронизация PALM под Linux
 Переход Вены на открытое ПО проходит с успехом


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"