diff --git a/src/plugins/screencast/screencastutils.h b/src/plugins/screencast/screencastutils.h index 9f7c815f21..8f3d1db2f4 100644 --- a/src/plugins/screencast/screencastutils.h +++ b/src/plugins/screencast/screencastutils.h @@ -59,7 +59,9 @@ static void doGrabTexture(GLTexture *texture, spa_data *spa, spa_video_format fo } texture->bind(); - if (GLPlatform::instance()->isGLES()) { + // BUG: The nvidia driver fails to glGetTexImage + // Drop driver() == DriverNVidia some time after that's fixed + if (GLPlatform::instance()->isGLES() || GLPlatform::instance()->driver() == Driver_NVidia) { GLFramebuffer fbo(texture); GLFramebuffer::pushFramebuffer(&fbo); glReadPixels(0, 0, size.width(), size.height(), closestGLType(format), GL_UNSIGNED_BYTE, spa->data);