Вопрос или проблема
Когда я создаю виджет облака тегов и в других случаях, я получаю вышеупомянутую ошибку. Знаете ли вы, есть ли способ установить GLX 1.3 в Linux? Я не нашел хороших источников (гугля) в других местах.
Ниже приведен полный набор сообщений, которые я получаю в сеансе, когда открываю поток с этими компонентами.
qt.qpa.xcb: X-сервер не поддерживает XInput 2
QStandardPaths: XDG_RUNTIME_DIR не установлен, используется значение по умолчанию '/tmp/runtime-calang'
NVD3D10: CPU cyclestats отключены на клиентской виртуализации
NVD3D10: CPU cyclestats отключены на клиентской виртуализации
libGL ошибка: Не найдены соответствующие fbConfigs или visuals
libGL ошибка: не удалось загрузить драйвер: swrast
qt.qpa.xcb: QXcbConnection: ошибка XCB: 1 (BadRequest), последовательность: 169, идентификатор ресурса: 137, основной код: 130 (Неизвестно), второй код: 47
QCssParser::parseColorValue: Указан цвет без значения альфа, но альфа задана: 'rgb 0, 0, 0, 100'
qt.qpa.xcb: QXcbConnection: ошибка XCB: 3 (BadWindow), последовательность: 1045, идентификатор ресурса: 8395506, основной код: 40 (TranslateCoords), второй код: 0
QGLXContext: Не удалось создать контекст заглушки
[3601:3601:0714/164449.837683:ERROR:gl_surface_glx_qt.cpp(141)] Необходим GLX 1.3 или более поздняя версия.
[3601:3601:0714/164449.837738:ERROR:gl_ozone_glx_qt.cpp(57)] GLSurfaceGLXQt::InitializeOneOff не удался.
Сегментационная ошибка
Проблема на самом деле связана с моим GUI (X2GO).
Решение было найдено, которое создает обертку для GLX, отображая графику на xlib: https://github.com/nextcloud/desktop/issues/846, которую я адаптировал к своей ситуации.
Ответ или решение
Проблема, с которой вы столкнулись, связана с отсутствием поддержки GLX 1.3 или более поздней версии в вашей среде WSL2. Это может происходить из-за отсутствия необходимых графических драйверов или неправильной настройки вашего X-сервера (в вашем случае X2GO).
Вот несколько шагов, которые могут помочь решить вашу проблему:
-
Обновите X-сервер: Убедитесь, что вы используете последнюю версию X-сервера, который поддерживает GLX. Рассмотрите возможность использования Xming или VcXsrv вместо X2GO, так как они могут предоставить лучшую поддержку GLX.
-
Проверка и установка необходимых библиотек:
Убедитесь, что установлены все необходимые библиотеки. Введите следующие команды в терминале вашей Linux-окружения (WSL2):sudo apt update sudo apt install mesa-utils
-
Проверка 3D-ускорения:
После установки библиотек проведите тестирование GLX. Введите в терминал команду:glxinfo | grep "GLX version"
Вы должны увидеть версию GLX, которая должна быть как минимум 1.3.
-
Использование обертки для GLX:
Вы упомянули решение, основанное на обертке для GLX, которое может помочь в вашем случае. Вам нужно адаптировать этот подход к вашему окружению WSL2. Вы можете попробовать следующее:-
Создайте файл обертки, например,
glx-wrapper.sh
, с таким содержимым:#!/bin/bash export DISPLAY=:0 exec /usr/bin/glxgears
-
Не забудьте сделать файл исполняемым:
chmod +x glx-wrapper.sh
-
Запустите вашу программу с помощью этой обертки:
./glx-wrapper.sh
-
-
Параметры конфигурации X-сервера:
Проверьте конфигурацию вашего X-сервера. Иногда, чтобы включить 3D-ускорение и поддержку GLX, нужно отредактировать параметры запуска X2GO или добавлять флаги для более глубоких настроек. -
Убедитесь, что WSL2 настроен для работы с графикой:
Проверьте, включена ли поддержка графики в вашей системе WSL2. Вы можете использоватьwsl --set-version <Distro> 2
иwsl --set-default-version 2
.
Если после выполнения указанных шагов проблема не решится, вы можете попробовать использовать другой графический клиент, поддерживающий 3D-графику, или попробовать другую версию дистрибутива Linux, так как некоторые из них могут лучше поддерживать ваши требования.
Если у вас есть дополнительные вопросы или нужна помощь, пожалуйста, дайте мне знать!