libGL error when running goJS app over ssh (X forwarding)

I’m not sure if this is an Electron issue, a goJS issue, or something else, but when I run my goJS app (which is packaged as an Electron app) over ssh (with X forwarding enabled), the following happens (host is Mac, remote is an Ubuntu machine):

  • the app window opens
  • the canvas stays blank and none of my goJS screen components are drawn
  • on my host terminal, I see the following:
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

Has anyone else encountered this?
THanks in advance!

I managed to stumble across the answer. Turns out it is a Chromium bug (which Electron uses). In short:

manually turn off shared memory by using the "--no-xshm" flag, setting the environment variable "QT_X11_NO_MITSHM=1" or "J2D_USE_MITSHM=0".

Shared memory can only be used if the X client and the X server are on the same machine (assuming there is no fancy emulation going on).  It appears that chromium isn't correctly detecting that it can't use shared memory, and is not falling back correctly.


Thanks for the update.