1Environment Variables 2===================== 3 4Normally, no environment variables need to be set. Most of the 5environment variables used by Mesa/Gallium are for debugging purposes, 6but they can sometimes be useful for debugging end-user issues. 7 8LibGL environment variables 9--------------------------- 10 11``LIBGL_DEBUG`` 12 If defined debug information will be printed to stderr. If set to 13 ``verbose`` additional information will be printed. 14``LIBGL_DRIVERS_PATH`` 15 colon-separated list of paths to search for DRI drivers 16``LIBGL_ALWAYS_INDIRECT`` 17 if set to ``true``, forces an indirect rendering context/connection. 18``LIBGL_ALWAYS_SOFTWARE`` 19 if set to ``true``, always use software rendering 20``LIBGL_NO_DRAWARRAYS`` 21 if set to ``true``, do not use DrawArrays GLX protocol (for 22 debugging) 23``LIBGL_SHOW_FPS`` 24 print framerate to stdout based on the number of ``glXSwapBuffers`` 25 calls per second. 26``LIBGL_DRI3_DISABLE`` 27 disable DRI3 if set to ``true``. 28 29Core Mesa environment variables 30------------------------------- 31 32``MESA_NO_ASM`` 33 if set, disables all assembly language optimizations 34``MESA_NO_MMX`` 35 if set, disables Intel MMX optimizations 36``MESA_NO_3DNOW`` 37 if set, disables AMD 3DNow! optimizations 38``MESA_NO_SSE`` 39 if set, disables Intel SSE optimizations 40``MESA_NO_ERROR`` 41 if set to 1, error checking is disabled as per ``KHR_no_error``. This 42 will result in undefined behaviour for invalid use of the api, but 43 can reduce CPU use for apps that are known to be error free. 44``MESA_DEBUG`` 45 if set, error messages are printed to stderr. For example, if the 46 application generates a ``GL_INVALID_ENUM`` error, a corresponding 47 error message indicating where the error occurred, and possibly why, 48 will be printed to stderr. For release builds, ``MESA_DEBUG`` 49 defaults to off (no debug output). ``MESA_DEBUG`` accepts the 50 following comma-separated list of named flags, which adds extra 51 behaviour to just set ``MESA_DEBUG=1``: 52 53 ``silent`` 54 turn off debug messages. Only useful for debug builds. 55 ``flush`` 56 flush after each drawing command 57 ``incomplete_tex`` 58 extra debug messages when a texture is incomplete 59 ``incomplete_fbo`` 60 extra debug messages when a fbo is incomplete 61 ``context`` 62 create a debug context (see ``GLX_CONTEXT_DEBUG_BIT_ARB``) and 63 print error and performance messages to stderr (or 64 ``MESA_LOG_FILE``). 65 66``MESA_LOG_FILE`` 67 specifies a file name for logging all errors, warnings, etc., rather 68 than stderr 69``MESA_TEX_PROG`` 70 if set, implement conventional texture env modes with fragment 71 programs (intended for developers only) 72``MESA_TNL_PROG`` 73 if set, implement conventional vertex transformation operations with 74 vertex programs (intended for developers only). Setting this variable 75 automatically sets the ``MESA_TEX_PROG`` variable as well. 76``MESA_EXTENSION_OVERRIDE`` 77 can be used to enable/disable extensions. A value such as 78 ``GL_EXT_foo -GL_EXT_bar`` will enable the ``GL_EXT_foo`` extension 79 and disable the ``GL_EXT_bar`` extension. 80``MESA_EXTENSION_MAX_YEAR`` 81 The ``GL_EXTENSIONS`` string returned by Mesa is sorted by extension 82 year. If this variable is set to year X, only extensions defined on 83 or before year X will be reported. This is to work-around a bug in 84 some games where the extension string is copied into a fixed-size 85 buffer without truncating. If the extension string is too long, the 86 buffer overrun can cause the game to crash. This is a work-around for 87 that. 88``MESA_GL_VERSION_OVERRIDE`` 89 changes the value returned by ``glGetString(GL_VERSION)`` and 90 possibly the GL API type. 91 92 - The format should be ``MAJOR.MINOR[FC|COMPAT]`` 93 - ``FC`` is an optional suffix that indicates a forward compatible 94 context. This is only valid for versions >= 3.0. 95 - ``COMPAT`` is an optional suffix that indicates a compatibility 96 context or ``GL_ARB_compatibility`` support. This is only valid 97 for versions >= 3.1. 98 - GL versions <= 3.0 are set to a compatibility (non-Core) profile 99 - GL versions = 3.1, depending on the driver, it may or may not have 100 the ``ARB_compatibility`` extension enabled. 101 - GL versions >= 3.2 are set to a Core profile 102 - Examples: 103 104 ``2.1`` 105 select a compatibility (non-Core) profile with GL version 2.1. 106 ``3.0`` 107 select a compatibility (non-Core) profile with GL version 3.0. 108 ``3.0FC`` 109 select a Core+Forward Compatible profile with GL version 3.0. 110 ``3.1`` 111 select GL version 3.1 with ``GL_ARB_compatibility`` enabled per 112 the driver default. 113 ``3.1FC`` 114 select GL version 3.1 with forward compatibility and 115 ``GL_ARB_compatibility`` disabled. 116 ``3.1COMPAT`` 117 select GL version 3.1 with ``GL_ARB_compatibility`` enabled. 118 ``X.Y`` 119 override GL version to X.Y without changing the profile. 120 ``X.YFC`` 121 select a Core+Forward Compatible profile with GL version X.Y. 122 ``X.YCOMPAT`` 123 select a Compatibility profile with GL version X.Y. 124 125 - Mesa may not really implement all the features of the given 126 version. (for developers only) 127 128``MESA_GLES_VERSION_OVERRIDE`` 129 changes the value returned by ``glGetString(GL_VERSION)`` for OpenGL 130 ES. 131 132 - The format should be ``MAJOR.MINOR`` 133 - Examples: ``2.0``, ``3.0``, ``3.1`` 134 - Mesa may not really implement all the features of the given 135 version. (for developers only) 136 137``MESA_GLSL_VERSION_OVERRIDE`` 138 changes the value returned by 139 ``glGetString(GL_SHADING_LANGUAGE_VERSION)``. Valid values are 140 integers, such as ``130``. Mesa will not really implement all the 141 features of the given language version if it's higher than what's 142 normally reported. (for developers only) 143``MESA_GLSL_CACHE_DISABLE`` 144 if set to ``true``, disables the GLSL shader cache 145``MESA_GLSL_CACHE_MAX_SIZE`` 146 if set, determines the maximum size of the on-disk cache of compiled 147 GLSL programs. Should be set to a number optionally followed by 148 ``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or 149 gigabytes. By default, gigabytes will be assumed. And if unset, a 150 maximum size of 1GB will be used. 151 152 .. note:: 153 154 A separate cache might be created for each architecture that Mesa is 155 installed for on your system. For example under the default settings 156 you may end up with a 1GB cache for x86_64 and another 1GB cache for 157 i386. 158 159``MESA_GLSL_CACHE_DIR`` 160 if set, determines the directory to be used for the on-disk cache of 161 compiled GLSL programs. If this variable is not set, then the cache 162 will be stored in ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that 163 variable is set), or else within ``.cache/mesa_shader_cache`` within 164 the user's home directory. 165``MESA_GLSL`` 166 :ref:`shading language compiler options <envvars>` 167``MESA_NO_MINMAX_CACHE`` 168 when set, the minmax index cache is globally disabled. 169``MESA_SHADER_CAPTURE_PATH`` 170 see :ref:`Capturing Shaders <capture>` 171``MESA_SHADER_DUMP_PATH`` and ``MESA_SHADER_READ_PATH`` 172 see :ref:`Experimenting with Shader 173 Replacements <replacement>` 174``MESA_VK_VERSION_OVERRIDE`` 175 changes the Vulkan physical device version as returned in 176 ``VkPhysicalDeviceProperties::apiVersion``. 177 178 - The format should be ``MAJOR.MINOR[.PATCH]`` 179 - This will not let you force a version higher than the driver's 180 instance version as advertised by ``vkEnumerateInstanceVersion`` 181 - This can be very useful for debugging but some features may not be 182 implemented correctly. (For developers only) 183 184NIR passes environment variables 185-------------------------------- 186 187The following are only applicable for drivers that uses NIR, as they 188modify the behaviour for the common NIR_PASS and NIR_PASS_V macros, that 189wrap calls to NIR lowering/optimizations. 190 191``NIR_PRINT`` 192 If defined, the resulting NIR shader will be printed out at each 193 successful NIR lowering/optimization call. 194``NIR_TEST_CLONE`` 195 If defined, cloning a NIR shader would be tested at each successful 196 NIR lowering/optimization call. 197``NIR_TEST_SERIALIZE`` 198 If defined, serialize and deserialize a NIR shader would be tested at 199 each successful NIR lowering/optimization call. 200 201Mesa Xlib driver environment variables 202-------------------------------------- 203 204The following are only applicable to the Mesa Xlib software driver. See 205the :doc:`Xlib software driver page <xlibdriver>` for details. 206 207``MESA_RGB_VISUAL`` 208 specifies the X visual and depth for RGB mode 209``MESA_CI_VISUAL`` 210 specifies the X visual and depth for CI mode 211``MESA_BACK_BUFFER`` 212 specifies how to implement the back color buffer, either ``pixmap`` 213 or ``ximage`` 214``MESA_GAMMA`` 215 gamma correction coefficients for red, green, blue channels 216``MESA_XSYNC`` 217 enable synchronous X behavior (for debugging only) 218``MESA_GLX_FORCE_CI`` 219 if set, force GLX to treat 8bpp visuals as CI visuals 220``MESA_GLX_FORCE_ALPHA`` 221 if set, forces RGB windows to have an alpha channel. 222``MESA_GLX_DEPTH_BITS`` 223 specifies default number of bits for depth buffer. 224``MESA_GLX_ALPHA_BITS`` 225 specifies default number of bits for alpha channel. 226 227i945/i965 driver environment variables (non-Gallium) 228---------------------------------------------------- 229 230``INTEL_NO_HW`` 231 if set to 1, prevents batches from being submitted to the hardware. 232 This is useful for debugging hangs, etc. 233``INTEL_DEBUG`` 234 a comma-separated list of named flags, which do various things: 235 236 ``ann`` 237 annotate IR in assembly dumps 238 ``aub`` 239 dump batches into an AUB trace for use with simulation tools 240 ``bat`` 241 emit batch information 242 ``blit`` 243 emit messages about blit operations 244 ``blorp`` 245 emit messages about the blorp operations (blits & clears) 246 ``buf`` 247 emit messages about buffer objects 248 ``clip`` 249 emit messages about the clip unit (for old gens, includes the CLIP 250 program) 251 ``color`` 252 use color in output 253 ``cs`` 254 dump shader assembly for compute shaders 255 ``do32`` 256 generate compute shader SIMD32 programs even if workgroup size 257 doesn't exceed the SIMD16 limit 258 ``dri`` 259 emit messages about the DRI interface 260 ``fbo`` 261 emit messages about framebuffers 262 ``fs`` 263 dump shader assembly for fragment shaders 264 ``gs`` 265 dump shader assembly for geometry shaders 266 ``hex`` 267 print instruction hex dump with the disassembly 268 ``l3`` 269 emit messages about the new L3 state during transitions 270 ``miptree`` 271 emit messages about miptrees 272 ``no8`` 273 don't generate SIMD8 fragment shader 274 ``no16`` 275 suppress generation of 16-wide fragment shaders. useful for 276 debugging broken shaders 277 ``nocompact`` 278 disable instruction compaction 279 ``nodualobj`` 280 suppress generation of dual-object geometry shader code 281 ``nofc`` 282 disable fast clears 283 ``norbc`` 284 disable single sampled render buffer compression 285 ``optimizer`` 286 dump shader assembly to files at each optimization pass and 287 iteration that make progress 288 ``perf`` 289 emit messages about performance issues 290 ``perfmon`` 291 emit messages about ``AMD_performance_monitor`` 292 ``pix`` 293 emit messages about pixel operations 294 ``prim`` 295 emit messages about drawing primitives 296 ``reemit`` 297 mark all state dirty on each draw call 298 ``sf`` 299 emit messages about the strips & fans unit (for old gens, includes 300 the SF program) 301 ``shader_time`` 302 record how much GPU time is spent in each shader 303 ``spill_fs`` 304 force spilling of all registers in the scalar backend (useful to 305 debug spilling code) 306 ``spill_vec4`` 307 force spilling of all registers in the vec4 backend (useful to 308 debug spilling code) 309 ``state`` 310 emit messages about state flag tracking 311 ``submit`` 312 emit batchbuffer usage statistics 313 ``sync`` 314 after sending each batch, emit a message and wait for that batch 315 to finish rendering 316 ``tcs`` 317 dump shader assembly for tessellation control shaders 318 ``tes`` 319 dump shader assembly for tessellation evaluation shaders 320 ``tex`` 321 emit messages about textures. 322 ``urb`` 323 emit messages about URB setup 324 ``vert`` 325 emit messages about vertex assembly 326 ``vs`` 327 dump shader assembly for vertex shaders 328 329``INTEL_SCALAR_VS`` (or ``TCS``, ``TES``, ``GS``) 330 force scalar/vec4 mode for a shader stage (Gen8-9 only) 331``INTEL_PRECISE_TRIG`` 332 if set to 1, true or yes, then the driver prefers accuracy over 333 performance in trig functions. 334 335Radeon driver environment variables (radeon, r200, and r300g) 336------------------------------------------------------------- 337 338``RADEON_NO_TCL`` 339 if set, disable hardware-accelerated Transform/Clip/Lighting. 340 341EGL environment variables 342------------------------- 343 344Mesa EGL supports different sets of environment variables. See the 345:doc:`Mesa EGL <egl>` page for the details. 346 347Gallium environment variables 348----------------------------- 349 350``GALLIUM_HUD`` 351 draws various information on the screen, like framerate, cpu load, 352 driver statistics, performance counters, etc. Set 353 ``GALLIUM_HUD=help`` and run e.g. ``glxgears`` for more info. 354``GALLIUM_HUD_PERIOD`` 355 sets the hud update rate in seconds (float). Use zero to update every 356 frame. The default period is 1/2 second. 357``GALLIUM_HUD_VISIBLE`` 358 control default visibility, defaults to true. 359``GALLIUM_HUD_TOGGLE_SIGNAL`` 360 toggle visibility via user specified signal. Especially useful to 361 toggle hud at specific points of application and disable for 362 unencumbered viewing the rest of the time. For example, set 363 ``GALLIUM_HUD_VISIBLE`` to ``false`` and 364 ``GALLIUM_HUD_TOGGLE_SIGNAL`` to ``10`` (``SIGUSR1``). Use 365 ``kill -10 <pid>`` to toggle the hud as desired. 366``GALLIUM_HUD_SCALE`` 367 Scale hud by an integer factor, for high DPI displays. Default is 1. 368``GALLIUM_HUD_DUMP_DIR`` 369 specifies a directory for writing the displayed hud values into 370 files. 371``GALLIUM_DRIVER`` 372 useful in combination with ``LIBGL_ALWAYS_SOFTWARE=true`` for 373 choosing one of the software renderers ``softpipe``, ``llvmpipe`` or 374 ``swr``. 375``GALLIUM_LOG_FILE`` 376 specifies a file for logging all errors, warnings, etc. rather than 377 stderr. 378``GALLIUM_PRINT_OPTIONS`` 379 if non-zero, print all the Gallium environment variables which are 380 used, and their current values. 381``GALLIUM_DUMP_CPU`` 382 if non-zero, print information about the CPU on start-up 383``TGSI_PRINT_SANITY`` 384 if set, do extra sanity checking on TGSI shaders and print any errors 385 to stderr. 386``DRAW_FSE`` 387 ??? 388``DRAW_NO_FSE`` 389 ??? 390``DRAW_USE_LLVM`` 391 if set to zero, the draw module will not use LLVM to execute shaders, 392 vertex fetch, etc. 393``ST_DEBUG`` 394 controls debug output from the Mesa/Gallium state tracker. Setting to 395 ``tgsi``, for example, will print all the TGSI shaders. See 396 ``src/mesa/state_tracker/st_debug.c`` for other options. 397 398Clover environment variables 399~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 400 401``CLOVER_EXTRA_BUILD_OPTIONS`` 402 allows specifying additional compiler and linker options. Specified 403 options are appended after the options set by the OpenCL program in 404 ``clBuildProgram``. 405``CLOVER_EXTRA_COMPILE_OPTIONS`` 406 allows specifying additional compiler options. Specified options are 407 appended after the options set by the OpenCL program in 408 ``clCompileProgram``. 409``CLOVER_EXTRA_LINK_OPTIONS`` 410 allows specifying additional linker options. Specified options are 411 appended after the options set by the OpenCL program in 412 ``clLinkProgram``. 413 414Softpipe driver environment variables 415~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 416 417``SOFTPIPE_DEBUG`` 418 a comma-separated list of named flags, which do various things: 419 420 ``vs`` 421 Dump vertex shader assembly to stderr 422 ``fs`` 423 Dump fragment shader assembly to stderr 424 ``gs`` 425 Dump geometry shader assembly to stderr 426 ``cs`` 427 Dump compute shader assembly to stderr 428 ``no_rast`` 429 rasterization is no-op'd. For profiling purposes. 430 ``use_llvm`` 431 the softpipe driver will try to use LLVM JIT for vertex 432 shading processing. 433 434LLVMpipe driver environment variables 435~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 436 437``LP_NO_RAST`` 438 if set LLVMpipe will no-op rasterization 439``LP_DEBUG`` 440 a comma-separated list of debug options is accepted. See the source 441 code for details. 442``LP_PERF`` 443 a comma-separated list of options to selectively no-op various parts 444 of the driver. See the source code for details. 445``LP_NUM_THREADS`` 446 an integer indicating how many threads to use for rendering. Zero 447 turns off threading completely. The default value is the number of 448 CPU cores present. 449 450VMware SVGA driver environment variables 451~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 452 453``SVGA_FORCE_SWTNL`` 454 force use of software vertex transformation 455``SVGA_NO_SWTNL`` 456 don't allow software vertex transformation fallbacks (will often 457 result in incorrect rendering). 458``SVGA_DEBUG`` 459 for dumping shaders, constant buffers, etc. See the code for details. 460``SVGA_EXTRA_LOGGING`` 461 if set, enables extra logging to the ``vmware.log`` file, such as the 462 OpenGL program's name and command line arguments. 463``SVGA_NO_LOGGING`` 464 if set, disables logging to the ``vmware.log`` file. This is useful 465 when using Valgrind because it otherwise crashes when initializing 466 the host log feature. 467 468See the driver code for other, lesser-used variables. 469 470WGL environment variables 471~~~~~~~~~~~~~~~~~~~~~~~~~ 472 473``WGL_SWAP_INTERVAL`` 474 to set a swap interval, equivalent to calling 475 ``wglSwapIntervalEXT()`` in an application. If this environment 476 variable is set, application calls to ``wglSwapIntervalEXT()`` will 477 have no effect. 478 479VA-API environment variables 480~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 481 482``VAAPI_MPEG4_ENABLED`` 483 enable MPEG4 for VA-API, disabled by default. 484 485VC4 driver environment variables 486~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 487 488``VC4_DEBUG`` 489 a comma-separated list of named flags, which do various things: 490 491 ``cl`` 492 dump command list during creation 493 ``qpu`` 494 dump generated QPU instructions 495 ``qir`` 496 dump QPU IR during program compile 497 ``nir`` 498 dump NIR during program compile 499 ``tgsi`` 500 dump TGSI during program compile 501 ``shaderdb`` 502 dump program compile information for shader-db analysis 503 ``perf`` 504 print during performance-related events 505 ``norast`` 506 skip actual hardware execution of commands 507 ``always_flush`` 508 flush after each draw call 509 ``always_sync`` 510 wait for finish after each flush 511 ``dump`` 512 write a GPU command stream trace file (VC4 simulator only) 513 514RADV driver environment variables 515~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 516 517``RADV_DEBUG`` 518 a comma-separated list of named flags, which do various things: 519 520 ``llvm`` 521 enable LLVM compiler backend 522 ``allbos`` 523 force all allocated buffers to be referenced in submissions 524 ``allentrypoints`` 525 enable all device/instance entrypoints 526 ``checkir`` 527 validate the LLVM IR before LLVM compiles the shader 528 ``errors`` 529 display more info about errors 530 ``info`` 531 show GPU-related information 532 ``metashaders`` 533 dump internal meta shaders 534 ``nobinning`` 535 disable primitive binning 536 ``nocache`` 537 disable shaders cache 538 ``nocompute`` 539 disable compute queue 540 ``nodcc`` 541 disable Delta Color Compression (DCC) on images 542 ``nodynamicbounds`` 543 do not check OOB access for dynamic descriptors 544 ``nofastclears`` 545 disable fast color/depthstencil clears 546 ``nohiz`` 547 disable HIZ for depthstencil images 548 ``noibs`` 549 disable directly recording command buffers in GPU-visible memory 550 ``nomemorycache`` 551 disable memory shaders cache 552 ``nongg`` 553 disable NGG for GFX10+ 554 ``nooutoforder`` 555 disable out-of-order rasterization 556 ``nothreadllvm`` 557 disable LLVM threaded compilation 558 ``preoptir`` 559 dump LLVM IR before any optimizations 560 ``shaders`` 561 dump shaders 562 ``shaderstats`` 563 dump shader statistics 564 ``spirv`` 565 dump SPIR-V 566 ``startup`` 567 display info at startup 568 ``syncshaders`` 569 synchronize shaders after all draws/dispatches 570 ``vmfaults`` 571 check for VM memory faults via dmesg 572 ``zerovram`` 573 initialize all memory allocated in VRAM as zero 574 575``RADV_FORCE_FAMILY`` 576 create a null device to compile shaders without a AMD GPU (eg. 577 gfx900) 578``RADV_PERFTEST`` 579 a comma-separated list of named flags, which do various things: 580 581 ``bolist`` 582 enable the global BO list 583 ``cswave32`` 584 enable wave32 for compute shaders (GFX10+) 585 ``dccmsaa`` 586 enable DCC for MSAA images 587 ``dfsm`` 588 enable dfsm 589 ``gewave32`` 590 enable wave32 for vertex/tess/geometry shaders (GFX10+) 591 ``localbos`` 592 enable local BOs 593 ``pswave32`` 594 enable wave32 for pixel shaders (GFX10+) 595 ``tccompatcmask`` 596 enable TC-compat cmask for MSAA images 597 598``RADV_TEX_ANISO`` 599 force anisotropy filter (up to 16) 600``RADV_TRACE_FILE`` 601 generate cmdbuffer tracefiles when a GPU hang is detected 602``ACO_DEBUG`` 603 a comma-separated list of named flags, which do various things: 604 605 ``validateir`` 606 validate the ACO IR at various points of compilation (enabled by 607 default for debug/debugoptimized builds) 608 ``validatera`` 609 validate register assignment of ACO IR and catches many RA bugs 610 ``perfwarn`` 611 abort on some suboptimal code generation 612 613radeonsi driver environment variables 614~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 615 616``AMD_DEBUG`` 617 a comma-separated list of named flags, which do various things: 618``nodma`` 619 Disable SDMA 620``nodmaclear`` 621 Disable SDMA clears 622``nodmacopyimage`` 623 Disable SDMA image copies 624``zerovram`` 625 Clear VRAM allocations. 626``nodcc`` 627 Disable DCC. 628``nodccclear`` 629 Disable DCC fast clear. 630``nodccfb`` 631 Disable separate DCC on the main framebuffer 632``nodccmsaa`` 633 Disable DCC for MSAA 634``nodpbb`` 635 Disable DPBB. 636``nodfsm`` 637 Disable DFSM. 638``notiling`` 639 Disable tiling 640``nofmask`` 641 Disable MSAA compression 642``nohyperz`` 643 Disable Hyper-Z 644``norbplus`` 645 Disable RB+. 646``no2d`` 647 Disable 2D tiling 648``info`` 649 Print driver information 650``tex`` 651 Print texture info 652``compute`` 653 Print compute info 654``vm`` 655 Print virtual addresses when creating resources 656``vs`` 657 Print vertex shaders 658``ps`` 659 Print pixel shaders 660``gs`` 661 Print geometry shaders 662``tcs`` 663 Print tessellation control shaders 664``tes`` 665 Print tessellation evaluation shaders 666``cs`` 667 Print compute shaders 668``noir`` 669 Don't print the LLVM IR 670``nonir`` 671 Don't print NIR when printing shaders 672``noasm`` 673 Don't print disassembled shaders 674``preoptir`` 675 Print the LLVM IR before initial optimizations 676``gisel`` 677 Enable LLVM global instruction selector. 678``w32ge`` 679 Use Wave32 for vertex, tessellation, and geometry shaders. 680``w32ps`` 681 Use Wave32 for pixel shaders. 682``w32cs`` 683 Use Wave32 for computes shaders. 684``w64ge`` 685 Use Wave64 for vertex, tessellation, and geometry shaders. 686``w64ps`` 687 Use Wave64 for pixel shaders. 688``w64cs`` 689 Use Wave64 for computes shaders. 690``checkir`` 691 Enable additional sanity checks on shader IR 692``mono`` 693 Use old-style monolithic shaders compiled on demand 694``nooptvariant`` 695 Disable compiling optimized shader variants. 696``forcedma`` 697 Use SDMA for all operations when possible. 698``nowc`` 699 Disable GTT write combining 700``check_vm`` 701 Check VM faults and dump debug info. 702``reserve_vmid`` 703 Force VMID reservation per context. 704``nogfx`` 705 Disable graphics. Only multimedia compute paths can be used. 706``nongg`` 707 Disable NGG and use the legacy pipeline. 708``nggc`` 709 Always use NGG culling even when it can hurt. 710``nonggc`` 711 Disable NGG culling. 712``alwayspd`` 713 Always enable the primitive discard compute shader. 714``pd`` 715 Enable the primitive discard compute shader for large draw calls. 716``nopd`` 717 Disable the primitive discard compute shader. 718``switch_on_eop`` 719 Program WD/IA to switch on end-of-packet. 720``nooutoforder`` 721 Disable out-of-order rasterization 722``dpbb`` 723 Enable DPBB. 724``dfsm`` 725 Enable DFSM. 726 727Other Gallium drivers have their own environment variables. These may 728change frequently so the source code should be consulted for details. 729