Use EGL to replace X server dependency

Issue #2201 new
Shane Loretz created an issue

RenderEngine::CreateContext() uses an X server on linux to create a context for opengl rendering. This adds extra work when running gzserver in the cloud or in a docker container

  • Requires an X server running for rendering, even on headless machines
  • When using Docker, have to mount a volume with a socket to an X server and start a container with a script that passes XAUTH data into the container.

It looks like EGL can be used instead. Here is another project discussing it a year ago. Here is an example that uses OpenGL without an X server. Here is an introduction to EGL. Here is an nvidia blog about using OpenGL without an X server.

Comments (1)

  1. Ian Chen

    It'll be nice to avoid creating the X server. Currently gazebo rendering is tied to ogre's render system component. Looking at the ogre repo, it seems that there is support for EGL though I've never tried it

  2. Log in to comment