Sign inSign up

jamesbrink/opengl

By jamesbrink

Updated over 8 years ago

Docker - Mesa 3D OpenGL Software Rendering (Gallium) - LLVMpipe, and OpenSWR Drivers

Image
2

5.9K

jamesbrink/opengl repository overview

Docker - Mesa 3D OpenGL Software Rendering (Gallium) - LLVMpipe, and OpenSWR Drivers

Build Status Docker Automated build Docker Pulls Docker Stars

About

Minimal Docker container bundled with the Mesa 3D Gallium Drivers: LLVMpipe & OpenSWR, enabling OpenGL support inside a Docker container without the need for a GPU.

Features

  • Alpine Linux 3.7
  • LLVMpipe Driver (Mesa 18.0.1)
  • OpenSWR Driver (Mesa 18.0.1)
  • OSMesa Interface (Mesa 18.0.1)
  • softpipe - Reference Gallium software driver
  • swrast - Legacy Mesa software rasterizer
  • Xvfb - X Virtual Frame Buffer

Docker Images

ImageDescription
jamesbrink/openglMinimal image, good to extend FROM
jamesbrink/opengl:demosSame image with added mesa3d demos such as glxinfo, glxgears, etc..

Usage

I build this image primarily to extnend from for other projects, but below are some simple examples. This image is already loaded with a trivial entrypoint script.

Extending from this image.

FROM jamesbrink/opengl:18.0.1
COPY ./MyAppOpenGLApp /AnywhereMyHeartDesires
RUN apk add --update my-deps...

Running a simple glxgears test.

docker run jamesbrink/opengl:demos glxgears -info

Running glxgears with OpenSWR

docker run -e GALLIUM_DRIVER=swr jamesbrink/opengl:demos glxgears -info

Environment Variables

High level settings
VariableDefault ValueDescription
XVFB_WHD1920x1080x24Xvfb demensions and bit depth.
DISPLAY:99X Display number.
LIBGL_ALWAYS_SOFTWARE1Forces Mesa 3D to always use software rendering.
GALLIUM_DRIVERllvmpipeSets OpenGL Driver llvmpipe, swr, softpipe, and swrast
Lower level settings / tweaks
VariableDefault ValueDescription
LP_NO_RASTfalseLLVMpipe - If set LLVMpipe will no-op rasterization
LP_DEBUG""LLVMpipe - A comma-separated list of debug options is accepted
LP_PERF""LLVMpipe - A comma-separated list of options to selectively no-op various parts of the driver.
LP_NUM_THREADS""LLVMpipe - An integer indicating how many threads to use for rendering. Zero (0) turns off threading completely. The default value is the number of CPU cores present.

Tag summary

Content type

Image

Digest

Size

104.4 MB

Last updated

over 8 years ago

docker pull jamesbrink/opengl