glxinfo hangs if DRI3FenceFromFD call fails
If the server has trouble honouring the DRI3FenceFromFD call, it will return some error code (BadMatch in my case). For glxgears
, this results in a normal Xlib-crash, but for glxinfo
it results in a permanent deadlock.
My guess is that it's because there is no response from DRI3FenceFromFD that you absolutely have to wait for, so glxinfo
simply proceeds to wait for the futex to trigger. But since the server didn't connect the futex to the fence, that will never happen. And since glxinfo
is stuck on the futex, it won't run the X11 message pump and notice the error code.
This is a bit obscure, but it might be something trivial to fix. I got this by playing around with DRI3 in TigerVNC. So Xvnc had DRI3 up and running, except for the fence part.