Как включить WebGL на Chrome на XP?
Мой графический процессор - NVIDIA GeForce 8400 GS. По данным NVIDIA,
Оптимизация и поддержка OpenGL® 2.1:
Обеспечивает первоклассную совместимость и производительность для приложений OpenGL.
Если я правильно понимаю, это означает, что он поддерживает WebGL.
WebGL работает на Firefox как изначально, так и через ANGLE. Если я пойду на https://get.webgl.org/, там будет написано
Ваш браузер поддерживает WebGL
Однако на Chrome написано
Хотя ваш браузер поддерживает WebGL, он отключен или недоступен
Я проверил это Use hardware acceleration when available
включен и chrome://flags/#disable-webgl
выключен.
Если я пойду к chrome://gpu/
Хром говорит
WebGL: недоступно
Обнаружены проблемы
- Процесс GPU не смог загрузиться: не удалось запустить процесс GPU.
Отключенные функции: все- Всегда вызывайте glUseProgram после успешной ссылки, чтобы избежать ошибки драйвера: 349137
Применяемые обходные пути: use_current_program_after_successful_link- Некоторые драйверы не могут сбросить устройство D3D в изолированной программной среде процесса GPU.
Применяемые обходные пути: exit_on_context_lost- Отключить использование Direct3D 11 в Windows Vista и ниже
Применяемые обходные пути: disable_d3d11- Очистить форму перед первым использованием программы на всех платформах: 124764, 349137
Применяемые обходные пути: clear_uniforms_before_first_program_use- Отключите D3D11 на старых драйверах nVidia: 349929
Применяемые обходные пути: disable_d3d11- Всегда переписывайте конструкторы vec/mat, чтобы они были согласованы: 398694
Применяемые обходные пути: scalarize_vec_and_mat_constructor_args- Растр использует одну нить.
Отключенные функции: множественные_расширения
Я пытался включить chrome://flags/#ignore-gpu-blacklist
, но ничего не изменилось.
Моя ОС - Windows XP Home SP3. На той же машине у меня также есть Lubuntu 15.04, и там он работает, если я включаю аппаратное ускорение.
Есть ли способ включить его на XP?
2 ответа
Визуализация с помощью графического процессора была удалена в XP, поэтому теоретически использовать WebGL невозможно.
WebGL работал в сборке 291943 (v39.0.2138.0), но был удален в сборке 291976 (v39.0.2138.0).
Список изменений содержит коммит преступника:
Удалите использование d3dcompiler_43.dll.
Он использовался только для рендеринга с помощью графического процессора в Windows XP, которая сейчас занесена в черный список.
BUG = 407177
URL отзыва: https://codereview.chromium.org/506633002
По сути, сборка 291976 содержит только d3dcompiler_46.dll
, но нет d3dcompiler_43.dll
,
Так что у меня возникла безумная идея:
- Установите новую версию Chromium (без WebGL)
Заменить его
d3dcompiler_46.dll
файл сd3dcompiler_43.dll
из сборки 291943Это включает WebGL до сборки 297440 (v40.0.2175.0).
Тем не менее, он перестает работать снова, начиная с сборки 297795 (версия 40.0.2176.0).
Я посмотрел на журнал изменений, но не смог найти виновного.
Заменить его
libGLESv2.dll
файл сlibGLESv2.dll
из сборки 297440Это включает WebGL до сборки 303843 (v41.0.2219.0).
Тем не менее он перестает работать снова, начиная с сборки 303851 (v41.0.2219.0).
Принимая во внимание этот журнал изменений, виновник, кажется, этот коммит.
Заменить его
libEGL.dll
файл сlibEGL.dll
из сборки 303843Это включает WebGL до сборки 337003 (v45.0.2446.0).
Тем не менее он перестает работать снова, начиная с сборки 337025 (v45.0.2446.0).
Я посмотрел на этот список изменений, но не смог найти виновного.
WebGL можно снова включить в сборке 337025, заменив
chrome.dll
,chrome.exe
,chrome_child.dll
,natives_blob.bin
а такжеsnapshot_blob.bin
из сборки 337003.Однако это кажется слишком много. Я не рекомендую это.
Предупреждение: выполнение любого из указанных выше шагов может привести к ненадежному поведению Chromium. Используйте на свой страх и риск.
В приведенных выше шагах "заменить [X].dll
с [Y].dll
от build [N]
" средства:
- Поиск в
[X].dll
файл в папке установки Chromium - Если такого файла нет, перейдите к шагу 4
- В противном случае переименуйте файл в
[X].backup.dll
- Скачать портативную (ZIP) версию связанной
build [N]
- Извлечь
[Y].dll
файл из скачанного ZIP - Переименуйте извлеченный файл в
[X].dll
- Переместите этот файл в папку установки Chromium
d3dcompiler_46.dll и d3dcompiler_47.dll могут легко работать на XP с помощью неофициального обновления BlackWingCat KB2584577.
Google это: WindowsXP-KB2584577-v0.4-x86-ENU.exe
Также мы можем использовать оболочку WineD3D, чтобы обернуть Direct3D9Ex, чтобы включить ускорение Chrome HW для XP.