LINUX.ORG.RU

А как вообще настраивают проприетарный драйвер Nvidia руками?

 , ,


1

1

Собственно, сабж.

Настраиваю, значит, драйвер nvidia 390.132 все файлы которого в отдельной директории /usr/lib64/nvidia390 .

Начальные

ln -s /usr/lib64/nvidia390/xorg/nvidia_drv.so /usr/lib64/xorg/modules/drivers/nvidia_drv.so
ln -s /usr/lib64/nvidia390/libvdpau_nvidia.so /usr/lib64/vdpau/libvdpau_nvidia.so.1
понятны, с ними никаких проблем нет. Иксы запускаются, софт в целом работает.

Однако, mpv ругается:

libEGL warning: DRI2: failed to authenticate
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu] Failed initializing any suitable GPU context!
Error opening/initializing the selected video_out (--vo) device.

Если я добавлю в /etc/ld.so.conf «/usr/lib64/nvidia390/» и выполню ldconfig, то mpv перестанет ругаться и заработает.

Однако, тогда некоторый другой софт начнёт ругаться:

> glxinfo
name of display: :0
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  154 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3000003
  Serial number of failed request:  35
  Current serial number in output stream:  35
>

Если же я просто сделаю

rm /usr/lib64/libEGL.so.1 && ln -s /usr/lib64/nvidia390/libEGL.so.1 /usr/lib64/libEGL.so.1
mpv попросит ещё libGLdispatch.so.0
mpv: error while loading shared libraries: libGLdispatch.so.0: cannot open shared object file: No such file or directory
, а после
ln -s /usr/lib64/nvidia390/libGLdispatch.so.0 /usr/lib64/
выпадет в осадок:
Ошибка сегментирования (стек памяти сброшен на диск)

Как этот ребус принято решать?

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

А это родной пакет дистрибутива. Но без автоматической настройки. Автоматическая настройка только в инсталляторе при установке дистрибутива, А если пакет доустановлен, то остаётся только донастраивать его руками.

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

Тогда стоит задуматься о смене дистрибутива на адекватный.

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

А, нет, поторопился. Есть, например, XFdrake. Но ту часть дистрибутива я недонастроил.

Впрочем, почитав .spec файл нашёл там создание файла README.manual-setup. А в нём команды

update-alternatives --set gl_conf /etc/nvidia390/ld.so.conf
ldconfig -X
Примерно тоже самое я уже делал в описании выше. mpv, да, перестаёт ругаться, но некоторый другой софт, наоборот, начинает ругаться.

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

Да всегда кто-то ругается. Ты в ядре debug включи и на всю жизнь начитаешся. Пусть они ругаются и работают. Кто-то свою функцию не выполняет?

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

Кто-то свою функцию не выполняет?

Да, я так и написал. С одними настройками библиотек работает mpv, но не работают, например, mame и retroarch, а с теми настройками библиотек, с которыми работают последние, mpv отказывается воспроизводить видео с аппаратным видеоускорением.

Сейчас завёл для сравнения nouveau. С ним работает весь софт, но аппаратного декодирования видео нет совсем:

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                          --- not supported ---
MPEG2_SIMPLE                   --- not supported ---
MPEG2_MAIN                     --- not supported ---
H264_BASELINE                  --- not supported ---
H264_MAIN                      --- not supported ---
H264_HIGH                      --- not supported ---
VC1_SIMPLE                     --- not supported ---
VC1_MAIN                       --- not supported ---
VC1_ADVANCED                   --- not supported ---
MPEG4_PART2_SP                 --- not supported ---
MPEG4_PART2_ASP                --- not supported ---
DIVX4_QMOBILE                  --- not supported ---
DIVX4_MOBILE                   --- not supported ---
DIVX4_HOME_THEATER             --- not supported ---
DIVX4_HD_1080P                 --- not supported ---
DIVX5_QMOBILE                  --- not supported ---
DIVX5_MOBILE                   --- not supported ---
DIVX5_HOME_THEATER             --- not supported ---
DIVX5_HD_1080P                 --- not supported ---
H264_CONSTRAINED_BASELINE      --- not supported ---
H264_EXTENDED                  --- not supported ---
H264_PROGRESSIVE_HIGH          --- not supported ---
H264_CONSTRAINED_HIGH          --- not supported ---
H264_HIGH_444_PREDICTIVE       --- not supported ---
HEVC_MAIN                      --- not supported ---
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

PS. Это я GeForce GT 1030 купил, да.

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

Кек. Крутил настройки, крутил,... И накрутил, что всё заработало с проприетарным драйвером. А что именно помогло я, к сожалению, пока ещё так и не понял.

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

Крутил настройки, крутил,… И накрутил, что всё заработало

А что именно помогло я, к сожалению, пока ещё так и не понял.

Вся суть так любимого красноглазиками пердолинга с ОС.

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

У тебя система битая. Или железо. Не пеняй на софт. P.S. Скорее железо.

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

Ну, я покрасноглазил немного побольше чем можно было.

Сначала внезапно включился nouveau и я пытался его выключить. Почему-то прямое редактирование /etc/modprobe* мало на что влияет. Еле отключил. Потом решил обратно включить. Опять еле включил. Посмотрел, ужаснулся тормозам в иксах, решил опять выключить. Опять еле отключил. Причём уже через опцию ядра в конфиге загрузчика: «rdblacklist=nouveau». Кстати, модуль nouveau в итоге всё равно загрузился. Ну и в ходе всего я удалял и заново ставил пакеты, да.

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

Весело у вас там . Аж завидно . А я вот не пью сегодня …

anonymous
()

По ходу, дело было так. Когда я запустил XFdrake он решил качнуть мне более свежие проприетарные драйвера через urpmi, который у меня недонастроен (я dnf юзаю). А когда у него это не получилось, то, по ходу, он засунул модуль nouveau мне в initrd.img. А дальше начинается та засада, что, конечно, initrd.img можно автоматически пересоздать через «dracut -f», но если он найдёт запущенный модуль nouveau, то, по ходу, он его опять таки засунет в initrd.img. Когда же я пытался, наоборот, включить nouveau, то его запуску, по ходу, мешали остатки проприетарного драйвера, которые грузились перед ним и тем самым мешали ему подхватить железо.

А при удалении и переустановке пакетов я подчистил ряд левых симлинков, которые я до этого создал руками, и уже потом настроил, по ходу, аккуратнее.

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

initrd.img можно автоматически пересоздать через «dracut -f», но если он найдёт запущенный модуль nouveau, то, по ходу, он его опять таки засунет в initrd.img.

Правильная команда для данного случая:

dracut -f --omit-drivers nouveau

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

У тебя Optimus?

У меня GeForce GT 1030. Уже настроил.

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

На самом деле не так. Ты не вполне владеешь своим дистром.

Maximkati
()

Не выходи из консоли, не совершай ошибку.

Зачем тебе гуй, если ты куришь Шипку?

За консолью бессмысленно все, особенно - возглас счастья.

Только в elinks - и сразу же возвращайся.

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