Никогда
не возникал вопрос, почему под Linux’ом так откровенно тормозят
потрясающие демки, quake 3 и прочее, требующее более или менее приличной
производительности от видеокарты, хотя на компьютере установлен не
самый отсталый chipset от nVidia? А ведь многие начинающие пользователи
этой операционной системы сталкиваются с подобной неприятной вещью.
Вполне логично, что происходит такое безобразие из-за отказа гордого
антарктического животного использовать предлагаемую ему видеокарточку на
всю допустимую мощность.
Правильнее сказать, что отказывается не сама Linux, а графический
сервер, т.е. XFree86. А еще правильнее было бы заметить, что никто ни от
чего не отказывается — проблема в отсутствии родных драйверов компании
и/или неправильных настройках X-ов.
Проблема обычно возникает из-за того, что XFree86 по умолчанию
подгружает некий стандартный драйвер с «не особо продвинутыми»
возможностями. В результате, производительность любой видеокарты
сводится к убогому default’у, шансы модного chipset’а от nVidia проявить
себя стремительно приближаются к нулю.
Исправляется недуг достаточно просто — установкой родного драйвера от
производителя. Спасибо заботливым разработчикам из nVidia, которые
потрудились на славу, создав превосходные драйвера для своих продуктов
под Linux (как впрочем, и под FreeBSD). Особо радует то, с какой
простотой можно установить и заставить работать этом самый драйвер.
Итак, для начала нужно заполучить то, что позже будет установлено.
Наиболее элементарным способом является банальное скачивание нужного
файла с http://www.nvidia.com/linux.
Пройдя по URL’у и скачав файл типа «NVIDIA-Linux-x86-x.x-xxxx.run» (на
момент написания статьи последней версией являлась 1.0-4363, размером
чуть более чем в 6.5 мб), делаем его иполняемым (здесь и далее скачанный
файл называется «NVIDIA-Linux-x86-x.x-xxxx.run»):
$ chmod +x NVIDIA-Linux-x86-x.x-xxxx.run
Далее необходимо покинуть X-Window, зайти под root’ом и запустить скрипт:
++ (или нормальный logout из графический среды)
$ su
Password:
# ./NVIDIA-Linux-x86-x.x-xxxx.run
Согласившись с лицензией и ответив на несколько вопросов, скрипт
начнет копирование необходимых файлов. Продлится сей процесс не долго, и
вскоре радостно сообщат о том, что драйвер установлен, осталось только
настроить конфиг XFree86. Рекомендации по настройке X-ов (как и пример самого
XF86Config) можно найти в каталоге /usr/share/doc/NVIDIA_GLX-x.x. В
сущности же в /etc/X11/XF86Config-4 нужно сделать следующее:
— привести раздел «Device» к такому виду:
Section «Device»
Identifier «NV AGP»
VendorName «nvidia»
Driver «nvidia»
BusID «PCI:1:0:0»
EndSection
Section «Device»
Identifier «NV AGP TwinView»
VendorName «nvidia»
Driver «nvidia»
BusID «PCI:1:0:0»
Option «TwinView»
Option «SecondMonitorHorizSync» «31-82»
Option «SecondMonitorVertRefresh» «55-120»
Option «TwinViewOrientation» «RightOf»
Option «MetaModes» «1280×1024,1280×1024; 1024×768,1024×768»
Option «ConnectedMonitor» «crt,crt»
EndSection
(Значение «BusID» может быть другим, узнается оно по выводу команды «lspci».)
— в разделе «Screen» изменить значение «Device» на «NV AGP».
Осталось добавить загрузку nvidia-модуля в /etc/modules.conf, чтобы при каждом запуске Linux’а драйвер мог нормально работать:
# echo «alias char-major-195 nvidia» >>/etc/modules.conf
Вот, пожалуй, и все. Теперь при загрузке X-ов должен будет
подключаться свежескомпилированный драйвер от nVidia, проблемы с
тормозами уйдут в прошлое. Напоследок, только хотелось бы сообщить о
том, что после установки драйвера, появляется утилита
«nvidia-installer», с помощью которой можно обновлять драйвер:
# nvidia-installer —update
Кроме того, есть и другие «продвинутые команды», позволяющие
настроить драйвера для новых ядер и т.п. Посмотреть полный список этих
команд можно так:
$ nvidia-installer -A