O WebGL não funciona corretamente no Raspberry Pi Chromium Browser

10

Estou com um problema com o WebGL no navegador Chromium do Raspberry Pi 3. Fiz as configurações necessárias, mas nada aconteceu.

Aqui está a minha informação

  • Equipamento: Raspberry Pi 3
  • OS: Linux raspberrypi 4.9.80-v7 + # 1098 SMP Sex 9 de mar 19:11:42 GMT 2018 armv7l GNU / Linux (Raspian Stretch com desktop, também tento lite)
  • Navegador: chromium-browser version => Chromium 60.0.3112.89 Criado no Ubuntu 14.04, rodando no Raspbian 9.3
  • Driver gráfico: vc4-kms-v3d

Aqui estão os resultados do get.webgl.org:

resultados get.webgl.org

Aqui está o exemplo do threejs.org ("webgl_animation_cloth"):

Resultados exemplo "webgl_animation_cloth" de threejs.org

Testei os mesmos sites no firefox iceweasel.
Eles funcionam como mostrado por essas capturas de tela:

resultados de get.webgl.org (iceweasel)

resultados do exemplo "webgl_animation_cloth" de threejs.org (iceweasel)

Eu tentei várias configurações no chrome: // flags, mas nada mudou

Quando começo chromium-browserna linha de comando, vejo

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

mas @ eric-anholt dizem que isso não deve ter efeitos importantes.

Mehmet Bayrak
fonte
Parece um bug para mim. Já denunciou aos caras do cromo?
precisa saber é o seguinte
Eu editei a pergunta, ele me deu este erro: MESA-LOADER: falha ao recuperar as informações do dispositivo. Eu tento executar o comando glxgears a fim de testar mesa, dá o mesmo erro, mas ele funciona, então eu fico confuso :(
Mehmet Bayrak
11
Isso é apenas ruído de algum código ruim nas plataformas ARM. Não é sinal de que algo está quebrado.
Eric Anholt

Respostas:

7

Ok, então eu encontrei uma solução aqui: https://www.raspberrypi.org/forums/viewtopic.php?t=191087

  1. use raspi-config para ativar o OpenGL (Full KMS)
  2. remove "--disable-gpu-compositing '' de / etc / chromium-browser / personalizações / 00-rpi-var

é tudo o que você precisa fazer para girar o cubo https://get.webgl.org .

Funciona para mim!

JoeyCK
fonte
Como você vê as capturas de tela do firefox, o OpenGL (KMS completo ou KMS falso) está ativado e eu tento as bandeiras. Eu acho que essa é a parte interessante, tudo parece legal, mas o cubo não é mostrado !!
Mehmet Bayrak
@MehmetBayrak você tentou editar o arquivo como indicado na minha resposta? Não estou usando nenhum sinalizador.
JoeyCK
11
Sim !, você está certo quando eu editei "/ etc / chromium-browser / customizations / 00-rpi-var", funciona! obrigado
Mehmet Bayrak
2

Parece que você não é o único com esse problema. Você pode querer verificar sua chrome://flashpágina e ver se você está usando algum driver que não deveria. Teste e verifique cada driver de acordo com a função. Depois, desinstale e reinstale o chromium para verificar se alguma coisa mudou:

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

Se esta solução não funcionar ...

A maioria das pessoas relata o problema relacionado à sua placa de vídeo. Você pode ver esse problema acessando chrome://gpu/e verificando se a aceleração de hardware está ativada para o WebGL. Caso contrário, provavelmente porque o cromo colocou na lista negra a GPU do RPi; é por isso que você está recebendo o seguinte prompt

**failed to retrieve device information**

porque a GPU do seu Pi foi colocada na lista negra. Você precisará encontrar uma maneira de iniciar o Chromium enquanto ignora a lista negra. Eu sei que para o Google Chrome o comando é

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

Então, você pode tentar algo semelhante para o Chromium.

Enquanto isso, use o Firefox, se puder, e verifique o link aqui discutindo listas negras no WebGL. Você também pode relatar isso como um bug para os desenvolvedores.

----ATUALIZAR----

O comando a seguir deve corrigir seu problema:

chromium-browser --enable-webgl --ignore-gpu-blacklist
Aden
fonte
Eu preciso do navegador chromium no meu rpi, não consigo usar o firefox. Eu acho que é um bug. Eu já tentei reinstalar o cromo e também com o sinalizador --ignore-gpu-blacklist e ele não funciona novamente. Verifico o chrome: // flash. GL_RENDERER: Gálio 0,4 no VC4 V3D 2.1 e GL_VERSION: 2.1 Mesa 13.0.6 . Outros parecem normais.
Mehmet Bayrak
apenas um pensamento que não encontrei em nenhum lugar: talvez você possa fazer o download de uma versão mais antiga do cromo e testá-la novamente, se for um bug, é inteiramente possível que um modelo mais antigo de cromo funcione bem.
Aden
11
FUNCIONOU! FUNCIONOU! running chromium-browser --enable-webgl --ignore-gpu-blacklistretorna uma tonelada de erros, mas inicia o cromo e get.webgl.orgfunciona!
scitronboy
1

Eu descobri que o seguinte funciona para o "Raspbian GNU / Linux 9 (stretch)": Para descobrir qual versão você tem, digite "cat / etc / os-release" em um terminal.

  1. Console: sudo raspi-config Em "7 Opções avançadas" / "A7 GL Driver", selecione "G2 GL (Fake KMS)"

  2. Área de trabalho: Preferências / Adicionar ou remover software, procure por "Chrome" e escolha "Driver WebDriver para o navegador Chromium", clique em "OK"

AJBauer
fonte