NVIDIA

Установка драйвера из репозитория

Для установки драйверов из репозитория выполните одно из двух действий:

  • Зайдите в
     Система -> Администрирование -> Драйверы и устройства (Restricted Drivers Manager)
    и активируйте нужный драйвер.

или

  • Выполните в консоли:
     sudo aptitude install -y nvidia-glx nvidia-kernel-common

Затем перезапустите X-сервер или перезагрузите систему.

IconsPage/IconHint2.png

На момент написания этих строк для Ubuntu 7.10 в репозиториях была версия драйвера 100.14.19, а с сайта NVIDIA можно было скачать 169.12, соостветственно, через Envy так же ставилась версия 169.12

Установка драйвера с официального сайта Nvidia

IconsPage/IconDialog-Warning1.png

При установке драйвера с официального сайта необходимо помнить, что он перетирает стандартные видео библиотеки Ubuntu (mesa), в связи с чем при обновлении/удалении пакетов, использующих эти библиотеки, драйвера NVIDIA могут портиться и потребуется их перестановка. Кроме того, переустановка потребуется при обновлении ядра.

Установка при помощи Envy

IconsPage/IconHint2.png

Данный способ лучше всего подходит для установки последней версии драйверов от NVIDIA.

Скачиваем с сайта http://www.albertomilone.com/nvidia_scripts1.html версию Envy для вашего дистрибутива.

Включаем universe и multiverse репозитории, для этого заходим в

Система->Администратирование->Менеджер пакетов Synaptic

, далее выбираем

Параметры->Репозитории

и отмечаем галочками нужные.

Устанавливаем Envy, для этого можно просто запустить файл .deb из GMONE или KDE, или же выполнить находясь в папке с сохранённым пакетом:

sudo dpkg -i envy*.deb

Убеждаемся, что все зависимости пакетов удовлетворены:

sudo aptitude install -f

Запускаем Envy из

Приложения->Системные->Envy

и ставим нужный драйвер.

После установки соглашаемся на автоматическое исправление файла xorg.conf.

Из консоли Envy можно запустить так:

sudo envy -t

Это может понадобится если после установки/обновления какого-либо пакета у Вас слетел драйвер.

IconsPage/IconHint2.png

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

Ручная установка

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

Для этого скачайте последнюю версию драйверов для архитектуры вашего дистрибутива с nvidia.com ( см. тут: http://www.nvidia.com/object/unix.html) (Что-то похожее на: NVIDIA-Linux-XXX-X.X-XXX-pkg1.run).

Установка необходимых пакетов

Перед установкой драйверов потребуется доустановить дополнительные пакеты (если они отсутствуют в системе): исходники ядра, утилиты make, bunutils, компилятор gcc, libc6-dev. Поставьте следующие пакеты:

sudo aptitude install linux-headers-`uname -r`
sudo aptitude install build-essential
sudo aptitude install xserver-xorg-dev

Или тоже самое одной строчкой:

sudo aptitude install linux-headers-`uname -r` build-essential xserver-xorg-dev

Исправление конфликтов програмного обеспечения

Во-первых, необходимо удалить из системы пакеты драйверов из репозитория, если они установлены:

sudo aptitude remove nvidia-glx nvidia-glx-new nvidia-glx-legacy nvidia-settings

(Это можно сделать через Synaptic)

Во-вторых необходимо отключить графический модуль, входящий в пакет linux-restricted-modules. Для этого в любом текстовом редакторе откройте файл /etc/default/linux-restricted-modules-common и добавьте в единственной незакомментированной строчке

DISABLED_MODULES="..."

между кавычек nv и nvidia_new. В итоге должно получиться что-то типа:

DISABLED_MODULES="nv nvidia_new"

IconsPage/IconDialog-Warning1.png

Внимание! Будте осторожны, удаляя пакет nvidia-kernel-common и пакеты, начинающиеся с linux-restricted-modules! Это может привести к удалению всех стандартных проприетарных драйверов (например, драйверов WiFi карточек), и некоторые приложения (например, VMWare) перестанут работать! Если вы где-то прочитали, что для работы драйверов необходимо удалить nvidia-kernel-common, не верьте, достаточно отключить модули nv и nvidia_new!

Установка драйвера

Завершите свой сеанс. Переключитесь в текстовую консоль Ctrl+Alt+F1 и залогиньтесь.

Остановите X-Server:

sudo /etc/init.d/gdm stop

Запустите инсталлятор драйверов (из каталога куда вы их сохранили) от имени root:

sudo -s -H
sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run

Вместо NVIDIA-Linux-XXX-X.X-XXX-pkg1.run вы указываете точное имя пакета с драйверами, которые вы скачали с официального сайта.

Инсталлятор ругнётся на отсутствие precompiled headers для вашего ядра и предложит скачать их с сервера nVidia. Откажитесь. Он предложит скомпилировать их сам - соглашайтесь.

Если все прошло успешно, то по окончанию установки вам предложать запустить утилиту nvidia-xonfig. Откажитесь!

Настройка иксов

Сделайте копию конфигурационного файла X-сервера.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

Отредактируйте файл xorg.conf.

sudo nano /etc/X11/xorg.conf

Найдите строку Section "Device", а чуть ниже нее строку Driver "nv" (вместо nv может быть mesa, fb и т.д.). Последнюю измените на Driver "nvidia". Можете так же добавить в эту же секцию строку Option "NoLogo" "TRUE", чтобы при загрузке X-сервера не появлялся логотип nVidia (некоторых это раздражает). В результате эта часть файла должна быть похожа на сто:

Section "Device"
        Identifier      "NVIDIA Corporation NV43 [GeForce 6600 GT]"
        Driver          "nvidia"
        Option          "NoLogo" "TRUE"
        BusID           "PCI:1:0:0"
EndSection

В разделе Section "Module" закомментируйте (или удалите) строки Load "dri" и Load "GLCore". И добавьте в этот же раздел строку Load "glx", если она отсутствует. Эта часть файла должна быть похожа на это:

Section "Module"
        Load    "i2c"
        Load    "bitmap"
        Load    "ddc"
        #Load   "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "type1"
        Load    "vbe"
EndSection

Перезапустите X-сервер:

sudo /etc/init.d/gdm start

IconsPage/IconDialog-Warning1.png

Внимание! Во многих руководствах в этом месте пишут, что нужно удалить через Синаптик/Адепт все пакеты, найденные по ключевому слову nvidia. Так вот, этого делать не стоит, см. пункт Исправление конфликтов программного обеспечения

Если вы все сделали правильно, то X-сервер скорее всего запустится уже используя официальные драйвера nVidia. Если же X-сервер не запустился, то просто восстановите конфигурационный файл:

sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

и ищите ошибку в своих действиях.

IconsPage/IconHint2.png

Если это не поможет, то попробуйте Envy (см. выше). Если и это не поможет - то поспрашиваейте на форумах, возможно у кого-то такая же проблема и он её уже решил.

Я сделал(а) всё, как написано, но всё равно не работает!

Если при попытке запустить X, Вы получаете ошибку о nvidiactl (см. X log), попробуйте следующее:

  • sudo update-rc.d -f nvidia-kernel remove

Если Вы хотите вернуться к драйверам из linux-restricted-manager, выполните следующее:

  • sudo update-rc.d nvidia-kernel defaults

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

  • Не оставлен ли драйвер nv в настройках Xorg?
  • Отключили ли Вы загрузку стандартных драйверов NVIDIA путём изменения DISABLED_MODULES="nv nvidia_new" в файле /etc/default/linux-restricted-modules-common? Это обычная ошибка, приводящая к конфликту драйверов.

  • Возможно, нужно удалить файл /lib/linux-restricted-modules/.nvidia_new_installed
  • Удалили ли Вы пакеты the nvidia-glx/nvidia-glx-legacy/nvidia-glx-new и nvidia-settings?
  • Прочитайте лог действий инсталлятора в файле /var/log/nvidia-installer-log?
  • Вы проверили вывод dmesg ?
  • Вы установили исходники ядра?
  • Вы прочитали NVIDIA ReadMe на официальном сайте на предмет поддержки вашей карты?

Вы всегда можете запустить графическую утилиту настройки драйвера

sudo nvidia-settings

RussianDocumentation/NVIDIA (last edited 2009-08-25 05:04:15 by po-sergey)