Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: nVidia: Ошибка инициализации драйвера  (Прочитано 1745 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ASLok

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
nVidia: Ошибка инициализации драйвера
« : 14 Февраля 2014, 09:28:52 »
Столкнулся с проблемой - драйвер nvidia не запускается. Не помогли ни переустановки nvidia-current ни установка новейших nvidia-100500 из дополнительных репозиториев. Что интересно - из исходников NVIDIA-Linux-x86-331.38.run ставился и работал отлично, но не из пакетов. Немного о системе: 13.10, 3.11.0-17-generic i686 GNU/Linux, xorg-server 2:1.14.5-1ubuntu2~saucy1, GeForce 9800 GT

Иксы выдавали одну и ту же ошибку:
[     8.020] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
[     8.020] (EE) NVIDIA(0):     system's kernel log for additional error messages and
[     8.020] (EE) NVIDIA(0):     consult the NVIDIA README for details.

Через несколько часов я раскрыл глаза и обратил внимание, что apt выдает ошибку, что-то типа "Bad return status for module build on kernel" при установке пакетов типа nvidia-current
Тогда у меня закралось подозрение, что apt что-то там компилирует, типа модуля ядра, и на этом обламывается - возможна проблема в версии компилятора. Про подобные проблемы я иногда слышал, но не сталкивался. Нагуглив название файла /var/lib/dkms/nvidia-current/(driver_version_here)/build/make.log нашел соответствующий лог и выяснил, что подозрение совершенно верное. Видимо поэтому и работали драйверы скомпилированные полностью одной моей текущей версией gcc или чего тем ему нужно.

После этого я выяснил, что у меня установлены 4 разных версии gcc - 4.6-4.8. Я решил пойти простым путём и выполнил
sudo aptitude purge ~ngcc-4.4 ~ngcc-4.6 ~ngcc-4.7
Текущую ситуацию с драйверами мониторил так:
sudo jockey-text --listБыло:
ERROR:root:Could not find any typelib for AppIndicator3
kmod:nvidia_319_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
kmod:nvidia_304 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
kmod:nvidia_304_updates - nvidia_304_updates (Проприетарные, Выключен, Не используется)
kmod:nvidia_319 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
Выполнил:
sudo jockey-text -e kmod:nvidia_304_updatesСтало:
ERROR:root:Could not find any typelib for AppIndicator3
kmod:nvidia_319_updates - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
kmod:nvidia_304 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
kmod:nvidia_304_updates - nvidia_304_updates (Проприетарные, Активирован, Не используется)
kmod:nvidia_319 - NVIDIA binary Xorg driver, kernel module and VDPAU library (Проприетарные, Выключен, Не используется)
Похоже я угадал и kmod:nvidia_304_updates компилировали как раз gcc-4.8.
После этого проблема значительно уменьшилась - иксы стартуют без проблем.

Вопросы к знатокам:
1. Каким образом можно узнать и выбрать нужную версию компилятора? Кроме как методом тыка удалять все версии кроме одной?
2. Нужно ли вообще этим заниматься? Как могло так получиться, что модули компилируются не той версией?

Естественно, готов предоставить всю необходимую информацию

Оффлайн neon1ks

  • Старожил
  • *
  • Сообщений: 1183
    • Просмотр профиля
    • Блог молодого разработчика
Re: nVidia: Ошибка инициализации драйвера
« Ответ #1 : 14 Февраля 2014, 10:28:25 »
Интересно ??? Хороший вывод!

dpkg -l | grep gcc
ii  gcc                     4:4.8.1-2ubuntu3     i386         GNU C compiler
ii  gcc-4.8                 4.8.1-10ubuntu9      i386         GNU C compiler
ii  gcc-4.8-base:i386       4.8.1-10ubuntu9      i386         GCC, the GNU Compiler Collection (base package)
ii  libgcc-4.8-dev:i386     4.8.1-10ubuntu9      i386         GCC support library (development files)
ii  libgcc1:i386            1:4.8.1-10ubuntu9    i386         GCC support library
У меня по умолчанию только gcc-4.8 и используется.

Пользователь решил продолжить мысль 14 Февраля 2014, 10:41:10:
1) Команда
gcc -vВроде показывает текущий используемый компилятор.

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

2) А ты случайно не обновлял Ubuntu с одного релиза на другой? - может просто при обновлении старые компиляторы остаются в системе...
« Последнее редактирование: 14 Февраля 2014, 10:44:40 от neon1ks »

Оффлайн ASLok

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: nVidia: Ошибка инициализации драйвера
« Ответ #2 : 17 Февраля 2014, 13:30:50 »
Нет, модули перестали компилироваться не в результате обновления - если и обновлял, то в октябре :(
Есть ещё одна версия, нужно проверить - возможно для компиляции не хватает файлов из каталога /usr/lib32/nvidia-304 которые находятся в каталоге /usr/lib/nvidia-304. Бред какой-то!

 

Страница сгенерирована за 0.058 секунд. Запросов: 25.