Я пытаюсь отобразить мое приложение, которое имеет зависимость WebGL в Electron, на моем ПК с Linux, но на странице ничего не отображается, кроме цвета фона CSS. Когда я удаляю зависимость WebGL, а именно MapboxGL, все отображается нормально.
Я использую X Virtual Frame Buffer, который представляется необходимым для среды Linux, как описано здесь: https://electronjs.org/docs/tutorial/testing-on-headless-ci
Я запускаю Xvfb с помощью этой команды:
Xvfb :99 -screen 0 1024x768x24 > xvfblog.txt 2>&1 &
А потом я запускаю свое приложение с префиксом:
DISPLAY=:99
, чтобы приложение подключалось к экрану X Virtual Frame Buffer.
Я не уверен, имеет ли это отношение, но Xvfb запускается со следующими сообщениями:
Компилятор карты ключей XKEYBOARD (xkbcomp) сообщает:
> Предупреждение: неподдерживаемый код высокого ключа 372 для имени игнорируется
> X11 не может поддерживать коды клавиш выше 255.
> Это предупреждение отображается только для первого кода высокого ключа.
> Внутренняя ошибка: не удалось разрешить keysym XF86WWAN
> Внутренняя ошибка: не удалось разрешить keysym XF86RFKill
> Внутренняя ошибка: не удалось разрешить keysym XF86Keyboard
Ошибки от xkbcomp не являются фатальными для X-сервера
Я также заметил, что когда я тестирую свое приложение с помощью Electron на Macbook, Xvfb не требуется, и мое приложение WebGL отображается очень хорошо.
Я немного озадачен здесь. Есть какие-нибудь предложения о том, что может быть не так, или что я могу исследовать для исправления?