[Решено] Проблема с проприетарным драйвером Nvidia на Debian 10.4

Автор Demetrum24579, 29 июля 2020, 01:42:56

« назад - далее »

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

Demetrum24579

Доброго времени суток! Недавно перешёл на Debian Linux после довольно долгого опыта с Linux Mint и мне безумно понравился этот дистрибутив. Всё работает отлично, но есть одна проблема: ни одна версия проприетарного драйвера Nvidia не хочет нормально работать, а некоторые и вовсе не встают и, следовательно, я не могу задействовать видеокарту нормально. Если верить сведениям от nvidia-detect, то моя видеокарта поддерживает последний видеодрайвер (440.100.2) (пакет nvidia-driver). В общем, устанавливаю я его - вроде бы всё хорошо, перезагружаюсь - не работает Nvidia X Server! Ну, думаю, ладно, может прокатит от sudo запустить его... Захожу в терминал, запускаю оттуда и мне он пишет следующее:
Открыть содержимое (спойлер)
ERROR: Unable to load info from any available system
[свернуть]
Собственно, я не могу войти в так называемую "панель управления", чтобы настроить параметры драйвера..
Пытаюсь это всё сделать на ноутбуке с гибридной графикой, по параметрам вот что:
Открыть содержимое (спойлер)
Ноутбук: Asus X555LJ
ОС: Debian Linux 10.4 Testing
Ядро: Linux 5.7
Окружение: KDE Plasma 5
Встроенное видеоядро: Intel HD Graphics 5500
Дискретная графика: Nvidia GeForce 920M
[свернуть]
И что бы я не делал - не получается решить проблему. Даже ставил Legacy-драйвер версии 390 - там уже Nvidia X Server открывался, но на что-то жаловался и в панели было доступно только два пункта. Подключал PPA-репозитории от Ubuntu (ppa:graphics-drivers) - оттуда пакеты качаются, но при установке пишет, что всё завершилось ошибкой и в итоге пакеты nvidia-driver-xxxx и nvidia-dkms-xxxx не устанавливаются. В общем, это я могу списать на то, что пакеты для Ubuntu не могут встать на Debian, т.к. дистрибутивы разные, хотя я могу быть неправ. Даже скачивал с официального сайта Nvidia пакет .run и пытался из-под него установить - оттуда вообще ставиться не хочет.
Вот, что пишет при попытке установить из run-пакета:
Открыть содержимое (спойлер)
ERROR: Failed to run '/usr/sbin/dkms build -m nvidia -v 430.40 -k
                5.7.0-1-amd64':
                Kernel preparation unnecessary for this kernel. Skipping...

                Building module:
                cleaning build area...
                'make' -j4 NV_EXCLUDE_BUILD_MODULES=' '
                KERNEL_UNAME=5.7.0-1-amd64 IGNORE_CC_MISMATCH=' '
                modules......(bad exit status: 2)
                Error! Bad return status for module build on kernel:
                Consult /var/lib/dkms/nvidia/430.40/build/make.log for more
                information.
[свернуть]
Вот такая беда... Уже несколько дней пытаюсь найти решение проблемы - никак не найду и никак не решу проблему. Например, в Linux Mint, на котором я сидел ранее, всё работало нормально - драйвер вставал, Nvidia X Server работал, правда, был тиринг, но я его решил быстро. А вот с Debian мне что-то не повезло...
Можно ли как-то решить эту проблему? Бог с ним, с этим run-пакетом, с репозиториев можно как-то нормально их поставить? Или нужно копать куда-то в другую сторону? Мне не хочется переходить на Mint обратно, мне Debian очень понравился и на нём отлично всё работает, за исключением проприетарного драйвера. Заранее спасибо!

ogost

X Server - самостоятельный проект, не стоит называть его Nvidia X Server. Это я так, к мелочам придираюсь, не обессудьте. Ну и по традиции, не делайте из Дебиана франкенштейна, подключая сторонние репозитории вроде Убунту ппа.
С инглишом дружите? Если да, то вот здесь описано как настроить систему с гибридной графикой. По ссылке есть так же страничка на русском языке, но она немного устарела.
В общем, по ссылке всё сводится к подключению веток non-free и contrib и к комнанде

sudo apt install bumblebee-nvidia primus

Если и это не получится - посмотрите в биосе, может есть возможность просто отключить встроенную графику.

Demetrum24579

#2
ogost,
Цитата: ogost от 29 июля 2020, 04:55:36X Server - самостоятельный проект, не стоит называть его Nvidia X Server
Я имел ввиду Nvidia X Server Settings. Это приложение такое, которое ставится с установкой драйвера и вызывается оно либо щелчком в меню приложений, либо командной nvidia-settings в терминале. А что такое X Server/X11/Xorg - я знаю :)

Цитата: ogost от 29 июля 2020, 04:55:36В общем, по ссылке всё сводится к подключению веток non-free и contrib и к комнанде
Это я и делал. У меня подключены non-free репозитории и оттуда я, собственно, и скачивал пакет nvidia-driver. Панель управления Nvidia (Она же Nvidia X Server Settings в линуксах) попросту не хотела открываться! Я сперва подумал, что это из-за драйвера, а поскольку в репозиториях Debian нету версии 430.40, которая у меня на Linux Mint стояла, я и решил "сделать франкенштейна" и подключил PPA, но оттуда пакет драйвера вообще не устанавливался, хотя скачивался и ничего ему не мешало. Вот поставил обратно 440.100.2 из non-free репозитория

Цитата: ogost от 29 июля 2020, 04:55:36sudo apt install bumblebee-nvidia primus
Спасибо, его я поставил и о таком проекте знаю давно уже. Но нельзя ли без этих костылей как-нибудь? Просто под Linux Mint я мог в Nvidia X Server Settings переключить видеокарту и всё бы принудительно стартовало на ней, а тут надо терминалом вызывать её для определённого приложения, ещё и не факт, что оно запустится

Цитата: ogost от 29 июля 2020, 04:55:36может есть возможность просто отключить встроенную графику
Увы, нету :(
Была бы такая возможность, уже давно бы отключил встройку

ogost

Цитата: Demetrum24579 от 29 июля 2020, 12:42:13Я имел ввиду Nvidia X Server Settings.
А, вот вы о чём. Я-то понял из вашего первого поста, что иксы вообще не стартуют.
С bumblebee давно дел не имел, как вариант попробуйте запустить его из терминала без sudo.

Demetrum24579

ogost,
Ну Bumblebee работает, ввожу optirun nvidia-settings -c :8 - Nvidia X Server Settings открывается, но смущает то, что я не могу нормально поменять разрешение виртуального рабочего стола. Оно там по умолчанию стоит на 640x480, а если поставить родное (у меня 1366x768), то оно вроде как сохраняется, но после выхода из Nvidia X Server Settings оно сбрасывается. При этом такие настройки, как анизатропная фильтрация, сглаживание FXAA и параметры в разделе PowerMizer сохраняются. Вообще я не понимаю, почему Nvidia до сих пор не может довести свою же технологию до ума? На Windows 7, к примеру, переключение между встройкой и дискреткой работает нормально. На Linux Mint нужно было руками переключать их - ну это ещё ладно, но вот на Debian почему-то без Bumblebee не обошлось и без него не то, что видеокарта, без него даже Nvidia X Server Settings отказываются работать. Уже даже успел двести раз пожалеть о том, что купил ноут с гибридной графикой :(

380V

#5
Цитата: Demetrum24579 от 29 июля 2020, 21:08:45
ogost,
Ну Bumblebee работает, ввожу optirun nvidia-settings -c :8 - Nvidia X Server Settings открывается, но смущает то, что я не могу нормально поменять разрешение виртуального рабочего стола. Оно там по умолчанию стоит на 640x480, а если поставить родное (у меня 1366x768), то оно вроде как сохраняется, но после выхода из Nvidia X Server Settings оно сбрасывается. При этом такие настройки, как анизатропная фильтрация, сглаживание FXAA и параметры в разделе PowerMizer сохраняются. Вообще я не понимаю, почему Nvidia до сих пор не может довести свою же технологию до ума? На Windows 7, к примеру, переключение между встройкой и дискреткой работает нормально. На Linux Mint нужно было руками переключать их - ну это ещё ладно, но вот на Debian почему-то без Bumblebee не обошлось и без него не то, что видеокарта, без него даже Nvidia X Server Settings отказываются работать. Уже даже успел двести раз пожалеть о том, что купил ноут с гибридной графикой :(
У вас как и у меня проблема измучился искать решение.Тоже ноут с гибридной графикой,тоже на архитектуре Maxwell только чип 970m.
Этот новый драйвер 440 поддерживает управление электропитанием  только с архитектуры Turing,вот пруф:

https://us.download.nvidia.com/XFree86/Linux-x86_64/450.57/README/dynamicpowermanagement.html

Нам только bumbulbee остается или скрипт nvidia-xrun.
Я вот установил bumbulbee теперь bbswitch не выключает питание дискретки начались танцы с бубнами не знаю что делать.

Demetrum24579

380V,
Цитата: 380V от 02 августа 2020, 21:02:54Я вот установил bumbulbee теперь bbswitch не выключает питание дискретки начались танцы с бубнами не знаю что делать
1. Сначала скачайте и установите пакет nvidia-prime:
Открыть содержимое (спойлер)
Почему его нету в репозиториях Дебиана - не знаю...
2. Потом вводите в терминал (можно и от root, если sudo не настроено):
Открыть содержимое (спойлер)
sudo nvidia-prime intel
[свернуть]
3. Перезагружаетесь
4. Удаляете информацию из конфига:
Открыть содержимое (спойлер)
sudo nano /lib/modprobe.d/blacklist-nvidia.conf
[свернуть]
5. Опять перезагружаетесь и теперь у вас всё работает от Intel HD Graphics, а при надобности через optirun или primusrun работает дискретка
Лично я именно так вылечил проблему с Nvidia Optimus

В добавок: я бы ещё включил nvidia_drm модуль, чтобы не было тиринга и было нормальное 3D-ускорение.
Для этого добавьте строчку:
Открыть содержимое (спойлер)
options nvidia_drm modeset=1
[свернуть]
В конфиг:
Открыть содержимое (спойлер)
sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf
[свернуть]

380V

Цитата: Demetrum24579 от 03 августа 2020, 20:28:31
380V,
Цитата: 380V от 02 августа 2020, 21:02:54Я вот установил bumbulbee теперь bbswitch не выключает питание дискретки начались танцы с бубнами не знаю что делать
1. Сначала скачайте и установите пакет nvidia-prime:
Открыть содержимое (спойлер)
Почему его нету в репозиториях Дебиана - не знаю...
2. Потом вводите в терминал (можно и от root, если sudo не настроено):
Открыть содержимое (спойлер)
sudo nvidia-prime intel
[свернуть]
3. Перезагружаетесь
4. Удаляете информацию из конфига:
Открыть содержимое (спойлер)
sudo nano /lib/modprobe.d/blacklist-nvidia.conf
[свернуть]
5. Опять перезагружаетесь и теперь у вас всё работает от Intel HD Graphics, а при надобности через optirun или primusrun работает дискретка
Лично я именно так вылечил проблему с Nvidia Optimus

В добавок: я бы ещё включил nvidia_drm модуль, чтобы не было тиринга и было нормальное 3D-ускорение.
Для этого добавьте строчку:
Открыть содержимое (спойлер)
options nvidia_drm modeset=1
[свернуть]
В конфиг:
Открыть содержимое (спойлер)
sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf
[свернуть]
Спасибо.
Что-то я не слышал прл такую технологию nvidia-prime это убунтовский скрипт или что?Вы описали процедуру для убунту?

380V

#8
Я вот тут тему поднял
https://www.linux.org.ru/forum/general/15837281?cid=15837874
в общем то никто не помог.
Дело оказалось в том что
bbswitch не обрабатывает модуль nvidia-modeset начиная с драйвера 358.16.
и  получается bumbulbee не пригоден.

Ребята на github еще в 2015 написали заплатку там прямо код https://github.com/Bumblebee-Project/Bumblebee/pull/709
Правда я не пинимаю как с ним работать и куда его вписывать.
Ясно одно что официально в debidn этот момент с питанием никак не устранен.
Есть патчи в арче и манджаре но это другая история.
Может кто'нибудь знает как работать с кодом для чего его выкладывают на github чтобы куда'-то вписать вероятно))а вот куда не пишут..🙂

Demetrum24579

380V,
Цитата: 380V от 03 августа 2020, 23:01:49bbswitch не обрабатывает модуль nvidia-modeset начиная с драйвера 358.16
Ну не знаю... У меня стоит 440.100.2 драйвер - работает. Если бы не работал, то был бы тиринг, а как включить его - я, вроде, показал Вам комментами выше.
Цитата: 380V от 03 августа 2020, 22:52:49Что-то я не слышал прл такую технологию nvidia-prime это убунтовский скрипт или что?
Нет. Скорее всего ещё один пакет от Nvidia, точно не знаю, но этот пакет позволяет переключать видеокарты для основного рендеринга. После установки проприетарного драйвера Nvidia основной становится она, даже если не работает Nvidia X Server Settings, из-за чего и потребление энергии возрастает, и ноутбук греется больше. С помощью nvidia-prime я основной рендер переключил обратно на встроенное видеоядро, из-за чего и потребление энергии понизилось, и шум лишний пропал, и не греется ноут, а дискретную карту задействую только в тяжёлых задачах (к примеру в играх)

380V

#10
Цитата: 380V от 03 августа 2020, 22:52:49sudo nvidia-prime intel
А что это за команду Вы написали?
Прямо так и вводить в терминале?Передэтим нужно  удалить bumbulbee и bbswitch?
Ответьте это оч важно для меня

Demetrum24579

380V, это команда для переключения основной видеокарты. Если вы введёте её и перезагрузитесь, то рендер будет на встройке, а дискретка задействоваться будет только при вызове optirun <название приложения> или primusrun <название приложения>. Когда приложение, использующее дискретку, закрывается, то дискретка больше не питается и переходит в "спячку". Bumblebee и bbswitch удалять не нужно - они нужны. Нагородили, конечно, эта Nvidia костылей и велосипедов

380V

Цитата: Demetrum24579 от 04 августа 2020, 14:51:20
380V, это команда для переключения основной видеокарты. Если вы введёте её и перезагрузитесь, то рендер будет на встройке, а дискретка задействоваться будет только при вызове optirun <название приложения> или primusrun <название приложения>. Когда приложение, использующее дискретку, закрывается, то дискретка больше не питается и переходит в "спячку". Bumblebee и bbswitch удалять не нужно - они нужны. Нагородили, конечно, эта Nvidia костылей и велосипедов
Буду пробовать!