WebGL не работает должным образом в браузере Raspberry Pi Chromium

10

У меня проблема с WebGL в браузере Chromium Raspberry Pi 3. Я сделал необходимые настройки, но ничего не произошло.

Вот моя информация

  • Устройство: Raspberry Pi 3
  • ОС: Linux raspberrypi 4.9.80-v7 + # 1098 SMP пт. 9 марта 19:11:42 GMT 2018 armv7l GNU / Linux (Raspian Stretch с рабочим столом, я также пробую lite)
  • Браузер: версия браузера chromium => Chromium 60.0.3112.89 Построен на Ubuntu 14.04, работает на Raspbian 9.3
  • Графический драйвер: vc4-kms-v3d

Вот результаты get.webgl.org:

get.webgl.org результаты

Вот пример примера threejs.org ("webgl_animation_cloth"):

Результаты работы сайта threejs.org "webgl_animation_cloth"

Я тестировал те же сайты на Firefox iceweasel.
Они работают, как показано на этих скриншотах:

get.webgl.org результаты (iceweasel)

Результаты сайта threejs.org "webgl_animation_cloth" (iceweasel)

Я попробовал несколько настроек на chrome: // flags, но ничего не изменилось

Когда я начинаю chromium-browserиз командной строки, я вижу

libgl error: MESA-LOADER: failed to retrieve device information

но @ eric-anholt говорят, что это не должно иметь важных последствий.

Мехмет Байрак
источник
Похоже, ошибка для меня. Об этом сообщили ребята из Chromium?
Джон Китс
Я отредактировал вопрос, он дает мне эту ошибку: MESA-LOADER: не удалось получить информацию об устройстве. Я пытаюсь выполнить команду glxgears, чтобы проверить мезу, она выдает ту же ошибку, но она работает, поэтому я запутался :(
Мехмет Байрак
1
Это просто шум от какого-то плохого кода на платформах ARM. Это не сигнал, что что-то сломано.
Эрик Анхольт

Ответы:

7

Итак, я нашел решение здесь: https://www.raspberrypi.org/forums/viewtopic.php?t=191087

  1. используйте raspi-config для включения OpenGL (Full KMS)
  2. удалить "--disable-gpu-compositing" из / etc / chromium-browser / customizations / 00-rpi-var

это все, что вам нужно сделать, чтобы получить вращение куба https://get.webgl.org .

Работает для меня!

JoeyCK
источник
Как вы видите скриншоты Firefox, OpenGL (Full KMS или Fake KMS) включен, и я пробую флаги. Я думаю, что это интересная часть, все кажется законным, но куб не показан!
Мехмет Байрак
@ MehmetBayrak вы пытались редактировать файл, как указано в моем ответе? Я не использую никаких флагов.
JoeyCK
1
Да, вы правы, когда я отредактировал "/ etc / chromium-browser / customizations / 00-rpi-var", это работает! спасибо
Мехмет Байрак
2

Похоже, вы не единственный с этой проблемой. Возможно chrome://flash, вы захотите проверить свою страницу и посмотреть, используете ли вы какие-либо драйверы, которые вы не должны. Протестируйте и проверьте каждый драйвер соответственно для функции. После этого удалите, а затем переустановите хром, чтобы увидеть, изменилось ли что-нибудь:

sudo apt remove chromium-browser
rm -rf ~/.cache/chromium
rm -rf ~/.config/chromium
sudo rm -rf /etc/chromium-browser

Если это решение не работает ...

Большинство людей сообщают о проблеме, связанной с их видеокартой, вы можете увидеть эту проблему, chrome://gpu/посмотрев, включено ли аппаратное ускорение для WebGL. Если это не так, то это вероятно потому, что хром занес в черный список GPU RPi; вот почему вы получаете следующее приглашение

**failed to retrieve device information**

потому что графический процессор вашего Пи был в черном списке. Вам нужно будет найти способ запустить Chromium, игнорируя черный список. Я знаю, что для Google Chrome команда

google-chrome --enable-webgl --ignore-gpu-blacklist

Так что вы можете попробовать что-то подобное для Chromium.

Тем временем, используйте Firefox, если можете, и перейдите по ссылке здесь, где обсуждаются черные списки на WebGL, вы также можете сообщить об этом как об ошибке разработчикам.

----ОБНОВИТЬ----

Следующая команда должна решить вашу проблему:

chromium-browser --enable-webgl --ignore-gpu-blacklist
Aden
источник
Мне нужен хром-браузер на моем RPI, я не могу использовать Firefox. Я думаю, что это ошибка. Я уже пробовал переустановить хром, а также с флагом --ignore-gpu-blacklist, и он снова не работает. Я проверяю chrome: // flash. GL_RENDERER: галлий 0,4 на VC4 V3D 2.1 и GL_VERSION: 2.1 меза 13.0.6 . Другие кажутся нормальными.
Мехмет Байрак
просто мысль, которую я нигде не нашел: возможно, вы могли бы загрузить более старую версию хрома и протестировать ее еще раз, если это ошибка, вполне возможно, что старая модель хрома будет работать нормально.
Аден,
1
ЭТО СРАБОТАЛО! ЭТО СРАБОТАЛО! Бег chromium-browser --enable-webgl --ignore-gpu-blacklistвозвращает кучу ошибок, но он запускает хром и get.webgl.orgработает!
scitronboy
1

Я обнаружил, что для Raspbian GNU / Linux 9 (stretch) работает следующее: Чтобы узнать, какая у вас версия, наберите «cat / etc / os-release» в терминале.

  1. Консоль: sudo raspi-config В разделе «7 расширенных параметров» / «Драйвер A7 GL» выберите «G2 GL (Fake KMS)»

  2. Рабочий стол: Настройки / Добавить Удалить ПО, найдите «Chrome» и выберите «Драйвер WebDriver для браузера Chromium», нажмите «ОК».

AJBauer
источник