Who is this guide for?
Anyone who uses Autodesk Maya in anger, especially those of us doing so on Linux platforms. All details have been culled from official documentation, mailing lists, Autodesk support and the occasional reverse engineering.
Many of these settings and better information can be gleaned by googling for Autodesk’s official docs but there are also quite a few items on this page not listed in any official documentation.
This list is a living work-in-progress. So please share any updates, addendums or corrections using the feedback link at the bottom of this post.
-Paul
What can be done?
Maya provides to its users an enormous array of sporadically documented features and configuration options. These environment variables, XML config files and the like allow the user fine-grained control over:
- icons
- plug-ins
- modules
- Mel scripts
- Python scripts
- shaders
- image quality
- desktop integration
- tablet performance
- runtime stability
- more
Prerequisites
- Maya 2011 or newer
- Linux, although much of this likely applies to Maya on Windows and OS X
- bash shell and not csh as the latter is bad for you
Environment Variables
Following is a list of known Maya variables and what they configure. You can override these in your shell or embed them in wrapper script.
Personal options
MAYA_APP_DIR
This variable defines your personal Maya application directory.
export MAYA_APP_DIR=/opt/autodesk/maya/2013.5
MAYA_UI_LANGUAGE
This is most useful when you want to run Maya in English on a Japanese version of Windows OS, i.e. never.
export MAYA_UI_LANGUAGE=en_US
export MAYA_UI_LANGUAGE=en_US/ja_JP
AW_JPEG_Q_FACTOR
Alters the quality of jpegs written by Maya.
export AW_JPEG_Q_FACTOR=95
Performance options
MAYA_NO_TBB
This issue is related to threading problem in the Maya Batch executable. Maya uses both TBB and OpenMP threading paths. When rendering we are seeing issues on the TBB side of the threading code were it seems to be calling too many thread counts and driving up the the systems ram causing and causing it to eventually crash almost instantly.
export MAYA_NO_TBB=1
MAYA_NO_PARALLEL_DRAW
If when using CGFX based shaders in a scene Maya crashes or freezes this will disable drawing of a shader which is still being evaluated.
export MAYA_NO_PARALLEL_DRAW=1
MAYA_NO_PARALLEL_MEMCPY
Set this environment variable to 1 to disable parallel memory copy.
In some cases, parallel memory copy is faster on Opteron and Nehalem based systems. However, it may also be slower on Xeon systems, in which case you may want to disable parallel memory. If you are using Maya 2011 on Xeon system and are faced with speed issues, this might be useful.
unset MAYA_NO_PARALLEL_MEMCPY
MAYA_FORCE_REF_READ
By default, if you reference the same file twice, on file open Maya copies the existing nodes instead of re-reading them from disk. Occasionally, using this built-in multiple reference optimization feature of file referencing can cause errors. This environment variable turns off the file referencing optimization and forces reference files to be explicitly read in all cases. This fixes Maya’s behavior in some situations that would otherwise be evaluated incorrectly.
unset MAYA_FORCE_REF_READ
QT_PLUGIN_PATH
Disable KDE’s Qt imageformat plugins as Maya does not need them and they make Maya’s startup 4 times slower. If you want to use KDE’s Qt image formats and are willing to accept the performance degradation, unset this variable.
unset QT_PLUGIN_PATH
Developer options
XBMLANGPATH
The searth path(s) for icon files, such as those used for shelf buttons. Icons are in BMP or XPM format.
export XBMLANGPATH=/somewhere/sensible:$XBMLANGPATH
MAYA_SCRIPT_PATH
The search path(s) for shared MEL scripts.
export MAYA_SCRIPT_PATH=/somewhere/sensible:$MAYA_SCRIPT_PATH
MAYA_PLUG_IN_PATH
The search paths(s) for shared compiled plug-ins.
export MAYA_PLUG_IN_PATH=/somewhere/sensible:$MAYA_PLUG_IN_PATH
MAYA_MODULE_PATH
Defines the search paths for Maya module files. A module file describes the install location of a plugin which has been distributed as a module. Maya will append subdirectories of this install location to the following path variables: MAYA_PLUG_IN_PATH, MAYA_PRESET_PATH, MAYA_SCRIPT_PATH, PYTHONPATH and XBMLANGPATH. See Distributing Maya Plug-ins() for more information.
export MAYA_MODULE_PATH=/somewhere/sensible:$MAYA_MODULE_PATH
MAYA_PRESET_PATH
Location of Maya presets.
export MAYA_PRESET_PATH=
MAYA_PROJECTS_DIR
The default location of maya projects.
export MAYA_PROJECTS_DIR=
MAYA_PROJECT
Maya will allways start in this project.
export MAYA_PROJECT=
MAYA_MR_STARTUP_DIR
Location of the maya.rayrc startup file.
export MAYA_MR_STARTUP_DIR=$MAYA_LOCATION/mentalray
MI_CUSTOM_SHADER_PATH
Locations of mentalray include .mi files.
export MI_CUSTOM_SHADER_PATH=$MAYA_LOCATION/mentalray/include
Debugging
MAYA_CMD_FILE_OUTPUT
This feature is useful for tracking down error messages when Maya crashes upon startup.
export MAYA_CMD_FILE_OUTPUT=$TMPDIR/maya.log
WINEDITOR
Allows you to override the Expression Editor and use your own editor. The editor must be set to run in the foreground.
export WINEDITOR=/usr/bin/scite
MAYA_DEBUG_ENABLE_CRASH_REPORTING
Enable writing of crash report logs and dump files to temp directory. Crash report file example: MayaCrashLog[yymmdd.hhmm].log
export MAYA_DEBUG_ENABLE_CRASH_REPORTING=1
MAYA_HBDOWN_DEBUG
Enable verbose logging of hotbox actions for debugging issues on Linux. Slows Maya considerably.
export MAYA_HBDOWN_DEBUG=1
Installation options
MAYA_VERSION
This is a Baseblack invention making it possible to install multiple versions of Maya simultaneously.
export MAYA_VERSION=default
Which versions can be specified are found issuing the command:
ls /opt/autodesk/maya/
MAYA_LOCATION
The path to where Maya is actually installed.
export MAYA_LOCATION=/opt/autodesk/maya/$MAYA_VERSION
TMPDIR
Temporary directory for Maya (playblasts, render, etc.).
export TMPDIR=/tmp/$USER/maya
MI_LIBRARY_PATH
Location of MentalRay library .so files.
export MI_LIBRARY_PATH=$MAYA_LOCATION/mentalray/lib
MAYA_SHADER_LIBRARY_PATH
Path for ShaderLibrary files
export MAYA_SHADER_LIBRARY_PATH=$MAYA_LOCATION/mentalray/shaderlibrary
MAYA_HELP_URL
Location of Maya Documentation. Use a URL shortener to make work around Autodesk’s habit of moving their documentation URLs about at random.
export MAYA_HELP_URL=http://s.baseblack.com/maya2011docs
MAYA_IP_TYPE
Use this environment variable to set your IP version
export MAYA_IP_TYPE=ipv4
WEBBROWSER
For web browser.
export WEBBROWSER=/usr/bin/google-chrome
MAYA_MOVIE_DIR
This variable is used to override the directory where movie files are found. The default is $MAYA_LOCATION/movies
.
export MAYA_MOVIE_DIR=$MAYA_LOCATION/movies
MAYA_PAINT_EFFECTS_THREADS
Threads to use when working with PaintEffects. Maximum 3.
export LIBQUICKTIME_PLUGIN_DIR=$MAYA_LOCATION/lib
LIBQUICKTIME_PLUGIN_DIR
Location of the libquicktime plugins
export LIBQUICKTIME_PLUGIN_DIR=$MAYA_LOCATION/lib
MAYA_AUDIO_LIBRARY
By default, this variable is set to 1 for the audio library used in previous versions of Maya. Set to 2 if you want to use the OpenAL audio library, which supports multiple track audio.
export MAYA_AUDIO_LIBRARY=1
MAYA_AUDIO_OPENAL_DEVICE
This variable provides a string which lets you specify the OpenAL device driver to use. The system default driver is used by default. (Linux) On Linux this can be set to one of the following: alsa, oos, solaris, dsound, winmm, port, pulse, wave
export MAYA_AUDIO_OPENAL_DEVICE=pulse
MAYA_SOUND_SCRUB
Disables the ability to scrub sound.
unset MAYA_SOUND_SCRUB
Bug-fixes and workarounds
MAYA_HBDOWN_ENABLE
Hotbox freezes Maya when switching contexts in Linux. Maya 2009 or later
export MAYA_HBDOWN_ENABLE=1
MAYA_HBDOWN_TIME
Hotbox freezes Maya when switching contexts in Linux. Maya 2009 or later
export MAYA_HBDOWN_TIME=5000
MAYA_ACTIVE_STEREO_REFRESH
When Active Stereo is on, after the hotbox/menu have been dismissed, the viewport may need to be forced refreshed.
export MAYA_ACTIVE_STEREO_REFRESH=1
MAYA_FORCE_SHOW_ACTIVATE
May help in ensuring that popup windows are raised to the top of the list when using Gnome desktop (metacity window manager).
export MAYA_FORCE_SHOW_ACTIVATE=1
XLIB_SKIP_ARGB_VISUALS
Disables ARGB visuals from being considered when an application asks for possible visuals to use. Useful when the X desktop composite extension is enabled.
export XLIB_SKIP_ARGB_VISUALS=1
MAYA_SET_XERROR
Allows the user to force the XError handler to be re-installed. Maya 2008 SP1P04 or later.
export MAYA_SET_XERROR=1
MAYA_DISABLE_BACKSPACE_DELETE
Disable backspace key as delete key.
export MAYA_DISABLE_BACKSPACE_DELETE=1
MAYA_SLOW_DRAWPIXELS
For NVIDIA cards so they don’t produce failures when using PaintEffects and ImagePlanes.
export MAYA _SLOW_DRAWPIXELS=1
MAYA_NO_VERTEX_ARRAY_SELECT
Use this, when your selection of objects in the viewport is slow (selection lag).
export MAYA_NO_VERTEX_ARRAY_SELECT=1
MAYA_NO_XGRAB
Unknown effect.
export MAYA_NO_XGRAB=1
MAYA_NON_POWER_TWO_OFF
Enable when you have problem with ImagePlanes in viewports.
export MAYA_NON_POWER_TWO_OFF=1
MAYA_GEFORCE_SKIP_OVERLAY
Reduce flickering/stale view, if you are using Nvidia GeForce graphics cards/drivers.
export MAYA_GEFORCE_SKIP_OVERLAY=1
MI_MAYA_SOCKETS
Set this flag to 1 so that you can preview your render in progress in imf_disp while rendering from the command line. You may need to adjust your firewall. In Linux you dont need this variable.
unset MI_MAYA_SOCKETS
MAYA_DISABLE_MRFORMATS
By default, Maya converts non-native image file formats into temporary IFF files so that they can be read. This variable allows you to disable the conversion of mental ray .ct and .st files. To disable it, set the value to 0 (zero) or leave it undefined.
unset MAYA_DISABLE_MRFORMAT
MAYA_DISABLE_MRMAP
By default, Maya converts non-native image file formats into temporary IFF files so that they can be read. This variable allows you to disable the conversion of mental ray .map files. Disabling this conversion saves scene export time and render time. To disable it, set the value to 0 (zero) or leave it undefined.
unset MAYA_DISABLE_MRMAP
MAYA_HW_FILE_TEXTURE_RESOLUTION_OVERRIDE
If you are using a file texture that uses MirrorUV and the resolution of the hardware rendered texture in the scene view appears degraded, use this environment variable.
export MAYA_HW_FILE_TEXTURE_RESOLUTION_OVERRIDE=1
MAYA_OFFSCREEN_HRB
Set this flag to 1 to expose the Render Offscreen option in the Hardware Render Buffer > Render menu. When enabled, an offscreen buffer is used when rendering sequences using the Hardware Render Buffer. Single-frame renders will continue to be rendered into an on-screen buffer. During offscreen rendering, moving windows over the Hardware Render Buffer window does not affect the rendered frames, as would normally be the case.
export MAYA_OFFSCREEN_HRB=1
AW_JPEG_Q_FACTOR
Quality of JPEG files that Maya renders out. (1-100) %
export AW_JPEG_Q_FACTOR=100
AW_JPEG_SUB_SAMPLING
Allows you to control the subsampling quality of the rendered image. For best quality of JPG set it to “1×1,1×1,1×1″, default is 2×2,1×1,1×1.
export AW_JPEG_SUB_SAMPLING=1×1,1×1,1×1
MAYA_NO_JITTER_FINAL_COLOR
Some randomness, or jitter, to the 8-bit color images are now disabled.
export MAYA_NO_JITTER_FINAL_COLOR=1
MAYA_RENDERER_RT_BACKGROUND_COLOR
Maya includes the camera background in the calculation of reflection and refraction rays.
export MAYA_RENDERER_RT+BACKGROUND_COLOR=
MAYA_MMSET_DEFAULT_XCURSOR
Creates a left pointer cursor to use when resetting the cursor on use of the Marking Menus. Useful when using GNOME window managers that otherwise revert back to the default “X” cursor. Fred’s favourite!
export MAYA_MMSET_DEFAULT_XCURSOR=1
MAYA_MM_PAUSE_EXPOSE
Doesn’t exist in 2010, added to 2009 after 2010 released - status in 2011 unknown. Effect unknown
export MAYA_MM_PAUSE_EXPOSE=1
WF_IMF_SGI_MATTE
Allows Maya to save SGI format image files with matte.
export WF_IMF_SGI_MATTE
WF_IMF_CIN_CORRECTION
Issue#101914 - colour correction needed for Cineon files
export WF_IMF_CIN_CORRECTION=both
WF_IMF_CIN_WHITE_POINT
Issue#101914 - colour correction needed for Cineon files
export WF_IMF_CIN_WHITE_POINT=685
Licensing options
LM_LICENSE_FILE
Location of license file.
export LM_LICENSE_FILE=$MAYA_LOCATION/adlm/maya.lic
MAYA_ALT_EN
If you have multiple license files in your FlexLM directory you can set this environment variable to uniquely define your Maya license file and speed up the Maya start time.
export MAYA_ALT_EN=$MAYA_LOCATION/adlm/maya.lic
MAYA_LICENSE_METHOD
Use network or standalone.
export MAYA_LICENSE_METHOD=network
ADSKFLEX_LICENSE_FILE
Location on the network of the license server software. Possibly deprecated with AdLM/Maya2010.
export ADSKFLEX_LICENSE_FILE=@maya-licenses.baseblack.local
MAYA_LICENSE
Use ‘unlimited’ or ‘complete’. Possibly deprecated with Maya2010.
export MAYA_LICENSE=unlimited
FLEXLM_DIAGNOSTICS
Use 1, 2 or 3 for greater verbosity.
export FLEXLM_DIAGNOSTICS=3
AUTODESK_ADLM_THINCLIENT_ENV
This enables the use of the AdLM Thin Client configuration file discussed separately below.
export AUTODESK_ADLM_THINCLIENT_ENV=$MAYA_LOCATION/adlm/AdlmThinClientCustomEnv.xml
Configuration Files
In addition to the usual environment variables there is now at least one XML configuration file where one can shoot themselves in the foot with Maya settings.
AdlmThinClientCustomEnv.xml
This file is quite powerful in that one relocate the various directories the Maya installer creates into something organised, sensible, supportable and working.
Setup
From the Licensing options above, you must first enable the use of this file with the following environment variable:
export AUTODESK_ADLM_THINCLIENT_ENV=$MAYA_LOCATION/adlm/AdlmThinClientCustomEnv.xml
Use
This is an XML file bearing options documented in the AdLM Thin Client User Guide. Not mentioned in that guide however is the extremely important key:
<ADLMCUSTOMENV VERSION="1.0.0.0">
This oversight has caused the author many days of existential pain and suffering.
Example
The following file snippet actually works which is in itself a minor miracle:
<?xml version="1.0" encoding="utf-8"?>
<ADLMCUSTOMENV VERSION="1.0.0.0">
<PLATFORM OS="Linux">
<KEY ID="ADLM_COMMON_BIN_LOCATION">
<STRING>$MAYA_LOCATION/adlm/bin</STRING>
</KEY>
<KEY ID="ADLM_COMMON_LIB_LOCATION">
<STRING>$MAYA_LOCATION/adlm/lib64</STRING>
</KEY>
<KEY ID="ADLM_COMMON_LOCALIZED_DATA_LOCATION">
<STRING>$MAYA_LOCATION/adlm/en_US</STRING>
</KEY>
<KEY ID="ADLM_ERROR_TABLE_LOCATION">
<STRING>$MAYA_LOCATION/adlm</STRING>
</KEY>
<KEY ID="ADLM_PIT_FILE_LOCATION">
<STRING>$MAYA_LOCATION/adlm</STRING>
</KEY>
<KEY ID="ADLM_CASCADE_FILE_LOCATION">
<STRING>$MAYA_LOCATION/adlm</STRING>
</KEY>
</PLATFORM>
</ADLMCUSTOMENV>
Product Keys
Product keys are necessary for the installation of an Autodesk product. Here is a sampling of some of the Autodesk 2012 products:
657D1 = Maya 2012
128D1 = Max 2012
727D1 = MotionBuilder 2012
498D1 = Mudbox 2012
797D1 = Inventor Professional 2012
240D1 = Revit Architecture 2012
001D1 = AutoCAD 2012
From this sampling, you can extrapolate the product keys for the 2011 products:
657C1 = Maya 2011
128C1 = Max 2011
727C1 = MotionBuilder 2011
498C1 = Mudbox 2011
797C1 = Inventor Professional 2011
240C1 = Revit Architecture 2011
001C1 = AutoCAD 2011
Acknowledgements
This document was researched using the following resources: