23 апр. 2012 г.

Установка драйвера nVidia в Debian 6, Ubuntu, RedHat / Oracle / CentOS / Fedora

Делал я эти манипуляции на Debian Linux и Oracle Linux. Но сами дрова и команды одинаковы практически для всех дистрибутивов Linux, потому должно работать везде.

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

Сразу оговорю, что на момент написания статьи у меня был Debian 6.0.4 (потом повторил на Oracle Linux) и видеокарта nVidia GeForce GT 440. Для старых (как и для будущих) видеокарт метод может быть другим.

Для начала ставим тулзы и либы необходимые для авто-сборки драйвера (если их еще нету - а по-умолч. они не ставятся) командой (Debian/Ubuntu):

apt-get install gcc make linux-headers-2.6*

Для RHEL-ов: это всё или стоит по умолчанию или yum install make.

Затем идем на http://www.geforce.com/Drivers

Скачиваем файлик для Линуха 32 или 64 - смотря что у нас и для нашей модели видеокарты.

Затем открываем консоль (не эмулятор!!!) комбинацией Ctrl+Alt+F1, логинимся в рута или пользователя, состоящего в группе sudo, и убиваем X-сервер(killall X) а переходим на уровень выполнения 3 (консольный):


init 3

после переходим в директорию с инсталлятором драйвера (обычно это /home/<username>/Downloads) и запускаем его

sh NVIDIA-Linux-x86_64-295.20.run

отвечаем утвердительно на все вопросы, даже о том что у нас не та версия компилятора :) и обязательно - в конце Yes на вопрос о том, чтобы утилитка nvidia-config переколбасила наш xorg.conf. Если чего-то ему не хватит - доустанавливаем. Но по идее стандартного набора + то что в 1й команде ему должно хватить.

Теперь cтартуем x-server (т. е. переходим обратно на уровень выполнения с графикой):

init 5

Всё, должен подхватиться наш новый драйвер со всеми плюшками. Добавить 2й монитор и вообще конфигурить можем через апплет System -> Preferences -> NVIDIA X Server Settings (в Gnome):


Update: В Debian Wheezy (7, testing) такая установка тоже работает.