[COMPASS-3551] MongoDB Compass GUI wont display in VMWARE environment Created: 04/Apr/19  Updated: 29/Oct/23  Resolved: 13/Aug/19

Status: Closed
Project: Compass
Component/s: Compass
Affects Version/s: 1.17.0
Fix Version/s: 1.19.1

Type: New Feature Priority: Minor - P4
Reporter: frank Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Centos7, Ubuntu


Attachments: JPEG File mongodb-compass-libGL-error.jpg    
Issue Links:
Related
related to COMPASS-4046 MongoDB Compass GUI wont display in V... Closed

 Description   

So I have a VM running on Centos7 and is closed off from public internet due to our company. I attempted to run various Compass versions (1.13,1.14.1.17) directly on it via rpm image and it first complains about missing libraries . I install those libraries and assume the UI will now load up when i run the command "mongodb-compass-community" or the non community image with "mongodb-compass". However the UI begins to load then just freezes up with a black screen.

I decided to try dockerizing the compass image by running it on a different base image. In this case ubuntu with mongodb compass community 1.17.
After I build the image and run the container, the UI pops up but the screen is black and the logs show:
"libGL error: no matching fbConfigs or visuals found"
"libGL error: unable to load driverL swrast_dri.so"
"libGL error: failed to load driver:swrast"

I looked more into the swrast error and it seems as if that is a software renderer and is looking for that nvidia driver. However since I using VMWARE virtual machine there is no nvidia drivers installed for the graphics card. Typically the command( glxinfo | grep -i vendor) on a non VM machine will display the vendor type which I tested the command on another centos7 desktop computer and received back

server glx vendor string: NVIDIA CORPORATION

client glx vendor string: NVIDIA CORPORATION

openGL vendor string: NVIDIA CORPORATION

 

I also tried dockerizing the compass app using a rpm image with the base OS to be centos:7 and after installing several libraries, the only error that prevented my UI from loading completely was the same "libGL error: unable to load driverL swrast_dri.so" and "libGL error: failed to load driver:swrast".

I am positive the compass image depends on this nvidia driver in order to display the graphics. Is there a way you could create a lite version not utilizing the nvidia graphics card so one would be able to run the UI in a VMWARE virtual machine?



 Comments   
Comment by frank [ 15/Oct/19 ]

I get the same error when containerizing the MongoDB Compass to run mongodb-compass-community-1.19.12_amd64.deb in a Docker container based on a Ubuntu image.
My dockerfile was building from a ubuntu image with the latest version, I just tried a differnet version this time, 16.04, which causes the lib errors to disappear however the CompassUI tries to come up and just keeps displaying the loading symbol and nothing else.

Comment by Tom Chatt [ 11/Oct/19 ]

I'm running into a nearly identical problem when trying to run mongodb-compass-community-1.19.12.x86_64.rpm in a Docker container based on RHEL7 base image. As above, I get complaints about missing libraries when I first try to run it (perhaps gtk3 and alsa-lib should be listed as dependencies in the rpm?), but when I load those libraries, I then get the same kind of libGL error. For me, the UI never quite comes up, but it freezes with the error shown in the attached JPG.

I expect this could be corrected by installing the right additional packages if I knew what they were, as it runs fine outside of Docker on the same underlying RHEL7 platform (an AWS EC2 instance) where I am running the Docker container.

 

Comment by Massimiliano Marcon [ 13/Aug/19 ]

This is probably addressed with the replacement of the map provider.

Comment by Massimiliano Marcon [ 15/Apr/19 ]

Hi frankpintojr26, thank you for the report.

The WebGL problem is likely caused by the Mapbox SDK in the schema analyzer. We will look into this but not with the highest priority. I will keep this ticket open so we can keep track of it.

Did you also try to dockerize Compass Community? That doesn't have the schema analyzer, so it may work. You may also want to give a try to this Docker image for Compass that one of our dev advocates put together: https://github.com/MaBeuLux88/docker/tree/master/MongoDB-Compass

Generated at Wed Feb 07 22:33:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.