Беспроводные выходы или перезагрузка требуют modprobe

Поскольку это не помечено определенной версией 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, который имеет более подробную информацию и содержит полные файлы конфигурации и скрипты.

1
задан 22 March 2014 в 19:13

0 ответов

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

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