Мирное сосуществование Intel и Nvidia GLX

У меня ноутбук Optimus, поэтому есть карты Intel и NVIDIA. Он работал хорошо в течение многих лет (работает 12.04) с использованием шмеля. Да, я знаю, что есть лучшие варианты, но они работают отлично.

Проблема в том, что по разным причинам мне понадобился инструментарий CUDA 6, что означает внешнюю установку. Неудивительно, что это раздавило мою библиотеку GLX.

В настоящее время аппаратное обеспечение nvidia работает нормально, но аппаратное обеспечение Intel (то есть мой xserver на: 0) не может успешно загрузить GLX. Я бы рискнул предположить, что, возможно, это как-то связано с журналом инициализации intel xorg, содержащим

[    77.269] (II) LoadModule: "glx"
[    77.269] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    77.277] (II) Module glx: vendor="NVIDIA Corporation"
[    77.277]    compiled for 4.0.2, module version = 1.0.0
[    77.277]    Module class: X.Org Server Extension
#...
[    77.469] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

dpkg -S, что /usr/lib/xorg/modules/extensions/libglx.so «принадлежит» xserver-xorg-core, так что я достаточно уверен что принудительная переустановка этого пакета вернет libglx.so к «правильной» версии. Единственная проблема заключается в том, что это сломает сторону NVIDIA.

Intel не использует xorg.conf, Nvidia использует один с помощью шмеля.

Есть ли способ, которым я могу заставить этих двух водителей сосуществовать в мире?

3
задан 24 June 2014 в 23:44

1 ответ

Вы могли бы попытаться восстановить оригинал /usr/lib/xorg/modules/extensions/libglx.so из xserver-xorg-coreInstall xserver-xorg-core. Это - то, что я сделал в аналогичной ситуации. Вот то, как:

  1. Сначала подтвердите, что это было действительно заменено установкой Nvidia:

    debsums xserver-xorg-core | grep libglx.so
    

    Если это показывает FAILED, это означает, что это было на самом деле заменено, и Вы могли попытаться восстановить оригинал.

  2. Для восстановления оригинала сначала найдите .deb имя файла для установленного пакета:

    apt-cache show xserver-xorg-core | grep Filename: | head -1
    

    Это должно показать что-то вроде этого:

    Filename: pool/main/x/xorg-server/xserver-xorg-core_1.7.6-2ubuntu7.12_i386.deb
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
  3. Найдите, где можно загрузить тот файл с, и загружать его. (Обычно Google ищет на имени файла, отмеченном с ^^^^^^ ниже, достаточно.) Сохраняют его на /tmp.

  4. Извлеките необходимый файл из пакета:

    cd /tmp
    dpkg --fsys-tarfile xserver-xorg-core_1.7.6-2ubuntu7.12_i386.deb | tar xvf - ./usr/lib/xorg/modules/extensions/libglx.so
    
  5. Переименуйте файл, который Вы собираетесь заменить (на всякий случай, Вам нужен он позже):

    mv /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/xorg/modules/extensions/libglx.so.orig-20140914
    
  6. Скопируйте исходный файл в его корректное место:

    mv ./usr/lib/xorg/modules/extensions/libglx.so /usr/lib/xorg/modules/extensions/libglx.so
    
  7. Перезапустите свои X (выходить из системы и въезжайте задним ходом от моей графической сессии, был достаточно здесь).

  8. Выполненный glxgears (или Ваша предпочтительная программа GLX) подтвердить все - денди теперь.

Вышеупомянутое тестируется и работающий над моим старым произведением рабочий стол Ubuntu 10.04 (никакая Единица для меня), должен работать над Вашими 12,04 установками также, если Вы выполняете обозначенную процедуру для обнаружения .deb имени пакета (который будет отличаться, чем моя).

1
ответ дан 24 June 2014 в 23:44

Другие вопросы по тегам:

Похожие вопросы: