Como ativar o WebGL no Chrome no XP?

2

Minha GPU é uma NVIDIA GeForce 8400 GS. De acordo com a NVIDIA ,

OpenGL® 2.1 Optimizations and Support:
Ensures top-notch compatibility and performance for OpenGL applications.

Se eu entendi corretamente, isso significa que ele suporta WebGL.

O WebGL funciona no Firefox, tanto nativamente como através do ANGLE. Se eu acessar o link , ele diz

Your browser supports WebGL

No entanto, no Chrome, diz

While your browser seems to support WebGL, it is disabled or unavailable

Verifiquei que Use hardware acceleration when available está ativado e chrome://flags/#disable-webgl está desativado.

Se eu for para chrome://gpu/ , o Chrome diz

WebGL: Unavailable

Problems Detected

  • GPU process was unable to boot: GPU process launch failed.
    Disabled Features: all
  • Always call glUseProgram after a successful link to avoid a driver bug: 349137
    Applied Workarounds: use_current_program_after_successful_link
  • Some drivers are unable to reset the D3D device in the GPU process sandbox
    Applied Workarounds: exit_on_context_lost
  • Disable use of Direct3D 11 on Windows Vista and lower
    Applied Workarounds: disable_d3d11
  • Clear uniforms before first program use on all platforms: 124764, 349137
    Applied Workarounds: clear_uniforms_before_first_program_use
  • Disable D3D11 on older nVidia drivers: 349929
    Applied Workarounds: disable_d3d11
  • Always rewrite vec/mat constructors to be consistent: 398694
    Applied Workarounds: scalarize_vec_and_mat_constructor_args
  • Raster is using a single thread.
    Disabled Features: multiple_raster_threads

Eu tentei ativar chrome://flags/#ignore-gpu-blacklist , mas nada mudou.

Meu sistema operacional é o Windows XP Home SP3. Na mesma máquina eu também tenho Lubuntu 15.04, e lá funciona se eu permitir a aceleração de hardware.

Existe uma maneira de ativá-lo no XP?

    
por Oriol 16.08.2015 / 23:43

2 respostas

1

A renderização da GPU foi removida no XP, portanto, teoricamente, não é possível ter o WebGL.

O WebGL funcionou em build 291943 (v39.0.2138. 0), mas foi removido em build 291976 (v39.0.2138 .0).

O changelog contém o culpado confirmar :

Remove the use of d3dcompiler_43.dll.
It was only used for GPU rendering on Windows XP, which is now blacklisted.
BUG=407177
Review URL: https://codereview.chromium.org/506633002

Efetivamente, a compilação 291976 contém apenas d3dcompiler_46.dll , mas não d3dcompiler_43.dll .

Então eu tive uma ideia maluca:

  1. Instale uma nova versão do Chromium (sem WebGL)
  2. Substitua seu arquivo d3dcompiler_46.dll por d3dcompiler_43.dll de build 291943

    Isso ativa o WebGL até construir 297440 (v40.0.2175 .0).

    No entanto, ele pára de funcionar novamente desde build 297795 ( versão 40.0.2176.0).

    Eu analisei o changelog mas não consegui encontrar o culpado commit.

  3. Substitua seu arquivo libGLESv2.dll por libGLESv2.dll de build 297440

    Isso ativa o WebGL até compilação 303843 (v41.0.2219.0).

    No entanto, ele pára de funcionar novamente desde build 303851 ( v41.0.2219.0).

    Dado este changelog , o culpado parece este commit .

  4. Substitua seu arquivo libEGL.dll por libEGL.dll de build 303843

    Isso ativa o WebGL até criar 337003 (v45.0.2446 .0).

    No entanto, ele pára de funcionar novamente desde build 337025 ( v45.0.2446.0).

    Eu olhei para o este changelog mas não consegui encontrar o culpado comete.

  5. O WebGL pode ser ativado novamente no build 337025 substituindo chrome.dll , chrome.exe , chrome_child.dll , natives_blob.bin e snapshot_blob.bin da compilação 337003.

    No entanto, isso parece demais. Eu não recomendo isso.

Aviso : executar qualquer uma das etapas acima pode fazer o Chromium se comportar de maneira não confiável. Use a risco próprio.

Nas etapas acima, "substituir [X].dll por [Y].dll de build [N] " significa:

  1. Pesquise o arquivo [X].dll na pasta de instalação do Chromium
  2. Se não houver tal arquivo, vá para a etapa 4
  3. Caso contrário, renomeie o arquivo para [X].backup.dll
  4. Faça o download da versão portátil (ZIP) do link build [N]
  5. Extraia o arquivo [Y].dll do ZIP transferido
  6. Renomeie o arquivo extraído para [X].dll
  7. Mova esse arquivo para a pasta de instalação do Chromium
por 22.08.2015 / 16:44
0

d3dcompiler_46.dll e d3dcompiler_47.dll podem facilmente funcionar no XP usando a atualização não oficial do BlackWingCat KB2584577.

Google isto: WindowsXP-KB2584577-v0.4-x86-PTB.exe

Além disso, podemos usar o wrapper WineD3D para envolver o Direct3D9Ex para ativar o acesso ao Chrome HW para o XP.

    
por 23.05.2016 / 21:20