Оранжевый: Linux (WSL2): Требуется GLX 1.3 или выше

Вопрос или проблема

Когда я создаю виджет облака тегов и в других случаях, я получаю вышеупомянутую ошибку. Знаете ли вы, есть ли способ установить 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).

Вот несколько шагов, которые могут помочь решить вашу проблему:

  1. Обновите X-сервер: Убедитесь, что вы используете последнюю версию X-сервера, который поддерживает GLX. Рассмотрите возможность использования Xming или VcXsrv вместо X2GO, так как они могут предоставить лучшую поддержку GLX.

  2. Проверка и установка необходимых библиотек:
    Убедитесь, что установлены все необходимые библиотеки. Введите следующие команды в терминале вашей Linux-окружения (WSL2):

    sudo apt update
    sudo apt install mesa-utils
  3. Проверка 3D-ускорения:
    После установки библиотек проведите тестирование GLX. Введите в терминал команду:

    glxinfo | grep "GLX version"

    Вы должны увидеть версию GLX, которая должна быть как минимум 1.3.

  4. Использование обертки для GLX:
    Вы упомянули решение, основанное на обертке для GLX, которое может помочь в вашем случае. Вам нужно адаптировать этот подход к вашему окружению WSL2. Вы можете попробовать следующее:

    • Создайте файл обертки, например, glx-wrapper.sh, с таким содержимым:

      #!/bin/bash
      export DISPLAY=:0
      exec /usr/bin/glxgears
    • Не забудьте сделать файл исполняемым:

      chmod +x glx-wrapper.sh
    • Запустите вашу программу с помощью этой обертки:

      ./glx-wrapper.sh
  5. Параметры конфигурации X-сервера:
    Проверьте конфигурацию вашего X-сервера. Иногда, чтобы включить 3D-ускорение и поддержку GLX, нужно отредактировать параметры запуска X2GO или добавлять флаги для более глубоких настроек.

  6. Убедитесь, что WSL2 настроен для работы с графикой:
    Проверьте, включена ли поддержка графики в вашей системе WSL2. Вы можете использовать wsl --set-version <Distro> 2 и wsl --set-default-version 2.

Если после выполнения указанных шагов проблема не решится, вы можете попробовать использовать другой графический клиент, поддерживающий 3D-графику, или попробовать другую версию дистрибутива Linux, так как некоторые из них могут лучше поддерживать ваши требования.

Если у вас есть дополнительные вопросы или нужна помощь, пожалуйста, дайте мне знать!

Оцените материал
Добавить комментарий

Капча загружается...