Translation(s): English - Español - Français - Italiano - Русский - 简体中文


Проприетарные драйвера NVIDIA

Эта страница описывает, как установить проприетарные видео драйвера NVIDIA на систему Debian.

Примечание: Для системы Apple, чтобы избежать черный экран после установки драйверов, выполните следующие действия: http://askubuntu.com/a/613573/134848

Идентификация

Для того, чтобы идентифицировать (серию/кодовое имя) вашу установленную видеокарту (GPU), можно использовать команду lspci. Пример:

$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)

Для большей информации смотрите Идентификация устройств.

nvidia-detect

Скрипт nvidia-detect (пакет nvidia-detect расположен в секции non-free) также может быть использован для идентификации вашей видеокарты и проверки на совместимость с драйвером:

$ nvidia-detect
Detected NVIDIA GPUs:
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 430] [10de:0de1] (rev a1)
Your card is supported by the default drivers.
It is recommended to install the
    nvidia-driver
package.

Драйвера

Фирменные драйвера "NVIDIA Accelerated Linux Graphics Driver" обеспечивают оптимизированное аппаратное ускорение для OpenGL приложений через прямой-рендеринг X сервера. It is a binary-only Xorg driver requiring a Linux kernel module for its use.

Для Debian 8 "Jessie" доступно несколько версий драйверов:

Для Debian 7 "Wheezy" доступно 4 версий драйверов:

Все вышеперечисленные версии доступны только для архитектур x86 и x86-64 (Debian i386 и AMD64 порты соответственно).

Установка

Debian 8 "Jessie"

As of jessie, if you only need basic functionality and don't care about performances, the need for the proprietary drivers is pretty much over - nouveau now works quite well and works with dual-headed displays by simple and easy configuring from within your desktop (for KDE see System_Settings/Hardware/Display_and_Monitor/Display_Configuration). The proprietary drivers don't provide normal logging and can be a hidden source of problems. If you are doing a distribution upgrade, you should at the very least remove all the nvidia packages from wheezy, get your desktop working with nouveau, then reinstall the nvidia packages if there is a pressing reason.

Версия 352.79 (доступна в jessie-backports)

  1. Добавьте jessie-backports в файл /etc/apt/sources.list, пример:

    # jessie-backports
    deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
  2. Установите соответствующий пакет linux-headers. Если вы используете ядро версии 3.16 в Debian Jessie:

    # apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')

    Или если вы используете ядро из jessie-backports:

    # apt-get update
    # apt-get install -t jessie-backports linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
  3. Теперь можно установить пакет nvidia-driver.

    # apt-get update
    # apt-get install -t jessie-backports nvidia-driver 
    DKMS собирет модуль nvidia для вашей системы.
  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Версия 340.96

Для видеокарт GeForce 8xxx и выше (поддерживаемые устройства). Для старых устройств, смотрите Version 304.125 (legacy GPUs).

  1. Добавьте компоненты "contrib" и "non-free" в файл /etc/apt/sources.list, пример:

    # Debian 8 "Jessie"
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Обновите списки доступных пакетов. Установите соответствующий пакет linux-headers и пакет модуля ядра:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-driver. DKMS собирет модуль nvidia для вашей системы.

  3. Создайте конфигурационный файл для сервера Xorg.

  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Версия 304.131 (legacy GPUs)

Для видеокарт GeForce 6xxx и 7xxx (поддерживаемые устройства).

  1. Добавьте компоненты "contrib" и "non-free" в файл /etc/apt/sources.list, пример:

    # Debian 8 "Jessie"
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Обновите списки доступных пакетов. Установите соответствующий пакет linux-headers и пакет модуля ядра:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-legacy-304xx-kernel-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-legacy-304xx-driver. DKMS собирет модуль nvidia для вашей системы.

  3. Создайте конфигурационный файл для сервера Xorg.

  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Debian 7 "Wheezy"

Версия 340.96 (доступна в wheezy-backports)

Для видеокарт GeForce 8xxx и выше (поддерживаемые устройства). Это доступно из репозитория wheezy-backports.

  1. Добавьте wheezy-backports в файл /etc/apt/sources.list, пример:

    # wheezy-backports
    deb http://httpredir.debian.org/debian/ wheezy-backports main contrib non-free
  2. Обновите списки доступных пакетов:

    # aptitude update
  3. Установите соответствующий пакет linux-headers:

    # aptitude install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
  4. Установите пакет модуля ядра из wheezy-backports:

    # aptitude -t wheezy-backports -r install nvidia-kernel-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-driver. DKMS собирет модуль nvidia для вашей системы.

  5. Создайте конфигурационный файл для сервера Xorg.

  6. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Версия 304.125

Для видеокарт GeForce 6xxx и выше (поддерживаемые устройства). Для старых устройств, смотрите Version 173.14.35 (legacy GPUs) и Version 96.43.23 (legacy GPUs).

  1. Добавьте компоненты "contrib" и "non-free" в файл /etc/apt/sources.list, пример:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Обновите списки доступных пакетов. Установите соответствующий пакет linux-headers и пакет модуля ядра:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-glx. DKMS собирет модуль nvidia для вашей системы.

  3. Создайте конфигурационный файл для сервера Xorg.

  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Версия 173.14.35 (legacy GPUs)

Для видеокарт GeForce 5xxx / GeForce FX (поддерживаемые устройства).

  1. Добавьте компоненты "contrib" и "non-free" в файл /etc/apt/sources.list, пример:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Обновите списки доступных пакетов. Установите соответствующий пакет linux-headers и пакет модуля ядра:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-173xx-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-glx-legacy-173xx. DKMS собирет модуль nvidia для вашей системы.

  3. Создайте конфигурационный файл для сервера Xorg.

  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Версия 96.43.23 (legacy GPUs)

Для видеокарт GeForce 2, GeForce 3 и GeForce 4 (поддерживаемые устройства).

  1. Добавьте компоненты "contrib" и "non-free" в файл /etc/apt/sources.list, пример:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Обновите списки доступных пакетов. Установите соответствующий пакет linux-headers и пакет модуля ядра:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms

    При этом, так же будет установлен рекомендуемый пакет nvidia-glx-legacy-96xx. DKMS собирет модуль nvidia для вашей системы.

  3. Создайте конфигурационный файл для сервера Xorg.

  4. Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Сборка новой версии из SVN

As new upstream versions of the proprietary driver are released, upload might not happen immediately. This might be for various reasons, including waiting for new binary packages to clear the NEW queue, which has to be approved manually by the FTP masters.

Before running the upstream installer, which might cause problems to your installation, you can build and install the packages locally if they are ready on SVN. Check if the version you are interested in is available:

https://anonscm.debian.org/viewvc/pkg-nvidia/packages/nvidia-graphics-drivers/branches/

If it is, install the following:

# apt-get install subversion svn-buildpackage
# apt-get build-dep nvidia-driver

Then checkout the branch you want and build it locally:

# svn co svn://anonscm.debian.org/pkg-nvidia/packages/nvidia-graphics-drivers/branches/364
# cd 364
# debian/rules get-orig-source
# mkdir ../tarballs
# mv nvidia-graphics-drivers* ../tarballs
# svn-buildpackage --svn-ignore -us -uc -rfakeroot

and if you need multiarch packages (i.e. i386 on amd64) - required for steam to work:

# svn-buildpackage --svn-ignore --svn-arch=i386 -us -uc -rfakeroot

Примечание: Для MultiArch, например amd64 с i386, вы НЕ должны устанавливать все пакеты из чужеродной архитектуры, достаточно только libgl1-nvidia-glx-i386 или nvidia-driver-libs-i386 в зависимости от версии (branch), и их зависимости.

Примечание: to use get-orig-source you'll need tar version 1.29 or higher, if that is not an option (e.g. in jessie) you can modify the debian/rules file by deleting the new tar arguments that doesn't exist in older tar versions (--clamp-mtime and --sort):

$ svn diff debian/rules
Index: debian/rules
===================================================================
--- debian/rules        (revision 6570)
+++ debian/rules        (working copy)
@@ -380,8 +380,7 @@
            chmod 0755 $(ORIGDIR.$*)/* ; \
            latestfile=$$(ls -tr $$(find $(ORIGDIR.$*) -type f) | tail -n 1) ; \
            tar cv \
-               --clamp-mtime --mtime="./$$latestfile" \
-               --sort=name \
+               --mtime="./$$latestfile" \
                --owner=root --group=src \
                $(ORIGDIR.$*) \
                | gzip -n -9 > $(TARBALL.$*) ; \

This way debian/rules get-orig-source command will work fine in jessie. In case it doesn't work you may try creating the tarball manually following the schema used by an existing one in the Debian archive.

Примечание: Если команда svn-buildpackage сообщает ошибку от tar, например такую:

tar: /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Command ' tar --no-same-owner --no-same-permissions --extract --file /home/foo/tmp/nvidia/tarballs/nvidia-graphics-drivers_367.35.orig-armhf.tar.gz --directory /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481' failed in '/home/foo/tmp/nvidia/367', how to continue now? [Qri?]:

то создайте отсутствующую директорию /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481 (название меняется каждый раз, в зависимости от времени, так что создайте директорию в другом терминале) и нажмите r для повторения команды. Вы должны создать директорию дважды. После этого сборка должна выполниться успешно.

Конфигурация

Драйвер nvidia автоматически не обнаруживается сервером Xorg, поэтому его надо сконфигурировать. Однако, конфигурирование описанное ниже, не должно выполняться на системах с Nvidia Optimus; первичный X дисплей использует драйвер вашей видеокарты Intel, который автоматически обнаруживается X. Смотрите Bumblebee для получения большей информации по настройке Optimus на вашей системе.

Автоматически

Установите пакет nvidia-xconfig, и запустите от имени пользователя root или через sudo. Это автоматически сгенерирует файл конфигурации сервера Xorg /etc/X11/xorg.conf.

Вручную

Пример:

/etc/X11/xorg.conf.d/20-nvidia.conf

Этот конфигурационный файл можно создать используя следующие команды:

Обратите внимание, что это ломает работу Xorg на системе с !Optimus. Для такова оборудования смотрите ru/Bumblebee, вместо данной инструкции.

Перезагрузите вашу систему (модуль nouveau должен автоматически добавиться в blacklist).

Дополнительная информация о конфигурировании.

Решение проблем

Смотрите также


CategoryProprietarySoftware