+<h2>Gallium environment variables</h2>
+
+<dl>
+<dt><code>GALLIUM_HUD</code></dt>
+<dd>draws various information on the screen, like framerate,
+ cpu load, driver statistics, performance counters, etc.
+ Set <code>GALLIUM_HUD=help</code> and run e.g.
+ <code>glxgears</code> for more info.</dd>
+<dt><code>GALLIUM_HUD_PERIOD</code></dt>
+<dd>sets the hud update rate in seconds (float). Use zero
+ to update every frame. The default period is 1/2 second.</dd>
+<dt><code>GALLIUM_HUD_VISIBLE</code></dt>
+<dd>control default visibility, defaults to true.</dd>
+<dt><code>GALLIUM_HUD_TOGGLE_SIGNAL</code></dt>
+<dd>toggle visibility via user specified signal.
+ Especially useful to toggle hud at specific points of application and
+ disable for unencumbered viewing the rest of the time. For example, set
+ <code>GALLIUM_HUD_VISIBLE</code> to <code>false</code> and
+ <code>GALLIUM_HUD_TOGGLE_SIGNAL</code> to <code>10</code>
+ (<code>SIGUSR1</code>).
+ Use <code>kill -10 <pid></code> to toggle the hud as desired.</dd>
+<dt><code>GALLIUM_HUD_DUMP_DIR</code></dt>
+<dd>specifies a directory for writing the displayed hud values into files.</dd>
+<dt><code>GALLIUM_DRIVER</code></dt>
+<dd>useful in combination with <code>LIBGL_ALWAYS_SOFTWARE=true</code> for
+ choosing one of the software renderers <code>softpipe</code>,
+ <code>llvmpipe</code> or <code>swr</code>.</dd>
+<dt><code>GALLIUM_LOG_FILE</code></dt>
+<dd>specifies a file for logging all errors, warnings, etc.
+ rather than stderr.</dd>
+<dt><code>GALLIUM_PRINT_OPTIONS</code></dt>
+<dd>if non-zero, print all the Gallium environment variables which are
+ used, and their current values.</dd>
+<dt><code>GALLIUM_DUMP_CPU</code></dt>
+<dd>if non-zero, print information about the CPU on start-up</dd>
+<dt><code>TGSI_PRINT_SANITY</code></dt>
+<dd>if set, do extra sanity checking on TGSI shaders and
+ print any errors to stderr.</dd>
+<dt><code>DRAW_FSE</code></dt>
+<dd>???</dd>
+<dt><code>DRAW_NO_FSE</code></dt>
+<dd>???</dd>
+<dt><code>DRAW_USE_LLVM</code></dt>
+<dd>if set to zero, the draw module will not use LLVM to execute
+ shaders, vertex fetch, etc.</dd>
+<dt><code>ST_DEBUG</code></dt>
+<dd>controls debug output from the Mesa/Gallium state tracker.
+ Setting to <code>tgsi</code>, for example, will print all the TGSI
+ shaders. See <code>src/mesa/state_tracker/st_debug.c</code> for other
+ options.</dd>
+</dl>
+
+<h3>Clover state tracker environment variables</h3>
+
+<dl>
+<dt><code>CLOVER_EXTRA_BUILD_OPTIONS</code></dt>
+<dd>allows specifying additional compiler and linker
+ options. Specified options are appended after the options set by the OpenCL
+ program in <code>clBuildProgram</code>.</dd>
+<dt><code>CLOVER_EXTRA_COMPILE_OPTIONS</code></dt>
+<dd>allows specifying additional compiler
+ options. Specified options are appended after the options set by the OpenCL
+ program in <code>clCompileProgram</code>.</dd>
+<dt><code>CLOVER_EXTRA_LINK_OPTIONS</code></dt>
+<dd>allows specifying additional linker
+ options. Specified options are appended after the options set by the OpenCL
+ program in <code>clLinkProgram</code>.</dd>
+</dl>
+
+
+<h3>Softpipe driver environment variables</h3>
+<dl>
+<dt><code>SOFTPIPE_DUMP_FS</code></dt>
+<dd>if set, the softpipe driver will print fragment shaders to stderr</dd>
+<dt><code>SOFTPIPE_DUMP_GS</code></dt>
+<dd>if set, the softpipe driver will print geometry shaders to stderr</dd>
+<dt><code>SOFTPIPE_NO_RAST</code></dt>
+<dd>if set, rasterization is no-op'd. For profiling purposes.</dd>
+<dt><code>SOFTPIPE_USE_LLVM</code></dt>
+<dd>if set, the softpipe driver will try to use LLVM JIT for
+ vertex shading processing.</dd>
+</dl>
+
+
+<h3>LLVMpipe driver environment variables</h3>
+<dl>
+<dt><code>LP_NO_RAST</code></dt>
+<dd>if set LLVMpipe will no-op rasterization</dd>
+<dt><code>LP_DEBUG</code></dt>
+<dd>a comma-separated list of debug options is accepted. See the
+ source code for details.</dd>
+<dt><code>LP_PERF</code></dt>
+<dd>a comma-separated list of options to selectively no-op various
+ parts of the driver. See the source code for details.</dd>
+<dt><code>LP_NUM_THREADS</code></dt>
+<dd>an integer indicating how many threads to use for rendering.
+ Zero turns off threading completely. The default value is the number of CPU
+ cores present.</dd>
+</dl>
+
+<h3>VMware SVGA driver environment variables</h3>
+<dl>
+<dt><code>SVGA_FORCE_SWTNL</code></dt>
+<dd>force use of software vertex transformation</dd>
+<dt><code>SVGA_NO_SWTNL</code></dt>
+<dd>don't allow software vertex transformation fallbacks (will often result
+ in incorrect rendering).</dd>
+<dt><code>SVGA_DEBUG</code></dt>
+<dd>for dumping shaders, constant buffers, etc. See the code for
+ details.</dd>
+<dt><code>SVGA_EXTRA_LOGGING</code></dt>
+<dd>if set, enables extra logging to the <code>vmware.log</code> file,
+ such as the OpenGL program's name and command line arguments.</dd>
+<dt><code>SVGA_NO_LOGGING</code></dt>
+<dd>if set, disables logging to the <code>vmware.log</code> file. This is
+ useful when using Valgrind because it otherwise crashes when
+ initializing the host log feature.</dd>
+</dl>
+<p>See the driver code for other, lesser-used variables.</p>
+
+<h3>WGL environment variables</h3>
+<dl>
+<dt><code>WGL_SWAP_INTERVAL</code></dt>
+<dd>to set a swap interval, equivalent to calling
+ <code>wglSwapIntervalEXT()</code> in an application. If this
+ environment variable is set, application calls to
+ <code>wglSwapIntervalEXT()</code> will have no effect.</dd>
+</dl>
+
+<h3>VA-API state tracker environment variables</h3>
+<dl>
+<dt><code>VAAPI_MPEG4_ENABLED</code></dt>
+<dd>enable MPEG4 for VA-API, disabled by default.</dd>
+</dl>
+
+
+<h3>VC4 driver environment variables</h3>
+<dl>
+<dt><code>VC4_DEBUG</code></dt>
+<dd>a comma-separated list of named flags, which do various things:
+<dl>
+ <dt><code>cl</code></dt>
+ <dd>dump command list during creation</dd>
+ <dt><code>qpu</code></dt>
+ <dd>dump generated QPU instructions</dd>
+ <dt><code>qir</code></dt>
+ <dd>dump QPU IR during program compile</dd>
+ <dt><code>nir</code></dt>
+ <dd>dump NIR during program compile</dd>
+ <dt><code>tgsi</code></dt>
+ <dd>dump TGSI during program compile</dd>
+ <dt><code>shaderdb</code></dt>
+ <dd>dump program compile information for shader-db analysis</dd>
+ <dt><code>perf</code></dt>
+ <dd>print during performance-related events</dd>
+ <dt><code>norast</code></dt>
+ <dd>skip actual hardware execution of commands</dd>
+ <dt><code>always_flush</code></dt>
+ <dd>flush after each draw call</dd>
+ <dt><code>always_sync</code></dt>
+ <dd>wait for finish after each flush</dd>
+ <dt><code>dump</code></dt>
+ <dd>write a GPU command stream trace file (VC4 simulator only)</dd>
+</dl>
+</dd>
+</dl>
+
+
+<p>
+Other Gallium drivers have their own environment variables. These may change
+frequently so the source code should be consulted for details.
+</p>
+
+</div>
+</body>
+</html>