понедельник, 13 октября 2008 г.

Установка Драйвера Nvidia

Установил я таки эти дровишки.
как оказалось ничего сложного, пошаговая инструкция:
  1. Скача драйвер с http://nvidia.com (NVIDIA-Linux-XXX-X.X-XXX-pkg1.run)
  2. Завершил свой сеанс. Переключился в текстовую консоль Ctrl+Alt+F1 и залогинился (login - password)
  3. Остановил X-Server:

    sudo /etc/init.d/gdm stop
  4. Удалить другие nvidia модули ядра, смотрим сколько модулей у нас в директории ядра

    find /lib/modules/`uname -r`/ -iname \*nvidia.ko\*
    Должен быть один, неважно, в какой именно директории, но обычно, если сдесь:

    /lib/modules/`uname -r`/volatile/nvidia.ko



    то это драйвер из пакета linux-restricted-modules. Для нормальной работы драйвера от nVidia его там быть не должно,поскольку установщик от nVidia обычно ставит модуль в директорию

    /lib/modules/`uname -r`/kernel/drivers/video/nvidia.ko
    т.е. если у вас два модуля, то будет грузиться тот, кто выше прописан в файле

    /lib/modules/`uname -r`/modules.dep
    Как правило, если возникает такая ситуация, то первым грузится модуль из volatile, об этом говорит ошибка в логе /var/log/Xorg.0.log

    API mismatch: the NVIDIA kernel module has the version 1.0-9755, but this X module has the version 1.0-9631.
    Конечно, номера версий будут другие. Итак: модуль должен быть только один! Поэтому нужно отключить модуль из пакета linux-restricted-modules. Делается это изменением файла /etc/default/linux-restricted-modules-common

    sudo nano /etc/default/linux-restricted-modules-common
    Там нужно исправить строчку

    DISABLED_MODULES="nv nvidia_new"
    на вот такую

    DISABLED_MODULES="nvidia nvidia_legacy nvidia_new"
    Если у вас там уже что то есть, то нужно добавить nv и nvidia_new через пробел, например

    DISABLED_MODULES="ath_hal fc fglrx ltm nv nvidia_new"
  5. Запустите инсталлятор драйверов (из каталога куда вы их сохранили) от имени root:

    sudo -s -H
    sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run
  6. Инсталлятор ругнётся на отсутствие precompiled headers для ядра и предложит скачать их с сервера nVidia. Отказался. Предложил скомпилировать их самому - согласился.
  7. Отказался запустить утилиту nvidia-xonfig
  8. создал копию xorg'a

    Если при установки, вылетает ошибка что файло .ko уже существует, или возникают ошибки при установки, то проделываем следующее:
    Ищем файл nvidia.ko и все что нашлось удаляем
    find /lib/modules/`uname -r`/ -iname *nvidia.ko*
    Теперь запускаем установку:
    sudo NVIDIA-Linux-XXX-X.X-XXX-pkg1.run -k `uname -r` -K

    sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
  9. Отредактируйте файл xorg.conf

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


    Section "Module"
    Load "i2c"
    Load "bitmap"
    Load "ddc"
    #Load "dri"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "int10"
    Load "type1"
    Load "vbe"
    EndSection
  10. Перезапустил X
    sudo /etc/init.d/gdm start
  11. активируем драйвер командой

    sudo nvidia-xconfig
Все=)

2 комментария:

Анонимный комментирует...

вообще непонятно как что сделал!!!

Alexey Kostryukov комментирует...

в каком месте непонятно? что не получатся?