-
Notifications
You must be signed in to change notification settings - Fork 91
OtherPlatforms
To run ignition gazebo with accelerated 3D graphics on an Ubuntu virtual machine
you need to set additional environment variables to disable some of the OpenGL
extensions in the VMware SVGA driver. Ubuntu 20.04.2.0 or later is required,
earlier versions do not have the Mesa drivers to support the OpenGL features
required by the ogre2
render engine used by gazebo.
The following environment variables apply to a macOS Big Sur 11.4 host (AMD Radeon Pro W5700X 16GB) with an Ubuntu 20.04.2.0 guest on VMware. You may need to experiment with the choice of extensions depending upon the OpenGL support of your GPU.
# set_mesa_env
# Configure the Mesa Environment
# https://docs.mesa3d.org/envvars.html
# Core Mesa environment variables
export MESA_DEBUG=1
export MESA_GL_VERSION_OVERRIDE=4.1
export MESA_GLSL_VERSION_OVERRIDE=410
export MESA_EXTENSION_OVERRIDE="\
-GL_ARB_buffer_storage \
-GL_ARB_multi_draw_indirect \
-GL_ARB_texture_buffer_range \
-GL_ARB_compute_shader \
-GL_ARB_ES3_compatibility \
"
When time synchronisation is enabled using VMware Tools, the guest VM may step back in time. This causes the ignition server and gui to get out of sync and also causes issues between the ArduPilot Gazebo plugin and SITL. When this happens the gui will not update visuals (the drone appears frozen) and MAVProxy will display warnings such as:
GUIDED> arm throttle
GUIDED> Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
Warning, time moved backwards. Restarting timer.
A workaround is to disable VMware tools timesync:
$ vmware-toolbox-cmd timesync disable
There is experimental support for ignition gazebo and the ArduPilot plugin running natively on macOS. This is ongoing development work and for those interested in assisting see the ogre-next, ignition-rendering and ignition-gazebo GitHub repo issue and PR lists for work in progress.
As far as I'm aware, there is no native support for Windows at present.