У меня есть машина с NVIDIA GeForce, которую я не использую для отображения (т. Е. Монитор не подключен к ней), и какой-то более тусклый встроенный графический чип. (Ниже вы найдете соответствующий lshw
список.)
Мои сеансы X работают просто отлично; но когда запускается большинство моих X-приложений (для которых требуется какой-либо необычный GFX или инструментарий), они выдают следующее сообщение об ошибке:
Xlib: extension "GLX" missing on display ":0".
У меня вопрос: как я могу сделать так, чтобы мои приложения обращали внимание на библиотеку не-NVIDIA GLX и использовали ее (без извлечения карты NVIDIA и, конечно же, без переключения монитора на выходные порты)?
Я использую Debian / Linux Stretch 64bit, ядро версии 4.2.6, с LXDE.
Выход lshw -c display
:
*-display
description: VGA compatible controller
product: GK106 [GeForce GTX 650 Ti Boost]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:17 memory:f6000000-f6ffffff memory:e0000000-e7ffffff memory:e8000000-e9ffffff ioport:e000(size=128) memory:f7000000-f707ffff
*-display
description: VGA compatible controller
product: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:30 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)
Выход glxinfo
:
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Xlib: extension "GLX" missing on display ":0".
Выход cat /var/log/Xorg.0.log | grep glx
:
[ 19.287] (II) LoadModule: "glx"
[ 19.787] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 22.727] (II) Module glx: vendor="X.Org Foundation"
Дополнительная информация:
- У меня не установлен
glx-alternative-nvidia
пакет. - Если я загружаюсь с живого образа USB Devuan ASCII, проблема не проявляется.
- Если я создаю
xorg.conf
использованиеXorg :1 -configure
, это то, что он производит (2 раздела «Устройство», один связан сintel
драйвером, другой сnouveau
); но если я закомментирую раздел nouveau и попробую запустить Xorg с этой конфигурацией - он не загрузится, сказав , что не может найти никаких экранов.
источник
bumblebee
и установкаnvidia-bumblebee
(в Debian Jessie, используя пакеты backports gfx).Ответы:
Я прибыл сюда после установки
nvidia-current
из репозитория пакетов и застрял в цикле входа в систему . Я посмотрел на вход в систему~/.xsession-errors
и обнаружил упомянутую ошибку:Xlib: extension "GLX" missing on display ":0".
Я уже удалил,
nvidia-current
и проблема не исчезла. Я тоже неglx-alternative-nvidia
установил. В крайнем случае, я просто удалил все сnvidia
моего Ubuntu (включая CUDA), и оно заработало после перезагрузки.источник
nvidia-current
установил, ни, фактически, ни одинnvidia-
пакет. Но у меня установлена последняя версия CUDA с прилагаемым драйвером (ручной установщик от nvidia). Я знаю, что это ужасный способ, но мне нужна последняя версия.Сначала определите, какой модуль glx используется:
В Debian 8 Jessie моим решением было удалить
glx-alternative-nvidia
пакет. Итак, после перезагрузки:источник
apt-get
пакетах.contrib
репозиторий, чтобы увидеть его. И, вероятно, у вас даже не установлено, и, следовательно, ваша причина отсутствия расширения GLX отличается.cat file | grep pattern
? Почему нетgrep pattern file
?Я решил это, удалив glx-alternative-nvidia
источник
glx-alternative-nvidia
установлен пакет ...У меня были проблемы после обновления Debian 9 после нажатия кнопки перезагрузки для обновления.
При первоначальной установке я следовал инструкциям в вики https://wiki.debian.org/NvidiaGraphicsDrivers
Важными для меня были ...
Затем выполнил перезагрузку
источник
Установите OpenGL на свой компьютер, затем, как уже упоминалось , добавьте следующее
/etc/X11/xorg.conf
:(Замените
nvidia-VERSION
на имя вашего каталога) Это сработало для меня.источник
/etc/X11/xorg.conf
по какой-то причине.sudo nvidia-xconfig
Получил это "расширение" GLX, "отсутствующее", когда я "дистрибутировал" мой Debian (8 -> 9). Решение было довольно простым.
Загрузите установщик вашего драйвера на NVIDIA
После того, как установщик сделал свою работу, GLX вернулся.
PS: Если вы пользователь репозитория, я думаю, что dpkg-перенастроить "имя_пакета_драйвера" сделает то же самое.
источник