Проблемы с шмелем Debian

Я нахожусь на чистой минимальной установке Debian Stretch с установленной парой графических пакетов. Я привил такие:

sudo apt install xserver-xorg-core xinit bumblebee-nvidia primus primus-libs:i386 libgl1-nvidia-glx:i386

Но я мог поменять пропиетарный bumblebee-nvidia на открытый bumblebee.

Еще я поместил своего пользователя в группу шмелей:

sudo adduser $USER bumblebee

После перезагрузки моя карта Intel работает нормально:

ziga@ziga-laptop:~$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

Но моя карта Nvidia, которая называется Geforce 610M, не будет работать при вызове с optirun:

ziga@ziga-laptop:~$ optirun glxinfo | grep OpenGL
primus: fatal: failed to load any of the libraries: /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1:/usr/lib/i386-linux-gnu/nvidia/libGL.so.1:/usr/lib/nvidia/libGL.so.1
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1: wrong ELF class: ELFCLASS32
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory

Если я использую apt для поиска своей карты, я получаю следующее:

ziga@ziga-laptop:~$ sudo apt search 610M
Sorting... Done
Full Text Search... Done
nvidia-legacy-304xx-driver/stable 304.137-5~deb9u1 amd64
  NVIDIA metapackage (304xx legacy version)

nvidia-legacy-304xx-kernel-dkms/stable 304.137-5~deb9u1 amd64
  NVIDIA binary kernel module DKMS source (304xx legacy version)

nvidia-legacy-304xx-kernel-source/stable 304.137-5~deb9u1 i386
  NVIDIA binary kernel module source (304xx legacy version)

xserver-xorg-video-nvidia-legacy-304xx/stable 304.137-5~deb9u1 amd64
  NVIDIA binary Xorg driver (304xx legacy version)

Из этого я бы установил nvidia-legacy-304xx-driver, но боюсь, что это не будет работать с другими пакетами, которые я установил выше. Возможно ли, что мне тоже понадобится xserver-xorg-video-nvidia-legacy-304xx?

Может ли кто-нибудь объяснить мне, какие пакеты устанавливать и почему?


Что ж, я не мог больше ждать и попытался установить xserver-xorg-video-nvidia-legacy-304xx. Похоже, этот пакет действительно конфликтует с пакетом bumblebee-nvidia. Получил после установки:

nvidia-legacy-304xx:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.9.0-8-amd64/updates/dkms/

depmod...

DKMS: install completed.
Setting up nvidia-legacy-304xx-driver (304.137-5~deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for glx-alternative-nvidia (0.8.3~deb9u1) ...
Processing triggers for menu (2.1.47+b1) ...
Processing triggers for update-glx (0.8.3~deb9u1) ...
Processing triggers for glx-alternative-nvidia (0.8.3~deb9u1) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/nvidia/bumblebee because link group glx is broken
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.9.0-8-amd64
Processing triggers for bumblebee (3.2.1-14) ...

Я удалил xserver-xorg-video-nvidia-legacy-304xx и попытался установить пакет nvidia-legacy-304xx-driver, который также установил пакет xserver-xorg-video-nvidia-legacy-304xx. Он не вернул ни предупреждений, ни ошибок, но после перезагрузки команда optirun glxinfo | grep OpenGL по-прежнему не работает ...

Похоже, что для этого нет решения даже в Debian, который должен был быть стабильным?


Как и предположил @Antonio Orizondo Leyva, я установил пакеты, которые он предлагает, и выполнил команду sudo update-alternatives --config glx, и мне нужно было выбрать разные параметры для своего графического процессора:

There are 3 choices for the alternative glx (providing /usr/lib/glx).

  Selection    Path                       Priority   Status
------------------------------------------------------------
  0            /usr/lib/nvidia/bumblebee   125       auto mode
  1            /usr/lib/mesa-diverted      5         manual mode
  2            /usr/lib/nvidia             100       manual mode
* 3            /usr/lib/nvidia/bumblebee   125       manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Я попытался выбрать каждый из них, а затем перезагрузился, но конечный результат был таким же ... За исключением второго варианта (nvidia), который после перезагрузки сказал, что не может найти openGL.1.so или что-то в этом роде ... Так что невозможно даже использовать карту Nvidia отдельно !?

Любые другие идеи?


person 71GA    schedule 21.11.2018    source источник


Ответы (2)


У меня были похожие проблемы с GTX 1050.
Я думаю, что вы можете обойти команду nvidia-detect, поэтому вот что я сделал в 64-битном ядре Debian Buster 4.17:

  1. Выполнять

    apt install bumblebee-nvidia linux-headers-$(uname -r)
    

    Это должно установить nvidia-driver, bbswitch-dkms и blacklist, которые были необходимы в /etc/modprobe.d. Вам понадобятся заголовки вашего запущенного ядра для добавления новых модулей (bbswith и nvidia*, в моем случае nvidia-current).

У меня не было необходимости добавлять арку i386, и все работает нормально, проверьте поставщика glx, с которым вы используете

update-alternatives --config glx

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

person Antonio Orizondo Leyva    schedule 01.01.2019
comment
Я попробовал это и потерпел неудачу. Я обновил свой вопрос соответственно. - person 71GA; 06.01.2019

Прочитав этот отчет об ошибке Debian, я понял, что мне следует установить пакет libgl1-nvidia-glx. Это устранило мои проблемы, но я должен критиковать Debian за это, потому что на их официальной веб-странице Bumblebee это сказал использовать эту команду для установки:

sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install bumblebee-nvidia primus primus-libs:i386 libgl1-nvidia-glx:i386

Но в этой команде отсутствует критически важный libgl1-nvidia-glx, который необходимо установить вместе с его i386 cuonterpart, чтобы все APS работали!

Итак, цитата из Debian:

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

person 71GA    schedule 06.01.2019