LINUX.ORG.RU

И снова дрова nvidia

 , ,


0

1

Приветствую всех. Давно, давно не сталкивался с проблемой переустановки nvidia дров. Но тут столкнулся. Обновил ядро на мяте до 4.12 (до этого по старой привычке, которая всегда работала, откатился на свободные дрова). Поставил дрова nvidia, перезагрузился и... Чуда не произошло, по прежнему работают свободные дрова, хотя мята кажет, что установлены дрова nvidia. Поможите люди добрые, шо делать?


Поможите люди добрые, шо делать?

Научится правильно:

- задавать вопросы

- устанавливать проприетарные модули ядра от nvidia

anonymous
()
Ответ на: комментарий от sehellion

Т.е. ты хочешь сказать, что при установке драйвера, автоматом, свободные драйвера вносятся в блэклист или это один из стандартных костылей? Хочу уточнить меня костыли особо не интересуют, я хочу понять что происходит при переустановке драйвера что они не цепляются системой.

UnCle
() автор топика
Ответ на: комментарий от anonymous

Если не сложно - шаблон вопросов, я никогда и никого ни о чем не просил, здесь первый раз попал в просак, могу легко решить эту тупую проблему восстановлением из образа, но мне интересна сама причина происходящего. Устанавливать проприетарные модули ядра - прошу простить за необразованность, я обычный пользователь мяты и особо в дебри никогда не лез, но вот черт дернул за руку обновить ядро и... понеслось, теперь интересно, что произошло. Так вот, если я правильно понял, имеется ввиду собрать dkms? Или я сейчас сказал какую-то глупость, что лучше бы не говорил? :)

UnCle
() автор топика
Ответ на: комментарий от UnCle

1. У любого проприетарного драйвера могут быть проблемы со свежими ядрами, хотяб потому, что цикл выктаивания драйвера отличен от цикла релизов ядра. Потому для любителей cutting edge и rr лучше иметь дело с железом которое работает со свободными драйверами.

2. Наверное модуль вызывает ошибку, я не знаю как он называется, если nvidia то пробуй:

$ modprobe nvidia

Aber ★★★★★
()
Ответ на: комментарий от UnCle

У тебя в системе есть два модуля, которые могут обслуживать одно устройство. Чтобы использовать конкретный модуль, остальным надо запретить загружаться. Для этого и есть blacklist.

Radjah ★★★★★
()
Ответ на: комментарий от UnCle

подождём

О, так ты там не один такой «одарённый»?

anonymous
()
Ответ на: комментарий от UnCle

Именно это и не сделал установщик дров?

Какой установщик дров?

Ставиться драйвер Nvidia должен из репозитория твоего дистрибутива, т.е. что-то вроде

apt-get install nvidia-drivers
или через графическую утилиту.

Если ты ставил дравер посредством скаченного с сайта Nvidia установщика, то ты сам себе заработал проблемы.

kostik87 ★★★★★
()
Ответ на: комментарий от UnCle

Установщик собрал модуль и установил программы для настройки.

Если дрова ставились из репов дистрибутива, там ментейнер мог добавить и автоматическую загрузку модуля и настройки для иксов/вялого.

Radjah ★★★★★
()
Ответ на: комментарий от Aber

modprobe: FATAL: Module nvidia not found in directory /lib/modules/4.12.10-041210-generic

UnCle
() автор топика
Ответ на: комментарий от kostik87

Из центра управления ставил, т.е. из реп. Почему называю установщиком, наверное когда происходит инсталляция дров с репы используется некий алгоритм, скрипт, который можно назвать установщиком или я ошибаюсь? =)

UnCle
() автор топика
Ответ на: комментарий от kostik87

Через Укуй... Сдаётся это поделие накосячило... Хотел по старинке через терминал, чёрт дёрнул на гтк...

UnCle
() автор топика
Ответ на: комментарий от UnCle

Хм, я не понимаю тебя. Приемлем будет ответ ставил из репозитория дистрибутива именно Linux Mint или ставил откуда-то ещё.

kostik87 ★★★★★
()

откатить ядро на 4.10 как в убунте 17.04 и(или) настроить xorg.conf с помощью sudo nvidia-xconfig

ss_ash ★★★
()
Ответ на: комментарий от sehellion

uncle@uncle-Lenovo-G580 ~ $ grep 'nouveau' /etc/modprobe.d/* | grep nvidia /etc/modprobe.d/nvidia-384_hybrid.conf:blacklist nouveau /etc/modprobe.d/nvidia-384_hybrid.conf:blacklist lbm-nouveau /etc/modprobe.d/nvidia-384_hybrid.conf:alias nouveau off /etc/modprobe.d/nvidia-384_hybrid.conf:alias lbm-nouveau off uncle@uncle-Lenovo-G580 ~ $

UnCle
() автор топика
Ответ на: комментарий от sehellion

Возможно, но как понять что это так? Думаю нубу простительно.

UnCle
() автор топика
Ответ на: комментарий от ss_ash

uncle@uncle-Lenovo-G580 ~ $ sudo nvidia-xconfig

[sudo] пароль для uncle:

sudo: nvidia-xconfig: команда не найдена

uncle@uncle-Lenovo-G580 ~ $

UnCle
() автор топика
Ответ на: комментарий от UnCle

Повторяю вопрос. В официальном репозитории Linux Mint 18.2 НЕТ пакета с ядром указанной версии.

Ты пишешь:

Ставил из реп мяты

Следовательно ты подключил сторонний репозиторий.

В общем, либо удаляй новое ядро либо ищи как пакет с версией Nvidia Drivers не ниже 384.59. Ибо более младшие версии не поддерживают сборку модуля ядра для ядер 4.12 и выше.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Понятно, я подумал, что ты имел ввиду про драйвера. Теперь уточняю. Ядро обновлял вначале до 4.10 через обновление мяты, после этого поставил через центр управления драйвер нвидиа-375, результат стал тот же, что и сейчас - модуль нвидиа не грузиться. На данный момент установлено ядро 4.10.0 и драйвер нвидиа 384.69 - история таже модуль нвидиа не грузиться.

UnCle
() автор топика
Ответ на: комментарий от UnCle

Что касается экспериментов с ядром 4.12 оно было установлено через ГТКашную программку UKUU которая тащит сборки ядер с репы УБУНТЫ.

UnCle
() автор топика
Ответ на: комментарий от UnCle

С ядром допустим разобрались, а как ставил «драйвер нвидиа 384.69»?

Ни в репозитории Ubuntu, ни в репозитории Linux Mint нет пакета с такой версией.

kostik87 ★★★★★
()
Ответ на: комментарий от UnCle

В пакете с драйвером содержится директория с исходными кодами модуля ядра: /usr/src/nvidia-384-384.69/

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

Для сборки модуля помимо ядра должен быть установлен пакет с Linux Headers (заголовочными файлами) под соответствующее ядро.

Ищи пакет linux-headers или kernel-headers под соответствующую версию ядра и ставь его.

Затем можешь попробовать запустить скрипт из этой директории /usr/src/nvidia-384-384.69/ для сборки модуля под нужное ядро.

Но вообще всё должно как-то само работать через dkms, почитай как средствами dkms собрать модуль nvidia.

Посмотри что установлены нужные пакеты:

dpkg -l | grep "nvidia\|headers"

kostik87 ★★★★★
()

Welcome to Linux where nothing ever really works.

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

Под 4.12 модуль указанной версии драйвера должен собираться.

kostik87 ★★★★★
()
Ответ на: комментарий от UnCle

Выноси все свои ппа и укуи и ставь дрова и ядро с оф репозитория. И смысл гнаться за новыми ядрами, если всё работает?

ss_ash ★★★
()
Ответ на: комментарий от kostik87

uncle@uncle-Lenovo-G580 ~ $ dpkg -l | grep "nvidia\|headers" ii linux-headers-4.10.0-041000 4.10.0-041000.201702191831 all Header files related to Linux kernel version 4.10.0 ii linux-headers-4.10.0-041000-generic 4.10.0-041000.201702191831 amd64 Linux kernel headers for version 4.10.0 on 64 bit x86 SMP ri linux-headers-4.8.0-53 4.8.0-53.56~16.04.1 all Header files related to Linux kernel version 4.8.0 ri linux-headers-4.8.0-53-generic 4.8.0-53.56~16.04.1 amd64 Linux kernel headers for version 4.8.0 on 64 bit x86 SMP rc nvidia-375 375.66-0ubuntu0.16.04.1 amd64 NVIDIA binary driver - version 375.66 ii nvidia-384 384.69-0ubuntu0~gpu16.04.1 amd64 NVIDIA binary driver - version 384.69 rc nvidia-opencl-icd-375 375.66-0ubuntu0.16.04.1 amd64 NVIDIA OpenCL ICD ii nvidia-opencl-icd-384 384.69-0ubuntu0~gpu16.04.1 amd64 NVIDIA OpenCL ICD ii nvidia-prime 0.8.2linuxmint1 amd64 Tools to enable NVIDIA's Prime ii nvidia-settings 361.42-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver ii x11proto-core-dev 7.0.31-1~ubuntu16.04.1 all X11 core wire protocol and auxiliary headers uncle@uncle-Lenovo-G580 ~ $

uncle@uncle-Lenovo-G580 ~ $ dkms status bbswitch, 0.8, 4.10.0-041000-generic, x86_64: installed ndiswrapper, 1.60, 4.10.0-041000-generic, x86_64: installed ndiswrapper, 1.60, 4.8.0-53-generic, x86_64: installed nvidia-384, 384.69, 4.10.0-041000-generic, x86_64: installed virtualbox-guest, 5.0.40, 4.10.0-041000-generic, x86_64: installed virtualbox-guest, 5.0.40, 4.8.0-53-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) uncle@uncle-Lenovo-G580 ~ $

UnCle
() автор топика
Ответ на: комментарий от ss_ash

И смысл гнаться за новыми ядрами, если всё работает?

с ядром 4.8 всегда наблюдался один неприятный косяк - в режиме работы с графикой intel спонтанно могла сама включиться nvidia вследствие чего повышенный нагрев и шум вентиля ноута, в версии ядра 4.10 такой неприятности не замечалось ни разу, да и проблем с установкой дров нвидиа на версии ядра 4.10 на этом же дистре 18.2 тоже не замечалось, то что случилось в данной ситуации для меня неожиданность. =\

UnCle
() автор топика
Ответ на: комментарий от UnCle

Так, пакета linux-headers-4.12-что-то_там в системе не установлено.

Для сборки модуля он нужен.

Если будешь собирать средствами dkms модуль nvidia под ядро 4.12, то нужно в начале установить соответствующий пакет linux-headers.

Если хочешь загрузиться на старом ядре с драйвером nvidia, то в начале нужно заблокировать загрузку модуля nouveau.

Для этого нужно выполнить эту команду:

Далее удостоверься, что для нужного тебе ядра собран соответствующий модуль nvidia.

find /lib/modules -type f -name nvidia*

Кроме всего прочего нужно удостовериться, что для загружаемого ядра собран модуль nvidia именно версии 384.69.

Но судя по вывод 'dkms status':

nvidia-384, 384.69, 4.10.0-041000-generic, x86_64: installed
Модуль собран.

Так что нужно заблокировать загрузку модуля nouveau.

В пакете с драйвером есть соответствующие файлы:
/etc/modprobe.d/nvidia-384_hybrid.conf

# This file was installed by nvidia-384
# Do not edit this file manually

blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off
/lib/nvidia-384/modprobe.conf
# This file was installed by nvidia-384
# Do not edit this file manually

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-current
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current-updates
blacklist nvidia-173-updates
blacklist nvidia-96-updates
blacklist nvidia-384-updates
alias nvidia nvidia_384
alias nvidia-uvm nvidia_384_uvm
alias nvidia-modeset nvidia_384_modeset
alias nvidia-drm nvidia_384_drm
alias nouveau off
alias lbm-nouveau off

options nvidia_384_drm modeset=0

Честно не знаю, но что-то мне подсказывает, что второй файл должен быть так же размещён в /etc/modprobe.d

В общем, удостоверься, что для ядра 4.10 есть файл nvidia_384.ko, на него написан alias.

Помести второй файл в /etc/modprobe.d и пробуй грузиться.

kostik87 ★★★★★
()
Ответ на: комментарий от UnCle

После блокировки модуля nouveau и прочих рекомендаций, можешь в начале заблокировать только модуль nouveau, если загрузка произойдёт некорректно, т.е. без графической оболочки. То в начале зайди в консоли, скопируй файл /var/log/Xorg.0.log, сохрани вывод dmesg

dmesg > ~/dmesg.log
, затем убери файл с блокировкой модуля nouveau, тот в котором написано 'blaclist nouveau', затем грузись в графическую оболочку и заливай на pastebin сервис содержимое скопированного файла и файла ~/dmesg.log.

Сюда помести ссылки.

UPD:
А так, для того, что бы ставить что-то не из репозитория дистрибутива, а из стороннего, т.е. без всяких «укку» или ppa, а только из репозитория Linux Mint ты должен чётко понимать как устроен Linux. В частности грузятся модули ядра, что нужно для их сборки, что модули собираются под каждое ядро в отдельности. Какие нужно соблюсти условия, что бы грузился это модуль, а не другой.

И многое ещё другое.

В общем, если твоих знаний недостаточно, то не надо подключать ничего стороннего и ставить всё только из репозитория дистрибутива.

Повторяю «укку» и ppa - это не репозиторий дистрибутива. Да, хоть Linux Mint основан на пакетной базе Ubuntu, но всё же отличия есть и подключать к одному дистрибутиву репозитории от другого не надо.

Ещё более важное:
Задавая вопрос на форуме ты ДОЛЖЕН чётко и ясно описать твою ситуацию, какие настройки ты в нёс в эталонную конфигурацию, какие команды вводил, прочее.

В данном случае в первом сообщении темы с описанием проблемы ты был ОБЯЗАН написать:

  • Версию дистрибутива и архитектуру;
  • Сказать как ты ставил новое ядро и драйвер, т.е. указать, что ты подключил сторонний репозиторий.

Ибо способов установки драйвера есть несколько:

  • Из ОФИЦИАЛЬНОГО репозитория дистрибутива;
  • Из стороннего репозитория, коих не один;
  • Установка установщиком с сайта Nvidia;
  • Сборка на основе установщика DEB пакета для установки в систему;

Для новичка подходит только первый способ.

Удачи. , но единственно правильный для новичка

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Ему бесполезно что-то писать. Выше я уже кидал ссылку на статью о том как правильно задавать вопросы,но ТС её проигнорил. Так и тебя проигнорит.

misteralter
()
Ответ на: комментарий от misteralter

Возможно, но я надеюсь, что получив пример того, что в начале ему задавалась куча вопрсов, что бы определить, «что, как и где» у него, а потом уже появились какие-то советы. Он всё же поймёт как правильно задавать вопросы на техническом форуме.

А то в общем случае ответ на его вопрос в общем форме может звучать примерно: «поставь драйвер так, что бы загружался модуль ядра Nvidia под используемое ядро и в конфигурации xorg-server`а было указано использовать драйвер nvidia».

kostik87 ★★★★★
()

в шоке что за чушь советуют

качаешь новые дрова и ставишь из консоли, все

при обновлении ядра/иксов нужно пересобирать модуль нвидии(переустанавливтаь дрова)

anonymous
()
Ответ на: комментарий от kostik87

Преогромнейше благодарен, буду пробовать доковырять, специально сделал восстановление образа на новый не размеченный раздел, чтобы доковыряться с этой проблемой, поскольку мне более важно не решить, а именно понять, почему и что сломалось в моём случае. Думаю, что благодаря таким как ты, доля популярности линукс изменится с нынешних 3 процентов. Спасибо.

UnCle
() автор топика
Ответ на: комментарий от kostik87

Касаемо правильности задаваемых вопросов понял, просто не особо понимал важности, наверное потому, что отношусь к этому обычный пользователь. Ёщё раз спасибо.

UnCle
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.