Содержание
В этой статье описаны установка, настройка, обновление, удаление проприетарного драйвера для видеокарт Nvidia.
Определение модели видеокарты
Для определения модели видеокарты запустите терминал (Ctrl+Alt+T) и выполните команду:
lspci -k | grep -E "VGA|3D"
 
Выбор версии драйвера
На сайте Nvidia выложены несколько версий видео драйвера, можно нажать на каждую и посмотреть список поддерживаемых видеокарт. Так вы сможете определить какой драйвер вам нужен.
 
Установка драйвера из официального репозитория Ubuntu (рекомендуется)
- Устанавливаем драйвер и программу для его настройки, запустите терминал (Ctrl+Alt+T) и выполните команду:
 
 sudo apt-get update && sudo apt-get install nvidia-304 nvidia-settings 
- Создаем xorg.conf:sudo nvidia-xconfig
- Перезагружаем компьютер.
- После перезагрузки проверяем какой видео драйвер используется:lspci -k | grep VGA -A2 Получится примерно такой вывод, в последней строке указано название используемого видео драйвера 03:00.0 VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT] (rev a2) Subsystem: Elitegroup Computer Systems Device 1a0e Kernel driver in use: nvidia
Установка более новой версии драйвера из PPA
Для Ubuntu существует неофициальный репозиторий, в котором выкладываются новые версии драйверов, это драйверы собранные из исходников с сайта Nvidia упакованные в deb пакеты.
- Удаляем ранее установленный драйвер nvidia, если устанавливали:sudo apt-get purge nvidia* 
- Подключаем репозиторий:sudo add-apt-repository ppa:ubuntu-x-swat/x-updates 
- Устанавливаем драйвер:sudo apt-get update && sudo apt-get install nvidia-331 nvidia-settings-331 
- Создаем xorg.conf:sudo nvidia-xconfig
- Перезагружаем компьютер.
- После перезагрузки проверяем какой видео драйвер используется:lspci -k | grep VGA -A2 Получится примерно такой вывод, в последней строке указано название используемого видео драйвера 03:00.0 VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT] (rev a2) Subsystem: Elitegroup Computer Systems Device 1a0e Kernel driver in use: nvidia
Установка драйвера с официального сайта Nvidia (сборка из исходников)
- Удалите предыдущие драйвера, установленные через менеджер драйверов, чтобы в системе пакетов не возникло ошибок: - sudo apt-get purge nvidia-  Если драйвера ранее устанавливались аналогичным текущему способу (из исходных кодов), удалять такие драйвера нет необходимости, новая ручная установка перепишет файлы предыдущей версии автоматически. Если драйвера ранее устанавливались аналогичным текущему способу (из исходных кодов), удалять такие драйвера нет необходимости, новая ручная установка перепишет файлы предыдущей версии автоматически.
- Скачайте последнюю версию драйвера с официального сайта Nvidia (полученный файл будет иметь название видаNVIDIA-Linux-XXX-X.X-XXX-pkg1.run);
- Установите необходимые пакеты:sudo apt-get install linux-headers-`uname -r` binutils pkg-config build-essential xserver-xorg-dev 
- Откройте черный список модулей ядра:sudo gedit /etc/modprobe.d/blacklist.conf Добавьте в него свободные видео драйверы, которые могут работать с видеокартами Nvidia: blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv Сохраните изменения и закройте текстовй редактор. 
- Выключите X сервер командой в терминале (для Ubuntu версии 11.10 и выше):sudo service lightdm stopпереключитесь на консоль командой Ctrl-Alt-F1 и войдите в систему под обычным пользователем; 
- Запустите установщик драйверов (из каталога куда был сохранен драйвер): - sudo sh ./NVIDIA-Linux-XXX-X.X-XXX-pkg1.run  Вместо Вместо- NVIDIA-Linux-XXX-X.X-XXX-pkg1.runукажите точное имя пакета с драйверами, которые вы скачали с официального сайта
 (это же действие удобнее делать через Midnight Commander, запустить mc с правами администратора, перейти в каталог, выделить файл и нажать энтер).
- Инсталлятор сообщит об отсутствии «precompiled headers» для вашего ядра и предложит скачать их с сервера Nvidia - откажитесь. Затем, он предложит скомпилировать их сам - соглашайтесь.
- Если все прошло успешно, то по окончанию установки вам будет предложено запустить утилиту автонастройкиnvidia-xconfig- откажитесь.
- Сделайте копию конфигурационного файла X-сервера:sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup 
- Отредактируйте файл - xorg.confв соответствии с приведенным ниже примером:- Section "Screen" Identifier "Default Screen" DefaultDepth 24 EndSection Section "Device" Identifier "Default Device" Driver "nvidia" Option "NoLogo" "True" EndSection Section "Module" Load "glx" EndSection 
- Перезапустите X-сервер: - Для Ubuntu версии 11.10 и выше: - sudo service lightdm start- Для старых версий Ubuntu, а также для тех, кто использует GDM вместо LightDM: - sudo service gdm start
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
и ищите ошибку в своих действиях или спрашивайте в обсуждении на форуме.
Удаление драйвера после установки из исходников
Если требуется полностью удалить установленный вручную драйвер Nvidia, нужно выполнить следующее:
- Скачайте последнюю версию драйверов с официального сайта Nvidia (полученный файл будет иметь имя видаNVIDIA-Linux-XXX-X.X-XXX-pkg1.run).
- Запустите установщик драйверов (из каталога куда был сохранен драйвер) с ключом –uninstall: - sudo -s -H sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run --uninstall  Вместо Вместо- NVIDIA-Linux-XXX-X.X-XXX-pkg1.runукажите точное имя пакета с драйверами, которые вы скачали.
Устранение возможных проблем
Неправильно определяются разрешение и частота монитора
- Если не устанавливается или неправильно определяются разрешение и частота монитора, нужно добавить следующие строки в секцию «Screen»: ..SubSection "Display" Depth 24 Modes "1920x1200" EndSubSection..разрешение соответственно меняем на то, которое вам нужно 
- Или воспользоваться методом определения Modeline для этих целей, используя утилиту gtf. Для этого нужно точно знать разрешение и частоту вашего монитора от производителя, Включая горизонтальную <HorizSync XX.0 - XX.0> и вертикальную <VertRefresh XX.0 - XX.0> развёртку вашего монитора, которые можно узнать в паспорте или на сайтах производителя. Смотрите обсуждение сводной темы. Применение gtf - 1920×1200 60Hz для монитора HP-ZR24w. Вводим в терминал: ..gtf 1920 1200 60 получаем: 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
- Далее копируем строку Modeline и вставляем в файл xorg.conf, в секцию «Monitor» и правим значения опций HorizSync и VertRefresh. Опции VendorName и ModelName редактируйте согласно своей модели, - либо вообще не трогайте(!): ..Section "Monitor" Identifier "Monitor0" VendorName "HP" ModelName "ZR24w" HorizSync 24.0 - 80.0 VertRefresh 59.0 - 61.0 Option "DPMS" Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync EndSection
Медленно работает (тормозит) интерфейс в Ubuntu на видеокартах Nvidia
- Суть проблемы в том, что видеокарта nVidia с включённой по умолчанию опцией PowerMizer динамически меняет частоты памяти и GPU на видеокарте, а система болезненно на это реагирует.
- Выходом является смена в Nvidia X Server settings (nvidia-settings) в разделе PowerMizer - Preferred Mode режима с Adaptive на Maximum Performance. После перезагрузки ПК, настройки сбросятся и нужно автоматизировать установку Maximum Performance.
- Для этого нужно отредактировать xorg.conf, чтобы он выглядел следующим образом:
Section "Screen"
	Identifier	"Default Screen"
	DefaultDepth	24
EndSection        
Section "Device"
	Identifier	"Default Device"
	Driver	"nvidia"
	Option	"NoLogo"	"True"
        Option  "Coolbits"      "1"
        Option  "RegistryDwords"    "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"
EndSection
Section "Module"
	Load	"glx"
EndSection
- Для систем в которых xorg.conf отсутствует можно изменить рассматриваемую опцию, поместив следующую команду в автозапуск:
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1
Исправление загрузочного экрана (Plymouth)
 
- Установите необходимые пакеты:sudo apt-get install v86d 
- Измените параметры загрузчика, для этого в терминале введите: - sudo gedit /etc/default/grub - Найдите и добавьте/исправьте строчки на следующие, изменив разрешение на своё: - GRUB_GFXMODE=1440x900x24 GRUB_GFXPAYLOAD_LINUX=keep  Возможно потребуется использовать 16-битную глубину цвета (GRUB_GFXMODE=1440x900x16) Возможно потребуется использовать 16-битную глубину цвета (GRUB_GFXMODE=1440x900x16)
- Выполните команду в терминале:echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash 
- Обновите параметры загрузчика и ядра:sudo update-initramfs -u sudo update-grub2 
- Перезагрузите систему.
Исправление загрузочного экрана (Plymouth) в Ubuntu 10.04, 10.10, 11.04, 11.10
 
- Установите необходимые пакеты:sudo apt-get install v86d cryptsetup libcryptsetup1 libcryptsetup-dev hwinfo 
- Измените параметры загрузчика, для этого в терминале введите: - sudo gedit /etc/default/grub - Найдите и добавьте/исправьте строчки на следующие, меняя «номер» и разрешение на свои: - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1920x1200-24,mtrr=3,scroll=ywrap" GRUB_CMDLINE_LINUX="splash vga=0x037d" GRUB_GFXMODE=1920x1200  Значение vga=«номер» для Значение vga=«номер» для- GRUB_CMDLINE_LINUXберется из вывода команды- sudo hwinfo --framebuffer 
- Отредактируйте файл /etc/grub.d/00_header - sudo gedit /etc/grub.d/00_header - Найдите строку и впишите нужное вам разрешение - if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1920x1200 ; fi- Также сразу под этой строкой допишите - set gfxpayload=keep - Далее в этом же файле найдите строку и замените в ней разрешение на нужное: - set gfxmode=1920x1200 
- Отредактируйте загрузку модулей:sudo gedit /etc/initramfs-tools/modules Добавьте в файл строку, меняя в ней разрешение на нужное: uvesafb mode_option=1920x1200-24 mtrr=3 scroll=ywrap 
- Выполните команду в терминале:echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash 
- Обновите параметры загрузчика и ядра:sudo update-grub sudo update-initramfs -u 
- Перезагрузите систему.
Дополнительные опции
Option "GLShaderDiskCache" "True"
В некоторых случаях позволяет ускорить работу с шейдерами
Option "ModeValidate" "NoTotalSizeCheck"
Позволяет для видеокарт GF9xxx, GTX2xx и новее избежать разбиения изображения на 6 маленьких экранов
Option "ModeValidation" "NoEdidModes, NoMaxPClkCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoEdidMaxPClkCheck"
Наиболее часто помогает, опция убирает проверку различных параметров портов видеокарты и опций передаваемых монитором, но воспринимаемых системой ошибочно.
Option "UseEDIDFreqs" "False"
Выключает считывание EDID монитора, который используется системой как источник возможных режимов, диапазонов частот, а также считывания физических размеров дисплея и определения количества точек на дюйм.
Option "NoBandWidthTest" "True"
Выключает тест памяти видеокарты на аппаратные ограничения пропускной способности.
Option "ExactModeTimingsDVI" "True"
Опция вызывает принудительную синхронизацию с точными таймингами, указанными в ModeLine, а не с приближенными к ним, которые указаны в EDID.
SLI режим
- Если не работает SLI режим или не запускается X-сервер с двумя включенными карточками, то добавляем в секцию «Device» строку:
Option "SLI" "True"
Настройка TV-out
Подключение TV настраивается обычно через Система⇒Администрирование⇒NVIDIA X Server Settings, но если после настройки так и не удается вывести изображение на TV, добавляем следующие строки в секцию «Screen»:
Option "TwinView" Option "TVOutFormat" "AUTOSELECT" Option "TVStandard" "PAL-B"
Режим опции «TVOutFormat» можно задать вручную, вписав вместо «AUTOSELECT» одно из следующих значений:
| TVOutFormat | Поддерживаемые TV форматы | 
|---|---|
| «AUTOSELECT» | PAL, NTSC, HD | 
| «COMPOSITE» | PAL, NTSC | 
| «SVIDEO» | PAL, NTSC | 
| «COMPONENT» | HD | 
| «SCART» | PAL, NTSC | 
Режим опции «TVStandard» можно менять взависимости от того формата который вам нужен, вписав вместо «PAL-B» одно из следующих значений:
| TVStandard | Описание | 
|---|---|
| «PAL-B» | |
| «PAL-D» | |
| «PAL-G» | |
| «PAL-N» | |
| «NTSC-J» | |
| «NTSC-M» | |
| «HD480i» | |
| «HD480p» | |
| «HD576i» | |
| «HD576p» | |
| «HD720p» | |
| «HD1080i» | |
| «HD1080p» | 
Техническая поддержка nVidia
Если при использовании проприетарного драйвера nVidia у вас возникнут какие-либо проблемы вы можете обратиться в техническую поддержку компании nVidia:
- Чат (с восьми вечера до четырёх утра по московскому времени)
- Задать вопрос (в любое время)
Ссылки
- Уcтановка драйверов Nvidia — тема на форуме
- nvworld.ru~ — полный перевод документации драйвера NVIDIA для операционных систем Linux
- nvidia.com~ — дополнительные опции и документация к ним
- ~ubuntu-x-swat/+archive/x-updates — неофициальный репозиторий со стабильными драйверами на Launchpad
- ~xorg-edgers/+archive/ppa — неофициальный репозиторий с новыми драйверами на Launchpad
 
			 
	