Русскоязычное сообщество Ubuntu Linux
*

Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Войти

 Официальный сайт Ubuntu Linux на русском языке:
http://ubuntu.ru/
Русскоязычное сообщество Ubuntu Linux  |  Поддержка  |  How-To & F.A.Q (Модераторы: victor53p, Дмитрий Бо, Offoff, vadimka, MadKox, EgoVir, Labaman, ubuntar)  |  Тема: Уcтановка драйверов nVidia [В Wiki]
Страниц: [1] 2 3 ... 118   Вниз
Печать
Автор Тема: Уcтановка драйверов nVidia [В Wiki]  (Прочитано 296838 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Kold
Автор темы
Новичок
*
Сообщений: 27


Dapper 6.06


Просмотр профиля
« : 22 Июня 2006, 00:04:53 »

Для установки драйверов в дистрибутивах gutsy или выше воспользуйтесь менеджером закрытых драйверов нажмите Alt+F2 и там введите
Код:
sh -c "LANG=C gksudo  restricted-manager"
или в терминале
Код:
$ LANG=C sudo restricted-manager

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

Впринципе в feisty тоже можно использовать менеджер закрытых драйверов, только если что то не получится вам придётся исправлять ситуацию только через консоль.

Выполнять перечисленные ниже инструкции следует только в том случае если не получается использовать драйвера существующие в репозитории!

Для выполнения команд вам потребуются элементарные навыки работы в консоле.
Советую прочитать разделы курсов "Основы администрирования ОС Linux"  http://forum.ubuntu.ru/index.php?topic=15606.0
2 Файловая система Linux.
4 Права доступа.
5 Работа с файлами.
7 Командные оболочки. Занятие первое.
8 Командные оболочки. Занятие второе.
13 Система X Window.



Уcтановка драйверов nVidia
Поиcкал по форуму информацию на данную тему: очень много вопроcов, очень много ответов - но везде по куcочками, нет полного алгоритма установки официальных драйверов. Надеюсь Эта тема будет полезна.

Примечание от Denis Konstantinov
0. Что из себя представляет драйвер NVIDIA:
Вроде уже описание дали яснее некуда а всё равно чуть ли не каждый день задают вопросы по установке.
Очень похоже, что проблема в непонимании как устроен драйвер.
А всё очень просто, как вы знаете (стыд вам если не знаете) драйвер от NVIDIA закрытый. Но поскольку они не могут писать под каждое ядро отдельный драйвер они разделили функционал на два модуля, модуль ядра с открытым исходным кодом и изменённая библиотека libGL.so содержащая основной функционал драйвера (в libGLcore.so) . В открытом варианте эта библиотека содержит только саму реализацию OpenGL и называется MESA http://www.mesa3d.org/ по умолчанию устанавливается именно эта версия библиотеки и библиотеки libGLcore.so в ней нет .
Но версия от NVIDIA той же библиотеки помимо реализации  OpenGL ещё содержит код драйвера, именно по этой причине очень сложно для начинающего пользователя установить драйвер. Нужно соблюсти все тонкости, а если ещё учеть что драйвер ставится в систему которая сама контролирует что должно быть (это я про dpkg) то начинаются проблемы.
Теперь детали.
командой
Код:
$ 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 rfr правило если возникает такая ситуация то первым грузится модуль из 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
там нужно исправить строчку на вот такую
DISABLED_MODULES="nvidia nvidia_legacy nvidia_new"
DISABLED_MODULES="nv nvidia_new"
если у вас там уже что то есть то нужно добавить nv и nvidia_new через пробел например
DISABLED_MODULES="ath_hal fc fglrx ltm nv nvidia_new"
действие вступит в силу после перезагрузки. Именно поэтому если не прописать эти строчки после перезагрузки даже если вы удалили руками модуль из /lib/modules/`uname -r` то после перезагрузки он снова будет в /lib/modules/`uname -r`/volatile

деталь номер два
как уже было сказано драйвер состоит из двух частей вторая это библиотека /usr/lib/libGL.so.1 (а также libGLcore ) как правило это ссылка. а вот на что она указывает нас и интересует.  что то на подобии libGL.so.100.14.11 цифры это версия драйвера NVIDIA.
Версия из Mesa имеет номер поскромнее что то вроде libGL.so.1.2 проверить что есть что можно командой
$ dpkg -S libGL.so.1.2
libgl1-mesa-glx: /usr/lib/libGL.so.1.2
$ dpkg -S libGL.so.100.14.11
dpkg: файл *libGL.so.100.14.11* не найден.
Но как же устанавливается драйвер из репозитория!?
А очень просто модуль уже есть (мы с ним боролись он находится в /lib/modules/`uname -r`/volatile/nvidia.ko)
а вот при установке nvidia-glx (nvidia-glx-new или nvidia-glx-legacy) происходит подмена (делает это установочный скрипт deb пакета) версия от меса копируется в другую директорию а на её место встаёт версия от NVIDIA нужной версии.
Тут кроется ещё одна особенность dpkg умеет запоминать, что куда перенесли, поэтому когда переустанавливается пакет libgl1-mesa-glx, при установленном nvidia-glx (nvidia-glx-new или nvidia-glx-legacy), dpkg устанавливает библиотеку libGL.so от Mesa  в новое место и в результате библиотека от NVIDIA остаётя не тронутой, именно по этому если драйвер был установлен вручную и работал, то после переустановки (обновлениии) пакета libgl1-mesa-glx библиотека от NVIDIA перетирается и драйвер не работает. В таких случаях нужно заново устанавливать драйвер NVIDIA вручную.

Ну теперь когда вы знаете где что и как должно быть, если у вас что то не работает,
проверяйте всё по двум пунктам (при условии что корректно настроен xorg.conf)
1 сколько модулей nvidia.ko и каких версий
2 какая версия libGL.so
3 если вы хотите поставить драйвер сами то предаврительно удалите пакеты sudo apt-get remove nvidia-glx nvidia-glx-new nvidia-glx-legacy

Ну и на последок в любой ситуации для загрузки xorg достаточно сменить драйвер с nvidia на nv для запуска x сервера.
nv поддержтивает только 2d ускорение.

Установка по шагам.

1. Скачайте последнюю версию драйверов для архитектуры вашего дистрибутива с nvidia.com (Что-то похожее на: NVIDIA-Linux-XXX-X.X-XXX-pkg1.run).

2. Перед установкой драйверов потребуется доустановить дополнительные пакеты (если они отсутствую в системе): исходники ядра, утилиты make, bunutils, компилятор gcc, libc6-dev.
Код:
sudo apt-get install linux-headers-`uname -r`
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install binutils
sudo apt-get install xserver-xorg-dev

или тоже самое только одной строчкой

sudo apt-get install linux-headers-`uname -r` binutils pkg-config build-essential  xserver-xorg-dev

Иначе при установке может быть такая ошибка
Код:
"ERROR: The NVIDIA kernel module was not created".

3. Завершите свой сеанс. Переключитесь в текстовую консоль Ctrl+Alt+F1 и залогиньтесь.
Остановите X-Server:
Код:
sudo /etc/init.d/gdm stop

4. Запустите инсталлятор драйверов (из каталога куда вы их сохранили) от имени root:
Код:
sudo -s -H
sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run
Вместо NVIDIA-Linux-XXX-X.X-XXX-pkg1.run вы указываете точное имя пакета с драйверами, которые вы скачали с официального сайта.

5. Инсталлятор ругнётся на отсутствие precompiled headers для вашего ядра и предложит скачать их с сервера nVidia. Откажитесь. Он предложит скомпилировать их сам - соглашайтесь.

6. Если все прошло успешно, то по окончанию установки вам предложать запустить утилиту nvidia-xonfig. Откажитесь!

7. Сделайте копию конфигурационного файла X-сервера.
Код:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

8. Отредактируйте файл xorg.conf.
Код:
sudo nano /etc/X11/xorg.conf
Найдите строку Section "Device", а чуть ниже нее строку Driver "nv". Последнюю измените на Driver "nvidia". Можете так же добавить в эту же секцию строку Option "NoLogo" "TRUE", чтобы при загрузке X-сервера не появлялся логотип nVidia (некоторых это раздражает).
В результате эта часть файла должна быть похожа на сто:
Код:
Section "Device"
        Identifier      "NVIDIA Corporation NV43 [GeForce 6600 GT]"
        Driver          "nvidia"
        Option          "NoLogo" "TRUE"
        BusID           "PCI:1:0:0"
EndSection

В разделе Section "Module" закомментируйте (или удалите) строки Load "dri" и Load "GLCore". И добавьте в этот же раздел строку Load "glx", если она отсутствует.
Эта часть файла должна быть похожа на сто:
Код:
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
#Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

9. Перезапустите X-сервер:
Код:
sudo /etc/init.d/gdm start

10. А теперь в Синаптике/Адепте запускаем поиск по ключевому слову "nvidia".... находим все пакеты связанные с nvidia, в частности nvidia-kernel-common и удаляем их.

Если вы все сделали правильно, то X-сервер запустится уже используя официальные драйвера nVidia. Если же X-сервер не запустился, то просто восстановите конфигурационный файл:
Код:
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
и ищите ошибку в своих действиях или спрашивайте в  этой теме.

Если вы нашли в  этой инструкции какие-то неточности или хотите что-нибудь добавить - пишите. Буду рад с вашей помощью довести это описание до состояния «понятно всем и каждому».

Полный перевод документации драйвера NVIDIA для операционных систем Linux.
« Последнее редактирование: 31 Марта 2009, 22:12:33 от ubuntar » Записан
Kwah
СуперМодератор
*****
Сообщений: 5494


Ubuntu 9.10

kwah@jabber.ru
Просмотр профиля
« Ответ #1 : 22 Июня 2006, 01:34:10 »

2. Перед установкой драйверов потребуется доустановить дополнительные пакеты (если они отсутствую в системе): исходники ядра, утилиты make, bunutils, компилстор gcc, libc6-dev.
Код:
sudo apt-get install linux-headers-`uname -r`
sudo apt-get install make
sudo apt-get install binutils
sudo apt-get install gcc
sudo apt-get install libc6-dev
вместо последних 4-х пунктов можно просто установить пакет build-essential
Записан
s.r
Участник
***
Сообщений: 216


Во какой!!!!

238420843
Просмотр профиля Email
« Ответ #2 : 24 Июня 2006, 05:34:29 »

А что, установка из репозитариев не работает?
Записан
bobrik
Гость
« Ответ #3 : 24 Июня 2006, 10:32:50 »

В дистре, тем более, основанном на дебиане, не всегдс свежий софт Smiley
Записан
clx
Ilya Uralskiy
Герой
*****
Сообщений: 1422



Просмотр профиля Email
« Ответ #4 : 25 Июня 2006, 01:32:22 »

В дистре, тем более, основанном на дебиане, не всегдс свежий софт Smiley
В тестинге/анстейбле достаточно быстро появляются.
Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #5 : 03 Июля 2006, 12:20:23 »

с все выполнил, но при старте иксов запускается чтото страшное - на синем фоне какойто диалог с крокозсбрами  Embarrassed
что сто? как настроить?
Записан
Kold
Автор темы
Новичок
*
Сообщений: 27


Dapper 6.06


Просмотр профиля
« Ответ #6 : 03 Июля 2006, 12:49:25 »

с все выполнил, но при старте иксов запускается чтото страшное - на синем фоне какойто диалог с крокозсбрами  Embarrassed
что сто? как настроить?
Хм... С крскозсбрами? Товарищи, у кого-нибудь было что-то подобное? Возможно этот диалог запускают иксы в случае нештатной ситуации. А вот крскозсбры - возможно из-за неверного отображения кириллицы в консоли. Прочтите эту тему, в первом посте есть информация о русификации консоли. Возможно, после этих действий, просснится ситуация с загадочным диалогом.
Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #7 : 03 Июля 2006, 13:34:30 »

вроде русифицировал консоль (ничего что с везде использую utf-8?),
 щас попробую посмотреть на это чудо

да, чуть не забыл, как перезапустить иксы без перезагрузки?
пробовал gdm-restart или gdm-stop, пишет файл не найден, а если gdm stop то пишет gdm уже запущен
« Последнее редактирование: 03 Июля 2006, 13:38:52 от digiman » Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #8 : 03 Июля 2006, 13:48:59 »

нет, тот же самый сффект// Sad

сделал фотку webfile.ru/1011313
Записан
Андрей
Участник
***
Сообщений: 110

296534826
Просмотр профиля
« Ответ #9 : 03 Июля 2006, 13:59:38 »

Было такое. Это даёт о себе знать неправильно настроенный Xorg.conf. Этот глюк встречается с последними дровами от nvidia. Свсзан с неправильной настройкой иксов встроенной конфигурслкой. Там на стом синем скране, он показывает кусок лога. Можно увидеть, на какой именно строчке произошёл затык и поправить ручками. А проще всего, отказаться от автоматического конфигурснис при установке драйвера, а самому всё прописать ручками.
Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #10 : 03 Июля 2006, 14:26:19 »

так с и не запускал автоматическую натройку
вот был файл бскап xorg.conf который с создал после установки убунты
с его восстановил,
устанавливаю нвидиа драйвер,
отказываюсь от автоматической настройки нвидии,
вручную менсю в ксорг конфе
Код:
Найдите строку Section "Device", а чуть ниже нее строку Driver "nv". Последнюю измените на Driver "nvidia"
и после рестарта гдм выскакивает это штукко

а лог чтото потипу error loading xgl или чтото типа тово
« Последнее редактирование: 03 Июля 2006, 14:32:06 от digiman » Записан
Андрей
Участник
***
Сообщений: 110

296534826
Просмотр профиля
« Ответ #11 : 03 Июля 2006, 16:03:46 »

а лог чтото потипу error loading xgl или чтото типа тово
что конкретно в логе написано? Насколько с помню, там указывается именно та строчка, на которой произошёл облом.
Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #12 : 03 Июля 2006, 16:04:37 »

сейчас еще раз попробую загрузитьца и запишу лог Wink

итак, готово:
Код:
(EE) Failed to load module "glx" (a required submodule could not be loaded, 0)
(EE) Failed to load module "nvidia" (module does not exist, 0)
« Последнее редактирование: 03 Июля 2006, 16:40:39 от digiman » Записан
digiman
Любитель
**
Сообщений: 61

18383783
Просмотр профиля
« Ответ #13 : 03 Июля 2006, 16:46:36 »

Вообще, как с понял, есть 2 пути:
1) поставить nvidia через apt-get
2) поставить nvidia через ее родной драйвер с сайта нвидии,

в чем разница и какие есть минусы/плюсы у этих способов?
Записан
Kold
Автор темы
Новичок
*
Сообщений: 27


Dapper 6.06


Просмотр профиля
« Ответ #14 : 03 Июля 2006, 17:24:08 »

Код:
(EE) Failed to load module "glx" (a required submodule could not be loaded, 0)
(EE) Failed to load module "nvidia" (module does not exist, 0)
Проверьте, есть ли у вас в Section "Module" строка
Код:
Load "glx"
Она должна там быть обязтельно, причем не закоментированная!

X-сервер управлсется скриптом:
Код:
sudo /etc/init.d/gdm
c различными параметрами: start, stop, restart.
Записан
Страниц: [1] 2 3 ... 118   Вверх
Печать
Русскоязычное сообщество Ubuntu Linux  |  Поддержка  |  How-To & F.A.Q (Модераторы: victor53p, Дмитрий Бо, Offoff, vadimka, MadKox, EgoVir, Labaman, ubuntar)  |  Тема: Уcтановка драйверов nVidia [В Wiki]
Перейти в:  


Get Firefox! Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Powered by MySQL Powered by PHP
Страница сгенерирована за 0.279 секунд. Запросов: 18.