LINUX.ORG.RU

Не работает nvidia 340xx из sid в Debian 11 Bullseye

 ,


0

1

Имеется ноут Thinkpad T410i с видеокартой Nvidia GT218 NVS 3100M.

Т.к. из репозитория Debian 11 убрали 340xx драйвер nvidia, то взял его из sid (по совету ZenitharChampion).
Для этого выкачал все пакеты *nvidia-legacy-340xx* из sid c зависимостями и установил их (полный список ниже).
Драйвер встал без ошибок.

# lsmod | grep nvidia
nvidia              10600448  1
drm                   626688  3 nvidia
Но иксы не запускаются (процесс Xorg зависает намертво), а при загрузке в лог ядра пишется:
[    6.793532] BUG: kernel NULL pointer dereference, address: 0000000000000038
[    6.793637] #PF: supervisor read access in kernel mode
[    6.793727] #PF: error_code(0x0000) - not-present page
и так далее (если нужно размещу полный лог).

Помогите советом, как исправить проблему?

Ядро: 5.10.0-18-amd64
Полный список установленных из sid пакетов:

libc6_2.35-3_amd64.deb
libc6-dev_2.35-3_amd64.deb
libc-bin_2.35-3_amd64.deb
libc-dev-bin_2.35-3_amd64.deb
libc-l10n_2.35-3_all.deb
libegl1-nvidia-legacy-340xx_340.108-16_amd64.deb
libgl1-nvidia-legacy-340xx-glx_340.108-16_amd64.deb
libgles1-nvidia-legacy-340xx_340.108-16_amd64.deb
libgles2-nvidia-legacy-340xx_340.108-16_amd64.deb
libnvidia-legacy-340xx-cfg1_340.108-16_amd64.deb
libnvidia-legacy-340xx-compiler_340.108-16_amd64.deb
libnvidia-legacy-340xx-cuda1_340.108-16_amd64.deb
libnvidia-legacy-340xx-eglcore_340.108-16_amd64.deb
libnvidia-legacy-340xx-encode1_340.108-16_amd64.deb
libnvidia-legacy-340xx-fbc1_340.108-16_amd64.deb
libnvidia-legacy-340xx-glcore_340.108-16_amd64.deb
libnvidia-legacy-340xx-ifr1_340.108-16_amd64.deb
libnvidia-legacy-340xx-ml1_340.108-16_amd64.deb
libnvidia-legacy-340xx-nvcuvid1_340.108-16_amd64.deb
locales_2.35-3_all.deb
locales_2.35-3_all.deb.1
nvidia-legacy-340xx-alternative_340.108-16_amd64.deb
nvidia-legacy-340xx-driver_340.108-16_amd64.deb
nvidia-legacy-340xx-driver-bin_340.108-16_amd64.deb
nvidia-legacy-340xx-driver-libs_340.108-16_amd64.deb
nvidia-legacy-340xx-kernel-dkms_340.108-16_amd64.deb
nvidia-legacy-340xx-kernel-source_340.108-16_amd64.deb
nvidia-legacy-340xx-kernel-support_340.108-16_amd64.deb
nvidia-legacy-340xx-opencl-icd_340.108-16_amd64.deb
nvidia-legacy-340xx-smi_340.108-16_amd64.deb
nvidia-legacy-340xx-vdpau-driver_340.108-16_amd64.deb

★★★

Последнее исправление: LinuxUser (всего исправлений: 1)

Ответ на: комментарий от LinuxUser

надо из блоба блобы вытащить(по крайней мере попробовать :)), как бы это странно не звучало:
https://nouveau.freedesktop.org/NVC0_Firmware.html
https://nouveau.freedesktop.org/VideoAcceleration.html#firmware
с 3хх серией не пробовал, у меня 4хх серия и gk106.
которое тоже сломалось с приходом 5.19 и новее :(

etwrq ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Лол, тебя забанят за тупак =)

Это тебя забанят за непонимание идеологии ядра. Читай про «stable API Nonsense». Внутренний API ядра постоянно меняется. Если автор модуля забил на поддержку, то через какое-то время он перестанет работать. Откатывайся до той версии, на которой работает и не гундось. И к открытым модулям, входящим в состав ядра, это тоже относится. На блоб тут кивать не надо.

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

На самом деле, «stable API nonsense» ядра не мешает, потому что модуль для ядра собирается из исходных текстов, которые всегда можно поправить, что и делается.
А вот версия X.org влияет.

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

Ты предлагал использовать дистрибутив времён выпуска железа, а не дистрибутив времён поддержки железа, это кардинально разные вещи, у меня карточка 2010го года выпуска, но это не значит что я должен использовать Debian 6.0 Ведь даже спустя 12 лет в Debian 11 и 12 моя железка поддерживается.

Откатываться назад надо только тогда когда

  • А - из ядра/софта полностью удалено нужное
  • Б - невозможно просто вернуть нужное пересобрав под новое
  • В - невозможно вернуть нужное просто частично исправив

Тогда да.

На блоб кивать надо. Если в подавляющем большинстве случаев касательно модулей и ядра отрабатывает DKMS пересобирая модули для нового ядра, с блобом нужна прослойка совместимости. А модуль можно и подправить если реально сломан интерфейс ядра. =)

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от Darth_Revan

которые всегда можно поправить

Да да да. Архитектура ia64 оставлена в ядре Linux без сопровождения. Отсылки к «всегда можно поправить» почему то не сработали, наличие исходников тоже не помогло. Потому что если нет людей, которые пилят поддержку железа, то окаменелое говно выкидывается.

Вот и с твоим железом так могут сделать. Или так: Исключение файловой системы Lustre из ядра Linux. А можно и так: В ядре Linux из текстовой консоли удалили поддержку прокрутки текста.

А вот версия X.org влияет.

Исходники же ест. Адаптируйте новые иксы к старом либам нвидия. Не? Опять не помогает, да что ж такое.

ox55ff ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Ты предлагал использовать дистрибутив времён выпуска железа, а не дистрибутив времён поддержки железа, это кардинально разные вещи

Невозможно заранее предугадать сколько будет длиться поддержка железа. Плюс для разного железа - разная длительность поддержки. Поэтому правильнее советовать версию времён выпуска. Л - логика.

А модуль можно и подправить если реально сломан интерфейс ядра. =)

Выше ответил, что это всё пустопорожнее балобольство. Могут выкинуть и ничего не подправлять.

ox55ff ★★★★★
()
Последнее исправление: ox55ff (всего исправлений: 1)
Ответ на: комментарий от Wind

Всем спасибо за советы!
Правда пока результат отрицательный :(

etwrq, если с 340xx так и не получится, завтра попробую запихать блобы в nouveau :)

Darth_Revan, поставил firmware-misc-nonfree (пробовал из stable и sid) – не помогло.
Ядро из Debian 10 поставить можно, но вот заголовки ядра (нужны для компиляции модуля nvidia) не ставятся: им нужен gcc-8 с библиотекой libgcc-8-dev 8.3.0-6. Но в Debian 11 есть libc6-dev, который ломает все libgcc-8-dev меньше версии 8.4.0-2. А версии 8.4.0-2 похоже не существует в природе.

Wind, сделал примерно по инструкции на которую указал zenitur:

  1. Добавил архитектуру i386.
  2. Скачал с сайта debian «исходный файлы» для сборки deb пакетов.
  3. Выполнил cd nvidia-graphics-drivers-legacy-340xx-340.108; fakeroot ./debian/rules binary
  4. Поставил собравшиеся пакеты.
  5. В блэклист nouveau добавилось само.
  6. Сделал xorg.conf как в инструкции.
  7. Выполнил update-alternatives --set glx /usr/lib/nvidia и убедился, что nvidia в приоритете запустив update-alternatives --display glx.
  8. Перезагрузился.

К сожалению, симптомы остались те же - иксы не стартуют, в логе ядра NULL pointer dereference, процесс Xorg зависает намертво (от kill -9 не умирает).

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

Всё так, но если у меня принтер Электроника МС6312 1991 года мне надо использовать Linux 0.01 того же года?

Ладно, порой да ломается софт тот же fgrlx радеоновский, но повторюсь это всё же не значит что мне не нужно было не обновляться с Debian Squeeze до сегодняшнего момента. Даже если завтра выкинут radeon драйвер и оставят только amdgpu логично использовать Debian 11 чем Debian 6.

А ТСу если уж откатываться то туда где блоб для GT218 NVS 3100M работает штатно, а не туда когда зарелизилась карточка.

Ятя понял тымя понял =) И мне кажется ты воспринял «забанят за тупак» как наезд, а не как весёлый комент :D

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

У меня тоже ноутбук с debian testing и двойной графикой (но без оптимуса) и я просто сделал apt pinning.

/etc/apt/preferences.d/10-pinning

Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release a=sid
Pin-Priority: 10

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

apt update
apt install nvidia-legacy-340xx-driver

Все заработало, братдебиан жив. Видяха - GeForce 310M [GT218M]

Extraterrestrial ★★★★★
()
Последнее исправление: Extraterrestrial (всего исправлений: 1)
Ответ на: комментарий от Extraterrestrial

Ну хз хз, у меня на невидии ноутбук 12-13 ватт жрет, с интелом - 14-15

Встройка работает без напряга и ее хватает на все мои запросы, ничего тяжелее видосиков 720. А невидия нагревается, вентиль шумит без остановки.

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

Подумываю на Arch вернуться. Году в 2009 на нём сидел. Помню тогда несколько раз хорошо прочувствовал поговорку «не было печали – апдейтов накачали» и перешёл на Debian Stable.

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

Debian - самый что ни наесть комьюнити дистрибутив. Просто тут люди немножко думают о качестве. 340-й драйвер содержит целую россыпь CVE, которые никогда не будут исправлены. Драйвер есть в сиде, но ставить его следует на свой страх и риск, а в нормальной ветке ему абсолютно не место.

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

Можно оставить пакет и пометить его небезопасным. А не выбрасывать и как мантру повторять «EOL EOL EOL». У многих людей куча девайсов, в том числе и ноутбуков с этим железом. Что, выбросить их. Ах да, юзайте неюзабельную nouveau

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

Это так не работает. EOL есть EOL со всеми вытекающими. Из всех дистрибутивов 340 драйвер удалили. Он остается только во всяких аурах и сидах, откуда ставится на свой страх и риск. И тут не может быть другого варианта. А что касается твоего железа, ну у него тоже есть срок поддержки. Производитель решил что она окончена. Тут варианты или выбирать железо, под которое есть свободные драйверы, ну или смириться.

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

Да, только во всех дистрибутивах драйвер работает, а в дебиане некоторое время был сломан(несколько месяцев). И чинить его не хотели категорически. В багрепортах отвечали EOL, работать не может

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

Да, только во всех дистрибутивах драйвер работает, а в дебиане некоторое время был сломан(несколько месяцев). И чинить его не хотели категорически. В багрепортах отвечали EOL, работать не может

Где-то что-то во всех дистрибутивах перманентно сломано. И уж проблемы с EOL драйвером явно не самая большая проблема. Драйвер есть? Есть. Работает? Ну вроде как работает. Значит никакой проблемы нет.

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

Всем спасибо! Заработало!

Поставил ядро 5.19 из бэкпортов:

apt install {linux-image-5.19.0-0.deb11.2-amd64,linux-headers-5.19.0-0.deb11.2-amd64,linux-headers-5.19.0-0.deb11.2-common}/bullseye-backports
и драйвер 340xx из sid-а по этой инструкции:
wget http://deb.debian.org/debian/pool/non-free/n/nvidia-graphics-drivers-legacy-340xx/{nvidia-graphics-drivers-legacy-340xx_340.108-16.dsc,nvidia-graphics-drivers-legacy-340xx_340.108.orig-amd64.tar.gz,nvidia-graphics-drivers-legacy-340xx_340.108.orig-armhf.tar.gz,nvidia-graphics-drivers-legacy-340xx_340.108.orig-i386.tar.gz,nvidia-graphics-drivers-legacy-340xx_340.108.orig.tar.gz,nvidia-graphics-drivers-legacy-340xx_340.108-16.debian.tar.xz}

dpkg-source -x *.dsc
cd nvidia-graphics-drivers-legacy-340xx-340.108
fakeroot ./debian/rules binary
cd ..
dpkg -i *.deb

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

340-й драйвер содержит целую россыпь CVE

Не знал, спасибо. Отключил в браузере 3D, по идее это должно свести риск к нулю.

LinuxUser ★★★
() автор топика
Последнее исправление: LinuxUser (всего исправлений: 1)