in mujoco_py/mjrendercontext.pyx [0:0]
def _setup_opengl_context(self, offscreen, device_id, opengl_backend, quiet=False):
if opengl_backend is None and (not offscreen or sys.platform == 'darwin'):
# default to glfw for onscreen viewing or mac (both offscreen/onscreen)
opengl_backend = 'glfw'
if opengl_backend == 'glfw':
self.opengl_context = GlfwContext(offscreen=offscreen, quiet=quiet)
else:
if device_id < 0:
if "GPUS" in os.environ:
device_id = os.environ["GPUS"]
else:
device_id = os.getenv('CUDA_VISIBLE_DEVICES', '')
if len(device_id) > 0:
device_id = int(device_id.split(',')[0])
else:
# Sometimes env variable is an empty string.
device_id = 0
self.opengl_context = OffscreenOpenGLContext(device_id)