Sign inSign up

utensilsunion/opengl

By utensilsunion

Updated about 7 years ago

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

Image
1

2.0K

utensilsunion/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.10
  • LLVMpipe Driver (Mesa 19.0.8)
  • OpenSWR Driver (Mesa 19.0.8)
  • OSMesa Interface (Mesa 19.0.8)
  • softpipe - Reference Gallium software driver
  • swrast - Legacy Mesa software rasterizer
  • Xvfb - X Virtual Frame Buffer

Docker Images

ImageDescription
utensilsunion/openglLatest Mesa version
utensilsunion/opengl:19.0.8Mesa version 19.0.8
utensilsunion/opengl:18.3.6Mesa version 18.3.6
utensilsunion/opengl:18.2.8Mesa version 18.2.8

Building

This image can be built using the supplied Makefile

make

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 utensilsunion/opengl:19.0.8
COPY ./MyAppOpenGLApp /AnywhereMyHeartDesires
RUN apk add --update my-deps...

Running a simple glxgears test.

docker run utensilsunion/opengl:demos glxgears -info

Running glxgears with OpenSWR

docker run -e GALLIUM_DRIVER=swr utensilsunion/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

144.8 MB

Last updated

about 7 years ago

docker pull utensilsunion/opengl