Wie kann man WebGL in Chrome unter XP aktivieren?

10128
Oriol

Meine GPU ist eine NVIDIA GeForce 8400 GS. Laut NVIDIA ,

OpenGL® 2.1-Optimierungen und -Support: Stellt
erstklassige Kompatibilität und Leistung für OpenGL-Anwendungen sicher .

Wenn ich es richtig verstehe, bedeutet das, dass es WebGL unterstützt.

WebGL funktioniert sowohl nativ als auch über ANGLE mit Firefox. Wenn ich zu https://get.webgl.org/ gehe, heißt es

Ihr Browser unterstützt WebGL

Bei Chrome heißt es jedoch

Ihr Browser scheint WebGL zu unterstützen, ist jedoch deaktiviert oder nicht verfügbar

Ich habe geprüft, dass Use hardware acceleration when availableaktiviert und chrome://flags/#disable-webgldeaktiviert ist.

Wenn ich gehe chrome://gpu/, sagt Chrome

WebGL: nicht verfügbar

Probleme erkannt

  • Der GPU-Prozess konnte nicht starten: Der Start des GPU-Prozesses ist fehlgeschlagen.
    Deaktivierte Funktionen: alle
  • Rufen Sie glUseProgram immer nach einer erfolgreichen Verknüpfung auf, um einen Treiberfehler zu vermeiden: 349137
    Angewandte Problemumgehungen: use_current_program_after_successful_link
  • Einige Treiber können das D3D-Gerät in der Applied Workarounds der GPU-Prozess-Sandbox nicht
    zurücksetzen: exit_on_context_lost
  • Deaktivieren Sie die Verwendung von Direct3D 11 unter Windows Vista und den
    Applied Workarounds: disable_d3d11
  • Uniformen vor der ersten Programmnutzung auf allen Plattformen löschen : 124764, 349137
    Angewandte Problemumgehungen: clear_uniforms_before_first_program_use
  • Deaktivieren Sie D3D11 auf älteren nVidia-Treibern: 349929
    Angewandte Problemumgehungen: disable_d3d11
  • Schreiben Sie immer vec / mat-Konstruktoren so, dass sie konsistent sind: 398694
    Angewandte Problemumgehungen: scalarize_vec_and_mat_constructor_args
  • Raster verwendet einen einzelnen Thread.
    Deaktivierte Funktionen: multiple_raster_threads

Ich habe das Aktivieren versucht chrome://flags/#ignore-gpu-blacklist, aber es hat sich nichts geändert.

Mein Betriebssystem ist Windows XP Home SP3. Auf derselben Maschine habe ich auch Lubuntu 15.04, und dort funktioniert es, wenn ich die Hardwarebeschleunigung aktiviere.

Gibt es eine Möglichkeit, es unter XP zu aktivieren?

2
Mögliches Duplikat von [Wie kann ich WebGL in meinem Browser aktivieren?] (http://superuser.com/questions/836832/how-can-i-enen-webgl-in-my-browser) MC10 vor 8 Jahren 1
@ MC10 Mein Problem ist, dass Chrome anscheinend der Ansicht ist, dass WebGL nicht verfügbar ist. Das ist in der anderen Frage nicht angesprochen. Oriol vor 8 Jahren 0
Hmm, vielleicht versuchen Sie es zu überschreiben: https://productforums.google.com/forum/#!topic/chrome/ou3H55QuO8U MC10 vor 8 Jahren 0
@ MC10 Ich habe versucht, `chrome: // flags / # ignore-gpu-blacklist` zu aktivieren, aber es hat sich nicht geändert :( Oriol vor 8 Jahren 0
Jemand hier http://askubuntu.com/questions/299345/how-to-enable-webgl-in-chrome-on-ubuntu mit derselben Karte schlug vor: `Ich habe eine Problemumgehung: Aktivieren Sie die Option" Deaktivierte 2D-Leinwand deaktivieren " chrome: // flags / `. MC10 vor 8 Jahren 0
@ MC10 Funktioniert nicht für mich :( Oriol vor 8 Jahren 0
Haben Sie ein Update auf die neuesten Treiber für Ihre Grafikkarte durchgeführt? Befinden Sie sich auf einem relativ modernen Betriebssystem? Mokubai vor 8 Jahren 0
@Mokubai Es scheint das Betriebssystem zu sein. Ich habe WinXP. Ich habe versucht, in Lubuntu zu booten, und wenn ich die Hardwarebeschleunigung aktiviere, funktioniert es. Oriol vor 8 Jahren 1
Ja, es wird in Windows XP möglicherweise nicht mehr unterstützt: https://productforums.google.com/forum/#!topic/chrome/Uw_ZJwQseKw MC10 vor 8 Jahren 1

2 Antworten auf die Frage

1
Oriol

Das GPU-Rendering wurde in XP entfernt. Daher ist es theoretisch nicht möglich, WebGL zu verwenden.

WebGL funktionierte in Build 291943 (v39.0.2138.0), wurde jedoch in Build 291976 (V39.0.2138.0) entfernt.

Das Änderungsprotokoll enthält das Täter- Commit :

Entfernen Sie die Verwendung von d3dcompiler_43.dll.
Es wurde nur für das GPU-Rendering unter Windows XP verwendet, das jetzt auf der schwarzen Liste steht.
BUG = 407177
Überprüfungs-URL: https://codereview.chromium.org/506633002

Build 291976 enthält nur d3dcompiler_46.dll, aber nicht d3dcompiler_43.dll.

Also hatte ich eine verrückte Idee:

  1. Installieren Sie eine neue Version von Chromium (ohne WebGL).
  2. Ersetzen Sie seine d3dcompiler_46.dllDatei d3dcompiler_43.dlldurch Build 291943

    Dies ermöglicht WebGL bis Build 297440 (v40.0.2175.0).

    Seit Build 297795 (Version 40.0.2176.0) funktioniert es jedoch nicht mehr.

    Ich schaute auf den Changelog, konnte den Schuldigen jedoch nicht finden.

  3. Ersetzen Sie die libGLESv2.dllDatei libGLESv2.dlldurch Build 297440

    Dies ermöglicht WebGL bis zum Build 303843 (v41.0.2219.0).

    Es funktioniert jedoch seit dem Build 303851 (v41.0.2219.0) nicht mehr.

    Angesichts dieses Änderungsprotokolls scheint der Täter diese Verpflichtung zu sein .

  4. Ersetzen Sie seine libEGL.dllDatei libEGL.dlldurch Build 303843

    Dies ermöglicht WebGL bis zum Erstellen von 337003 (v45.0.2446.0).

    Es funktioniert jedoch seit dem Build 337025 (v45.0.2446.0) nicht mehr.

    Ich habe mir dieses Änderungsprotokoll angesehen, konnte aber den Schuldigen nicht finden.

  5. WebGL kann durch den Austausch in Build 337025 wieder freigegeben werden chrome.dll, chrome.exe, chrome_child.dll, natives_blob.binund snapshot_blob.binvon Build 337.003.

    Das scheint jedoch zu viel. Ich kann es nicht empfehlen.

Warnung : Wenn Sie die oben genannten Schritte ausführen, kann sich Chromium unzuverlässig verhalten. Verwendung auf eigene Gefahr.

In den obigen Schritten bedeutet "Ersetzen [X].dllmit [Y].dllvon build [N]":

  1. Suchen Sie die [X].dllDatei im Installationsordner von Chromium
  2. Wenn keine solche Datei vorhanden ist, fahren Sie mit Schritt 4 fort
  3. Andernfalls benennen Sie die Datei in um [X].backup.dll
  4. Laden Sie die portable (ZIP) Version der verlinkten herunter build [N]
  5. Extrahieren Sie die [Y].dllDatei aus der heruntergeladenen ZIP-Datei
  6. Benennen Sie die extrahierte Datei in um [X].dll
  7. Verschieben Sie diese Datei in den Installationsordner von Chromium
wie wäre es mit windows 7? Dariush vor 7 Jahren 0
@Dariush Ich denke, Chrome soll WebGL unter Win7 unterstützen. Sie sollten nichts tun müssen. Oriol vor 7 Jahren 0
0
Svyat

d3dcompiler_46.dll und d3dcompiler_47.dll können problemlos unter XP mit dem inoffiziellen Update KB2584577 von BlackWingCat ausgeführt werden.

Google dies: WindowsXP-KB2584577-v0.4-x86-DEU.exe

Wir können auch den WineD3D-Wrapper verwenden, um Direct3D9Ex einzuwickeln, um Chrome HW Accel für XP zu aktivieren.

Interessant, aber ich habe auf Win10 umgestellt, daher kann ich nicht testen. Ich denke, Chrome unterstützt XP sowieso nicht mehr. Oriol vor 7 Jahren 0
Das ist es, was MSFT und Google von Ihnen gewollt haben, ich denke, das ist unfair. Svyat vor 7 Jahren 1