This bug isn't specific to vino - x11vnc suffers from exactly the same problem.
It seems that the VNC servers rely on the DAMAGE X server extension to know which parts of the display need sending to the client, and using Xgl stops this from working.
For x11vnc a workaround is to use the -noxdamage flag, which works, but is much slower; probably because the VNC server has to send the whole screen over and over, rather than just the 'damaged' parts.
For vino, a workaround is to use x11vnc -noxdamage instead...
This bug isn't specific to vino - x11vnc suffers from exactly the same problem.
It seems that the VNC servers rely on the DAMAGE X server extension to know which parts of the display need sending to the client, and using Xgl stops this from working.
For x11vnc a workaround is to use the -noxdamage flag, which works, but is much slower; probably because the VNC server has to send the whole screen over and over, rather than just the 'damaged' parts.
For vino, a workaround is to use x11vnc -noxdamage instead...