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

Материал из Bryansk Linux Users Group.

Перейти к: навигация, поиск

Содержание

Зачем это нужно

Ещё одной проблемой, с которыми часто сталкиваются новички, является установка коммерческих драйверов от производителя видеокарты. Коммерческие драйвера позволяют раскрыть весь потенциал видеокарты, получить 3D ускорение и лучшую отрисовку 2D окон. Рассмотрим установку драйвера для видеокарты NVIDIA на примере дистрибутива Debian.

Установка

Для начала нам нужны исходные коды ядра, или заголовки (headers), а так же средства для компиляции. Применительно к Debian выполняем слудующие команды:

# apt-get install build-essential
# apt-get install linux-headers-`uname -r`

Для дистрибутива Mandriva нужно установить следующие пакеты:

# urpmi binutils
# urpmi kernel-source

Сие установит компилятор и утилиты для сборки, а также заголовки, соответствующие запущенному в настоящий момент ядру.

Теперь скачиваем NVIDIA-Linux-архитектура-версия-pkg1.run с сайта NVIDIA или из Метро.

Скачалось? Прекрасно. Теперь нам нужно погасить X. Выходим из сеанса, переключаемся в текстовую консоль нажатием CTRL+ALT+F1, логинимся. Если запущен графический менеджер входа - гасим его командой типа /etc/init.d/[xdm|gdm|kdm] stop (в завимисомсти от используемого менеджера).

В консоли вводим:

# sh /путь/до/NVIDIA-Linux-архитектура-версия-pkg1.run

Отвечаем на ряд вопросов (по большей части надо отвечать "Да"). Вконце вас спросят - модифицировать ли xorg.conf. Ответим "Да". Теперь в секции Device файла /etc/X11/xorg.conf в поле Driver должно быть написано nvidia.

Пробуем запустить X командой Xorg. Если всё ОК - вначале появится эмблема NVIDIA и затем появится курсор в виде креста. Выйти - нажатием CTRL+ALT+BACKSPACE.

Теперь запускаем обратно менеджер входа (/etc/init.d/[xdm|gdm|kdm] start) и наслаждаемся возросшей производительностью. Проверить работу OpenGL можно командой glxgears.

Arceny 03:13, 11 июля 2007 (MSD)

После установки драйвера этим способом, необходимо проверить наличие файлов описанных ниже и удалить их:

# rm /etc/init.d/nvidia-glx
# rm /etc/init.d/nvidia-kernel

Иначе после перезагрузки системы будут удалены симлинки и драйвер придется заново переустанавливать.

Если по команде glxgears выводится ошибка об отсутствии ее, то необходимо установить пакет mesa-utils:

# apt-get install mesa-utils

Cybermind 11:04, 12 ноября 2007 (MSK)

Альтернативный метод

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

# apt-get install module-assistant

Комманда module-assistant имеет алиас m-a, который более удобен. Им и воспользуемся.

# m-a update && m-a a-i nvidia

12:19, 11 июля 2007 (MSD)

Настройка TVOut

На телевизор можно вывести копию картинки с монитора или отдельный X-Screen.

TwinView

Сделаем бэкап xorg.conf

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

Открываем xorg.conf любым текстовым редактором, например так

# gksudo gedit /etc/X11/xorg.conf

Добавляем в секцию [Screen]

 Section "Screen"
   ...
   Option         "TwinView"
   Option         "TVOutFormat" "SVIDEO"
   Option         "TVStandard" "NTSC-M"
   Option         "MetaModes" "1440x900,640x480; 1440x900,NULL; 1024x768,NULL; 800x600,NULL; 640x480,NULL"
   SubSection     "Display"
       ...
       Modes      "1440x900" "1280x1024" "1024x768" "720x450" "640x480"
   EndSubSection
 EndSection

Обращаем внимание на подключение кабеля к телевизору, если вход композитный (т.е. 1 тюльпан) то меняем опцию "TVOutFormat" на "COMPOSITE", тоже делаем и с "TVStandart". В "MetaModes" выставляем пишем разрешение нашего монитора, и через запятую разрешение на телевизоре. Для того чтобы это работало с карточкой FX5200 добавляем дополнительно

Option "ConnectedMonitor" "CRT,TV"

Теперь рестартуем X.

Запуск 2 Х-экранов

Сделаем бэкап xorg.conf

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

Открываем xorg.conf любым текстовым редактором, например так

# gksudo gedit /etc/X11/xorg.conf

Для начала редактируем секцию [Device]

Section "Device"
        Identifier      "Device0"
        Driver          "nvidia"
        Screen 0
        Option  "NoLogo"        "true"
        Option  "RenderAccel"   "true"
        BusID   "PCI:02:09:0"
EndSection
Section "Device"
        Identifier      "Device1"
        Driver "nvidia"
        Screen 1
        BusID   "PCI:02:09:0"
EndSection

Опции "NoLogo" и "RenderAccel" необязательные, в обязательном порядке исправьте BusID на свой, проверить можно так

# lspci

Теперь ищем и правим секцию [Monitor] Для примера так:

Section "Monitor"
        Identifier      "Monitor" #CRT
        HorizSync       30-70
        VertRefresh     50-140
        Option          "DPMS"
EndSection
Section "Monitor"
        Identifier "Television" #TV
        HorizSync 30-50
        VertRefresh 60
EndSection

Если верить документации NVidia, то стандартная горизонтальная развертка HorizSync для телевизора 30-50, можно запустить startx verbose и поиграться. Остается поправить секцию [Screen] например так

Section "Screen"
        Identifier      "Screen0"
        Device          "Device0"
        Monitor         "Monitor"
        DefaultDepth    24
        Option  "ConnectedMonitor" "CRT"
        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
EndSection
Section "Screen"
        Identifier      "Screen1"
        Device          "Device1"
        Monitor         "Television"
        DefaultDepth    24
        Option  "TVOutFormat" "SVIDEO"
        Option  "TVStandard" "NTSC-M"
        Option  "ConnectedMonitor" "TV"
        SubSection "Display"
                Depth 24
                Modes "640x480"
        EndSubSection
EndSection

Обращаем внимание на подключение кабеля к телевизору, если вход композитный (т.е. 1 тюльпан) то меняем опцию "TVOutFormat" на "COMPOSITE" (SVIDEO не работает с драйвером 1.0-7667). В завершении поправим [ServerLayout]

Section "ServerLayout"
        Identifier      "Basic Layout"
        Screen 0        "Screen0"
        Screen 1        "Screen1" rightof "Screen0"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
EndSection

Можно использовать rightof, leftof, above, below, relative дополнительную документацию смотрите в

# man xorg.conf

Рестартуем X.

Личные инструменты