Нет GLX на карте Intel с мультисетом с дополнительной картой nVidia

Маркировка разделов возможна с использованием инструмента GParted. Вы просто выбираете раздел, для которого хотите изменить ярлык, и щелкните правой кнопкой мыши и выберите опцию метки. Однако вы не можете изменить ярлык для смонтированных разделов, поэтому вам не повезло для системных разделов.

1
задан 22 November 2012 в 00:12

5 ответов

Итак, я немного поработал и обнаружил, что существует множество способов, которыми вы можете достичь конфигурации Multiseat (Multi-station, multi-terminal и т. д.).

1) Метод, который я бы рекомендовал, поскольку он использует ваш стандартный Xorg и встроенный драйвер ядра, использует evdev. Ниже приведено руководство по настройке конфигурации 4-го и 4-го мониторов с использованием evdev. Руководство предназначено для Debian Sarge и SiS gpus, но я думаю, вы можете сделать много полезной информации из этого руководства: https://en.wikibooks.org/wiki/Multiterminal_with_evdev

1) Другой метод - использование Xypher, другого X-сервера Windows на базе KDrive. Я не уверен, что это маршрут, по которому вы хотите отправиться, но в любом случае это гид: https://en.wikibooks.org/wiki/Multiterminal_with_evdev

[d7 ] Xypher Другой вариант - использовать инструмент под названием evdev , который обещает автоматизировать весь процесс установки для вас, однако он, похоже, не обновляется, поэтому я не рекомендую его. Вы можете легко найти его с помощью Google в качестве крайней меры.

Я не знаю, что у вас есть или еще не сделал с вашей конфигурацией, поэтому лучше всего прочитать руководство evdev и попробуйте определить шаги, которые вы еще не сделали. Самые большие различия, которые я вижу, - это A) В примере xorg.conf есть только 1 раздел Screen и ServerLayout. Дополнительные экраны и ServerLayout определены в отдельном conf все вместе: xorg.conf.probe B) Кроме того, все на устройствах явно ссылаются их идентификаторы BusID, которые были получены с использованием lspci и C). Прерывания отключены на irq 10.

Надеюсь, это поможет вам начать работать, удачи!

1
ответ дан 25 May 2018 в 04:07
  • 1
    Хорошо, это очень помогает. Я попробую с двумя различными файлами xorg.conf и надеюсь, что это сработает. – MeanEYE 25 November 2012 в 00:16
  • 2
    Это все еще не решает мою проблему с загрузкой nVidia GLX в случае карты Intel. – MeanEYE 25 November 2012 в 03:52

На моей стороне, с Ubuntu 14.04, пути различны, а проприетарный драйвер Nvidia переопределяет libglx.so в /usr/lib/xorg/modules/extensions/libglx.so.

Чтобы решить проблему, я дублирую /usr/lib/xorg/modules в /usr/lib/xorg/modules-nvidia и затем переустановите Intel friendly libglx.so с помощью:

sudo apt-get install --reinstall xserver-xorg-core

Это восстановление оригинала libglx.so. На xorg.conf.nvidia я добавляю путь к допустимым модулям:

Section "Files" ModulePath "/usr/lib/xorg/modules-nvidia" EndSection

Кроме того, в /etc/lightdm/lightdm.conf я должен добавить: xserver-command=/usr/bin/X -sharevts в [Seat:1] раздел. Этот отзыв был найден здесь.

Большое спасибо здесь , который указывает мне правильно.

1
ответ дан 25 May 2018 в 04:07

Поскольку это не помечено определенной версией Ubuntu, и существующие ответы не полностью работали с моей системой (Ubuntu 15.10), я отправляю этот ответ, который использует logind.

В принципе, чтобы заставить GLX и libGL работать, вы должны настроить как X-сервер, так и пользовательский сеанс для использования правильной реализации libGL в зависимости от места.

Поэтому вам нужен сценарий оболочки для LightDM для start X и скрипт Xsession для установки LD_LIBRARY_PATH, чтобы сеанс использовал правильный libGL.

В /etc/X11/Xsession.d/00ldlibrary:

#!/bin/bash

if ps aux | grep "/usr/local/bin/X $DISPLAY" | grep -q seat1; then
    export LD_LIBRARY_PATH=/usr/lib/nvidia-352:/usr/lib32/nvidia-352
fi
if ps aux | grep "/usr/local/bin/X $DISPLAY" | grep -q seat0; then
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/
fi

(предполагается, что seat1 использует nvidia и seat0 mesa)

Аналогично, вам нужно обернуть X-сервер (/usr/local/bin/X):

#!/bin/bash

if grep -q seat1 <<<$*; then
    export LD_LIBRARY_PATH=/usr/lib/nvidia-352
    echo "Detected seat1, using nvidia-352 libs"
fi
if grep -q seat0 <<<$*; then
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa
    echo "Detected seat0, using mesa libs"
fi

exec /usr/bin/Xorg "$@"
[ ! d9]

Наконец, вам нужно настроить LightDM, чтобы использовать их в /etc/lightdm/lightdm.conf:

[Seat:*]
# needed to use the correct libraries for mesa/nvidia,
# along with a Xsession.d script (00ldlibrary)
xserver-command=/usr/local/bin/X
session-setup-script=/etc/X11/Xsession.d/00ldlibrary

Подробнее см. в разделе myiseise-mesa- nvidia repo, который имеет более подробную информацию и содержит полные файлы конфигурации и скрипты.

0
ответ дан 25 May 2018 в 04:07

В Ubuntu 16.04 мне нужно было обновить обертку /usr/local/bin/X:

exec /usr/bin/Xorg -modulepath '/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules' "$@"

/etc/X11/Xsession.d/00ldlibrary может протестировать переменную $XDG_SEAT и установить export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/ только для карты Intel.

0
ответ дан 25 May 2018 в 04:07

Я использую Arch linux, но это немного помогло мне получить как Intel, так и мои драйверы Nvidia, загруженные функциональностью gl/vaapi/vdpau.

Все, что вам нужно сделать (q & amp; d ):

Установите проприетарный nvidia-utils.

Скопируйте /usr/lib/xorg/modules в /usr/lib/xorg/modules_nvidia

Загрузите и распакуйте последние libva-intel-driver, mesa-vdpau, mesa, mesa-libgl и xorg-server в качестве пакетов, соответствующих вашей архитектуре в отдельном каталоге. Затем cp -r (как root / sudo) содержимое "separate directory"/usr/lib будет выглядеть как /usr/lib_intel и "separate directory"/usr/lib/xorg/modules/* в вашем фактическом каталоге /usr/lib/xorg/modules (переписывание).

И

[ f1]

Перезагрузите X-Servers, попробуйте glxinfo

Это, конечно, саморазрушится на nvidia-updates.

Я узнал, что это не работает при перезагрузке .

Гораздо лучше взломать:

Не создавать файл ld.so.conf.d /. Вместо этого добавьте следующее в / usr / bin / X:

PREV_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
if [[ "$@" == *"vt7"* ]]
then
export LD_LIBRARY_PATH=/usr/lib_intel;$PREV_LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib_intel/libGL.so
fi

измените «vt7» на то, что использует ваш диспетчер дисплея, чтобы запустить ваш x-сервер intel (: 0,: ​​2, vt7, vt8 , isolatodevice = ...)

Конечно, вы также можете скопировать / usr / bin / X в / usr / bin / Xintel и отредактировать это, указав свой wm на этот файл (kdm 'ServerCmd' ).

Затем отредактируйте или создайте новый файл сеанса, то есть / usr / bin / startkde (без проверки для DISPLAY #!), добавив:

export LD_LIBRARY_PATH=/usr/lib_intel;$PREV_LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib_intel/libGL.so

That Кстати, вам даже не нужно ничего перезаписывать. rm'ing каталог / usr / lib_intel и сброс 2 отредактированных файлов - это все, что вам нужно сделать, чтобы снова удалить этот хак.

-1
ответ дан 25 May 2018 в 04:07
  • 1
    Ubuntu сильно отличается от Arch Linux, поэтому, хотя общая идея хорошая (LD_LIBRARY_PATH), она не будет работать в системе Ubuntu. – Léo Lam 13 February 2016 в 21:42

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

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