Я хочу заставить Chrome отображать WebGL с помощью программных драйверов, а не оборудования.
Я использую Ubuntu Linux и понимаю, что драйверы Mesa GL можно заставить использовать программную реализацию, указав переменную среды LIBGL_ALWAYS_SOFTWARE = 1 при запуске программы. Я подтвердил, что драйвер меняется при указании env var.
bash$ glxinfo | grep -i "opengl"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) 945GM x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 10.1.3
OpenGL extensions:
bash$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep -i "opengl"
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
Драйвер GL по умолчанию обеспечивает поддержку OpenGL 1.4, а программный драйвер обеспечивает поддержку OpenGL 2.1.
Я отследил, где находится панель запуска рабочего стола (/ usr / share / applications /), и отредактировал ее, указав env var, но chrome: // gpu по-прежнему показывает GL версии 1.4. Информация о графическом процессоре Chrome содержит многообещающее значение:
Аргументы командной строки --flag-Switches-begin --disable-accelerated-2d-canvas --ignore-gpu-blacklist --flag-Switches-end
Интересно, могу ли я настроить параметр --flag-Switches-begin.
Я также нашел переключатель командной строки '--use-gl', но Я не уверен, как использовать его, чтобы заставить драйвер перейти в программный режим.
В качестве побочного примечания я уже включил «Переопределить список программного рендеринга» в chrome: // flags /, который удалил мою модель из blacklist ', позволяющий использовать WebGL, но Набор функций OpenGL все еще довольно ограничен.
У меня есть старый ноутбук с ужасным «графическим процессором», который я хотел бы использовать для разработки шейдеров и тестирования в WebGL, независимо от производительности.
Можно ли указать Chrome использовать программные драйверы?