Установка проприетарных драйверов ATI/nVidia в Debian GNU/Linux (Etch)

Данная заметка имеет статус FAQ. Все действия производятся в Debian Etch, но в Sarge или Lenny действия практически такие же.
Для начала добавляем, если он еще не добавлен, репозиторий в источники apt. В /etc/apt/sources.list должна присутствовать строчка

deb http://ftp.ru.debian.org/debian/ etch main contrib non-free


NB: обратите внимание на секции contrib и non-free. Они нужны, а на дисках их нет.
Далее обновляем кэш apt:

# aptitude update


Устанавливаем module-assistant:

# aptitude install module-assistant


Для видеокарты ATI говорим

# m-a a-i fglrx


module-assistant выполнит свою работу, после чего у вас должны быть установлены 2 пакета:

# dpkg -l | grep fglrx
ii  fglrx-driver
ii  fglrx-kernel-'версияядра'


Для видеокарты nVidia аналогично:

# m-a a-i nvidia


После этого у вас должен быть установлен пакет nvidia-kernel-'версияядра'
Но тут еще надо явно поставить сам драйвер:

# aptitude install nvidia-glx


И наконец для старых видеокарт nVidia (старые у nVidia понятие относительное, поэтому правильнее сказать “для тех, которые не заработали с драйвером nvidia-glx“) надо выполнить команды

# m-a a-i nvidia-kernel-legacy-source
# aptitude install nvidia-glx-legacy


После того, как драйвера установлены, надо прописать их в /etc/X11/xorg.conf
В секции "Device" указать для ATI драйвер "fglrx" для nVidia соответственно "nvidia".
Теперь перезагружаемся и все должно работать.
Чтобы проверить, что заработало 3D достаточно выполнить

$ glxinfo | grep direct
direct rendering: Yes


PS.
– А у меня все работает с драйверами скачанными с оффсайта. Зачем ставить какой-то module-assistant и все эти сложности?
– А может быть сразу стоило поставить Слакварю?

17 thoughts on “Установка проприетарных драйверов ATI/nVidia в Debian GNU/Linux (Etch)”

    1. Если при этом точно есть первый диск в источниках – то нормально.

  1. NB: обратите внимание на секции contrib и non-free. Они нужны, а на дисках их нет.

    contrib присутствует на официальных дисках, а вот non-free — всё же нет.

    1. На дисках контриб скорее отсутствует, чем присутствует. По крайней мере в сарже он был очень сильно не весь. Что в етче – не в курсе.

  2. у меня после
    # m-a a-i fglrx
    dpkg -l | grep fglrx показывает не
    ii fglrx-driver
    ii fglrx-kernel-‘версияядра’
    а такое:
    rc fglrx-driver 8.28.8-4
    rc fglrx-kernel-2.6.18-5-xen-amd64 8.28.8-4+2.6.18.dfsg.1-13etch1
    ii fglrx-kernel-src 8.28.8-4
    что я так понимаю означает, что таки непроинстален пакет.
    как быть дальше?

    1. повторить, читая-таки сообщения, которые выдают всякие команды.

  3. m-a a-i fglrx
    Обновлена информация о 1 пакетах
    Получение исходных текстов ядра с версией: 2.6.18-5-xen-amd64
    Заголовочные файлы ядра доступны в /lib/modules/2.6.18-5-xen-amd64/build
    apt-get install build-essential
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Reading state information… Готово
    Уже установлена самая новая версия build-essential.
    The following packages were automatically installed and are no longer required:
    ekiga libgtkhtml3.8-15 gedit-common gcalctool libgail17 gnome-backgrounds libgcj7-0 libneon26 libnautilus-burn3

    industrial-cursor-theme file-roller libebook1.2-5
    Use ‘apt-get autoremove’ to remove them.
    обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 14 пакетов не обновлено.
    Выполнено!
    unpack
    Extracting the package tarball, /usr/src/fglrx.tar.bz2, please wait…
    Целевой файл пакета /usr/src/fglrx-kernel-2.6.18-5-xen-amd64_8.28.8-4+2.6.18.dfsg.1-13etch1_amd64.deb уже существует, не
    будем пересобирать!
    (however, you could use the -f switch to ignore it)
    dpkg -Ei /usr/src/fglrx-kernel-2.6.18-5-xen-amd64_8.28.8-4+2.6.18.dfsg.1-13etch1_amd64.deb
    Выбор ранее не выбранного пакета fglrx-kernel-2.6.18-5-xen-amd64.
    (Чтение базы данных… на данный момент установлено 170163 файлов и каталогов.)
    Распаковывается пакет fglrx-kernel-2.6.18-5-xen-amd64 (из файла …/fglrx-kernel-2.6.18-5-xen-amd64_8.28.8-4+2.6.18.dfsg.1-13etch1_amd64.deb)…
    dpkg: зависимости пакетов не позволяют настроить пакет fglrx-kernel-2.6.18-5-xen-amd64:
    fglrx-kernel-2.6.18-5-xen-amd64 зависит от fglrx-driver (= 8.28.8-4), однако:
    Пакет fglrx-driver не установлен.
    dpkg: не удалось обработать параметр fglrx-kernel-2.6.18-5-xen-amd64 (–install):
    проблемы зависимостей — оставляем не настроенным
    При обработке следующих пакетов произошли ошибки:
    fglrx-kernel-2.6.18-5-xen-amd64
    I: Непосредственная установка не удалась, пытаемся выполнить пост установочные зависимости
    apt-get -f install
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Reading state information… Готово
    Исправление зависимостей… Готово
    The following packages were automatically installed and are no longer required:
    ekiga libgtkhtml3.8-15 gedit-common gcalctool libgail17 gnome-backgrounds libgcj7-0 libneon26 libnautilus-burn3

    industrial-cursor-theme file-roller libebook1.2-5
    Use ‘apt-get autoremove’ to remove them.
    Пакеты, которые будут УДАЛЕНЫ:
    fglrx-kernel-2.6.18-5-xen-amd64
    обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 14 пакетов не обновлено.
    не установлено до конца или удалено 1 пакетов.
    Необходимо скачать 0Б архивов.
    После распаковки объем занятого дискового пространства уменьшится на 836kB.
    Хотите продолжить [Д/н]?
    При выборе “Да” все повторяется, т.е. указанный пакет не удаляется
    Как выйти из ситуации?

  4. “Теперь перезагружаемся и все должно работать.”
    Перезагружаемся в смысле sudo reboot или достаточно рестартануть X??

  5. > Где-нибудь есть собранный для Etch-a nvidia-kernel-source >> 1.0.8776?
    > X(7.1.1) c nvidia-1.0.8776(module+glx) не хочет работать с GF8500.
    У меня в репозитории с секции backports есть версия 100.14.11

  6. Спасибо за статью!
    Добавлю (из собственного опыта):
    Если после перезагрузки вдруг почему-то не стартует Х сохраните на всякий случай копию xorg.conf и попробуйте выполнить
    #dpkg-reconfigure -phigh xserver-xorg

  7. Уж, сколько здесь нервов было 🙁 Если в Etch используется Xen (соотв. и ядро), то расклад немного другой с драйверами nvidia как-минимум:
    Using the nvidia binary driver with Xen on Debian etch
    http://www.debian-administration.org/articles/493
    Я типа того делал (не помню, зачем), надо было… Нормально работало с этим с этим патчем (xenrt.txt), но сыпались ошибки (4Gb fix…), и пришлось допиливать.
    Т.е., надо указать имхо, что это “не для xen-ядра”

    1. Уважаемый, D.S.! Может вы мне поможете. Многое перепробовал, но так и не подружил Debin 6.0 + XEN + nvidia
      Первый вариант был такой:
      # export IGNORE_XEN_PRESENCE=1
      # chmod a+x NVIDIA-Linux-x86-173.14.09-pkg1.run
      # ./NVIDIA-Linux-x86-173.14.09-pkg1.run
      Все выполнялось успешно, даже система грузилась. Однако, после запуска иксов, получал черный экран (монитор затем отключался совсем) и клавиатура не реагировала. По ssh система была доступна.
      Был и второй вариант для OpenSuse:
      1. Берем драйвер с официального сайта nVidia. Разумеется, если у нас уже есть установленный пакет из родного репозитория, нам нужен инсталлер соответствующей версии.
      sudo su –
      cd /usr/src
      wget http://ru.download.n…6/Linux-$(uname -i)/260.19.12/NVIDIA-Linux-$(uname -i)-260.19.12.run
      sh NVIDIA* –extract-only
      2. Копируем необходимые конфиги в дерево исходников ядра
      cd /usr/src/linux
      cp /usr/src/linux-$(uname -r)-obj/$(uname -i)/xen/.config .
      cp /usr/src/linux-$(uname -r)-obj/$(uname -i)/xen/.Module.symvers .
      3. Перезагружаемся с ядром Xen и собираем для него модуль
      cd /usr/src/linux
      make oldconfig && make scripts && make prepare
      cd /usr/src/NVIDIA*/kernel
      IGNORE_XEN_PRESENCE=y CC=”gcc -DNV_VMAP_4_PRESENT -DNV_SIGNAL_STRUCT_RLIM” make SYSSRC=/usr/src/linux module
      4. Копируем модуль и обновляем список зависимостей
      cp nvidia.ko /lib/modules/$(uname -r)/kernel/drivers/video/
      cd /lib/modules/$(uname -r)/kernel/drivers/video/
      depmod -a
      Но этот вариант испробовать на Debian не получилось ввиду того, что папку /usr/src/linux-$(uname -r)-obj/ я не нашел.
      Есть возможность экспериментировать с отдельным компом, так что приветствуются любые варианты, как заставить работать гипервизор xen на Debian Squeeze с проприетарными драйверами nVidia.
      P.S.: видеокарта: GeForce 7600GT

  8. Ребята а как мне установить сетевую карту ? Помогите плиз!
    делаю m-a a-i dlink не получается!

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *