Chromium + nvidia offloading

Hi,
I read old posts complaining about Chromium not using Nvidia GPU 2060 Mobile.
I run Chromium v108, have nvidia drivers v515.76.

Firefox will offload when run with:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia firefox
and appear in the nvidia-smi.

doing the same with chromium won’t work:

[66128:66128:1226/162521.201142:ERROR:angle_platform_impl.cc(43)] Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[66128:66128:1226/162521.201224:ERROR:gl_display.cc(508)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[66128:66128:1226/162521.201264:ERROR:gl_display.cc(920)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[66128:66128:1226/162521.202156:ERROR:angle_platform_impl.cc(43)] Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[66128:66128:1226/162521.202237:ERROR:gl_display.cc(508)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[66128:66128:1226/162521.202279:ERROR:gl_display.cc(920)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[66128:66128:1226/162521.202322:ERROR:gl_ozone_egl.cc(23)] GLDisplayEGL::Initialize failed.
[66128:66128:1226/162521.203888:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[66175:66175:1226/162521.329414:ERROR:angle_platform_impl.cc(43)] Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[66175:66175:1226/162521.329498:ERROR:gl_display.cc(508)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[66175:66175:1226/162521.329531:ERROR:gl_display.cc(920)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[66175:66175:1226/162521.337212:ERROR:angle_platform_impl.cc(43)] Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1004 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[66175:66175:1226/162521.337456:ERROR:gl_display.cc(508)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[66175:66175:1226/162521.337655:ERROR:gl_display.cc(920)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[66175:66175:1226/162521.337831:ERROR:gl_ozone_egl.cc(23)] GLDisplayEGL::Initialize failed.
[66175:66175:1226/162521.342132:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[66192:66192:1226/162521.391426:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is disabled, ANGLE is 
[66082:66082:1226/162611.601869:ERROR:interface_endpoint_client.cc(694)] Message 1 rejected by interface blink.mojom.WidgetHost

I run Debian testing.
Is it Nvidia related, as far as the driver is concerned?

Thanks

I confirm. I’m having exactly the same problem.

Firefox successfully uses dedicated GPU when provided with these variables: __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia.
By default (i.e. without these variables) chromium detects both GPUs (i915 and nvidia) and is correctly using i915. When I start chromium with those variables it disables hardware acceleration with the same errors in the log as in the original post.

GPU: 3D controller: NVIDIA Corporation GP108GLM [Quadro P520]
OS: Debian Bookworm
nvidia-driver version: 525.89.02-1
Window Manager: dwm (X11)

Log Messages with PRIME OFFLOAD enabled
  • GpuProcessHost: The GPU process exited normally. Everything is okay.
  • [27383:27383:0319/142047.091941:ERROR:angle_platform_impl.cc(43)] : Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  • [27383:27383:0319/142047.092039:ERROR:gl_display.cc(498)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  • [27383:27383:0319/142047.092076:ERROR:gl_display.cc(725)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  • [27383:27383:0319/142047.092505:ERROR:angle_platform_impl.cc(43)] : Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  • [27383:27383:0319/142047.092543:ERROR:gl_display.cc(498)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  • [27383:27383:0319/142047.092615:ERROR:gl_display.cc(725)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  • [27383:27383:0319/142047.092689:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  • [27383:27383:0319/142047.093163:ERROR:angle_platform_impl.cc(43)] : Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  • [27383:27383:0319/142047.093247:ERROR:gl_display.cc(498)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  • [27383:27383:0319/142047.093308:ERROR:gl_display.cc(725)] : eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
  • [27383:27383:0319/142047.093680:ERROR:angle_platform_impl.cc(43)] : Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
  • [27383:27383:0319/142047.093717:ERROR:gl_display.cc(498)] : EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
  • [27383:27383:0319/142047.093742:ERROR:gl_display.cc(725)] : eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
  • [27383:27383:0319/142047.093768:ERROR:gl_ozone_egl.cc(26)] : GLDisplayEGL::Initialize failed.
  • [27383:27383:0319/142047.094883:ERROR:viz_main_impl.cc(186)] : Exiting GPU process due to errors during initialization
  • GpuProcessHost: The GPU process exited normally. Everything is okay.
  • [27396:27396:0319/142047.102290:WARNING:vaapi_wrapper.cc(805)] : VAAPI video acceleration not available for disabled
  • [27396:27396:0319/142047.102366:ERROR:gpu_init.cc(525)] : Passthrough is not supported, GL is disabled, ANGLE is

At least for me, using

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia chromium

works as intended. GL_RENDERER equals to ANGLE (NVIDIA Corporation, NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2, OpenGL 4.5.0 NVIDIA 525.89.02) in chrome://gpu.

Running in Wayland

I modified my post to mention I’m on X11. I also wasn’t sure whether to trust ACTIVE gpu in chrome://gpu. Today I tested using separate utility. Dedicated gpu utilization is 0 while I’m using chromium without PRIME OFFLOAD variables. And when I add PRIME OFFLOAD variables chromium fails to provide hardware acceleration at all.

Looks like it’s a bug in Chromium.

Actually still happens for me even on firefox. I use X.org
Ubuntu 23.04 and 535.98 drivers

In “Performance mode” everything works as it should