blob: c8be8437176ad380a34c7c2f0762ad5f982ca675 [file] [log] [blame]
Brian Paul0b27ace2003-03-08 17:38:57 +00001<HTML>
2
3<TITLE>Environment Variables</TITLE>
4
Brian Paul36da0452005-01-20 03:55:10 +00005<link rel="stylesheet" type="text/css" href="mesa.css"></head>
6
7<BODY>
Brian Paul0b27ace2003-03-08 17:38:57 +00008
9<H1>Environment Variables</H1>
10
11<p>
Brian Paul1bf99542011-02-17 07:29:20 -070012Normally, no environment variables need to be set. Most of the environment
13variables used by Mesa/Gallium are for debugging purposes, but they can
14sometimes be useful for debugging end-user issues.
Brian Paul0b27ace2003-03-08 17:38:57 +000015</p>
Brian Paul1bf99542011-02-17 07:29:20 -070016
17
18<H2>LibGL environment variables</H2>
19
20<ul>
21<li>LIBGL_DEBUG - If defined debug information will be printed to stderr.
22 If set to 'verbose' additional information will be printed.
23<li>LIBGL_DRIVERS_PATH - colon-separated list of paths to search for DRI drivers
24<li>LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection.
25<li>LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering
26<li>LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging)
27</ul>
28
29
30
31<H2>Core Mesa environment variables</H2>
32
Brian Paul0b27ace2003-03-08 17:38:57 +000033<ul>
Brian Paulb07d6a82004-02-02 22:35:55 +000034<li>MESA_NO_ASM - if set, disables all assembly language optimizations
35<li>MESA_NO_MMX - if set, disables Intel MMX optimizations
36<li>MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
37<li>MESA_NO_SSE - if set, disables Intel SSE optimizations
Brian Paul1bf99542011-02-17 07:29:20 -070038<li>MESA_DEBUG - if set, error messages are printed to stderr. For example,
39 if the application generates a GL_INVALID_ENUM error, a corresponding error
40 message indicating where the error occured, and possibly why, will be
41 printed to stderr.<br>
42 If the value of MESA_DEBUG is 'FP' floating point arithmetic errors will
43 generate exceptions.
Brian Paul4d3ab192006-06-01 20:22:30 +000044<li>MESA_TEX_PROG - if set, implement conventional texture env modes with
45fragment programs (intended for developers only)
46<li>MESA_TNL_PROG - if set, implement conventional vertex transformation
47operations with vertex programs (intended for developers only).
48Setting this variable automatically sets the MESA_TEX_PROG variable as well.
Brian Paulcc26e272009-06-08 10:56:51 -060049<li>MESA_EXTENSION_OVERRIDE - can be used to enable/disable extensions.
50A value such as "GL_EXT_foo -GL_EXT_bar" will enable the GL_EXT_foo extension
51and disable the GL_EXT_bar extension.
Brian Paul1bf99542011-02-17 07:29:20 -070052<li>MESA_GLSL - <a href="shading.html#envvars">shading language compiler options</a>
Brian Paulb07d6a82004-02-02 22:35:55 +000053</ul>
54
Brian Paul1bf99542011-02-17 07:29:20 -070055
56<H2>Mesa Xlib driver environment variables</H2>
57
Brian Paulb07d6a82004-02-02 22:35:55 +000058<p>
Brian Paul1bf99542011-02-17 07:29:20 -070059The following are only applicable to the Mesa Xlib software driver.
Brian Paulb6c41fd2009-01-22 09:58:52 -070060See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details.
Brian Paulb07d6a82004-02-02 22:35:55 +000061</p>
62<ul>
Brian Paul5e9d7312006-01-27 20:12:06 +000063<li>MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode
64<li>MESA_CI_VISUAL - specifies the X visual and depth for CI mode
65<li>MESA_BACK_BUFFER - specifies how to implement the back color buffer,
66 either "pixmap" or "ximage"
67<li>MESA_GAMMA - gamma correction coefficients for red, green, blue channels
68<li>MESA_XSYNC - enable synchronous X behavior (for debugging only)
69<li>MESA_GLX_FORCE_CI - if set, force GLX to treat 8bpp visuals as CI visuals
Brian Paulb07d6a82004-02-02 22:35:55 +000070<li>MESA_GLX_FX - set to either "fullscreen" for full-screen rendering,
71 "window" to render into a window, or "disable" to disable the Glide driver.
Brian Paul4f6b1ad2004-07-23 15:49:12 +000072<li>MESA_GLX_FORCE_ALPHA - if set, forces RGB windows to have an alpha channel.
Brian Pauldfa5c2b2004-07-23 23:32:15 +000073<li>MESA_GLX_DEPTH_BITS - specifies default number of bits for depth buffer.
Brian Paul8894a552005-11-05 03:12:06 +000074<li>MESA_GLX_ALPHA_BITS - specifies default number of bits for alpha channel.
Brian Paul0b27ace2003-03-08 17:38:57 +000075</ul>
76
77
Brian Paul1bf99542011-02-17 07:29:20 -070078<h2>i945/i965 driver environment variables (non-Gallium)</h2>
79
Brian Paul1d8b3082010-01-26 09:12:32 -070080<ul>
81<li>INTEL_STRICT_CONFORMANCE - if set to 1, enable sw fallbacks to improve
82 OpenGL conformance. If set to 2, always use software rendering.
83<li>INTEL_NO_BLIT - if set, disable hardware-accelerated glBitmap,
84 glCopyPixels, glDrawPixels.
85</ul>
86
87
Brian Paul1bf99542011-02-17 07:29:20 -070088<h2>Radeon R300 driver environment variables (non-Gallium)</h2>
89
Brian Paul1d8b3082010-01-26 09:12:32 -070090<ul>
91<li>R300_NO_TCL - if set, disable hardware-accelerated Transform/Clip/Lighting.
92</ul>
93
Brian Paul1bf99542011-02-17 07:29:20 -070094
95<h2>EGL environment variables</h2>
96
Chia-I Wu7fc35812010-02-02 11:05:19 +080097<p>
98Mesa EGL supports different sets of environment variables. See the
99<a href="egl.html">Mesa EGL</a> page for the details.
100</p>
Brian Paul1d8b3082010-01-26 09:12:32 -0700101
Brian Paul1bf99542011-02-17 07:29:20 -0700102
103<h2>Gallium environment variables</h2>
104
105<ul>
106<li>GALLIUM_PRINT_OPTIONS - if non-zero, print all the Gallium environment
107 variables which are used, and their current values.
108<li>GALLIUM_NOSSE - if non-zero, do not use SSE runtime code generation for
109 shader execution
110<li>GALLIUM_NOPPC - if non-zero, do not use PPC runtime code generation for
111 shader execution
112<li>GALLIUM_DUMP_CPU - if non-zero, print information about the CPU on start-up
113<li>TGSI_PRINT_SANITY - if set, do extra sanity checking on TGSI shaders and
114 print any errors to stderr.
115<LI>DRAW_FSE - ???
116<LI>DRAW_NO_FSE - ???
117<li>DRAW_USE_LLVM - if set to zero, the draw module will not use LLVM to execute
118 shaders, vertex fetch, etc.
119</ul>
120
121<h3>Softpipe driver environment variables</h3>
122<ul>
123<li>SOFTPIPE_DUMP_FS - if set, the softpipe driver will print fragment shaders
124 to stderr
125<li>SOFTPIPE_DUMP_GS - if set, the softpipe driver will print geometry shaders
126 to stderr
127<li>SOFTPIPE_NO_RAST - if set, rasterization is no-op'd. For profiling purposes.
128</ul>
129
130
131<h3>LLVMpipe driver environment variables</h3>
132<ul>
133<li>LP_NO_RAST - if set LLVMpipe will no-op rasterization
134<li>LP_DEBUG - a comma-separated list of debug options is acceptec. See the
135 source code for details.
136<li>LP_PERF - a comma-separated list of options to selectively no-op various
137 parts of the driver. See the source code for details.
138<li>LP_NUM_THREADS - an integer indicating how many threads to use for rendering.
139 Zero turns of threading completely. The default value is the number of CPU
140 cores present.
141</ul>
142
143
144<p>
145Other Gallium drivers have their own environment variables. These may change
146frequently so the source code should be consulted for details.
147</p>
148
149
150<br>
151<br>
152
153
Brian Paul0b27ace2003-03-08 17:38:57 +0000154</BODY>
155</HTML>