Maybe add a opengl=failsafe
mode and run the gl check in a subprocess so that we can continue without when it crashes:
$ ./xpra/client/gl/gl_check.py Gtk-Message: 21:10:38.426: Failed to load module "canberra-gtk-module" No OpenGL_accelerate module loaded: No module named OpenGL_accelerate testing <class 'xpra.platform.xposix.gl_context.GLXContext'> OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
$ echo $? 1
Mostly done in r20862 via a hidden "opengl-probe" subcommand.
The code can be more easily triggered with:
XPRA_OPENGL_FORCE_TIMEOUT=10
to make the probe command timeout
XPRA_OPENGL_FORCE_CRASH=1
to make the probe command segfault
With either of those commands, or a buggy driver that crashes (ie: virtualbox), the client will run with opengl disabled and the status of the probe will be shown on session info.
Still TODO:
Updates:
Only one thing left: maybe remove some of the blacklisted drivers now that crashes during probing aren't fatal?
r20983 removes most drivers from the blacklist, the probing should still discard them if they really are buggy.
r21059 updates the default config object.
Caused problems on win32 when we can't find the executable to use for probing, fixed in r21156.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1994