Bug description
We are experiencing a bug with imageCache initialization with a very specific setup. When running a virtual x-server display without a GPU maya will crash on initialization with a SIGSEGV. The crashlog is the following
This plugin does not support createPlatformOpenGLContext!
Warning: mmSolver: Shader Manager is unavailable, cannot load Viewport Renderer.
WARNING: mmSolver: Shader Manager is unavailable, cannot load Viewport Renderer.
mmSolver.startup : INFO : MM Solver Startup...
mmSolver.tools.imagecache.initialise : INFO : MM Solver Initialize Image Cache...
Stack trace:
XML_ParserFree
/lib64/libgallium-25.2.7.so(+0x7a42b1) [0x7f3583e872b1]
/lib64/libgallium-25.2.7.so(+0x7a605f) [0x7f3583e8905f]
driCreateNewScreen3
/lib64/libGLX_mesa.so.0(+0x1a595) [0x7f3598795595]
/lib64/libGLX_mesa.so.0(+0x1b697) [0x7f3598796697]
/lib64/libGLX_mesa.so.0(+0x1fcb1) [0x7f359879acb1]
/lib64/libGLX_mesa.so.0(+0x20e63) [0x7f359879be63]
/lib64/libGLX_mesa.so.0(+0x1c638) [0x7f3598797638]
GLStartupContext::GLStartupContext(WindowWrapper const&, __GLXcontextRec*)
OGSMayaRenderer::initialize(OGSRenderer::DeviceAPI, int, void*, void*, void*, bool)
OGSMayaBridge::CreateOGSRenderer()
Autodesk::Maya::OpenMaya20260000::MHWRender::MRenderer::initialize(bool)
Autodesk::Maya::OpenMaya20260000::MHWRender::MRenderer::theRenderer(bool)
mmsolver::MMMemoryGPUCmd::doIt(Autodesk::Maya::OpenMaya20260000::MArgList const&)
THcommandObject::doIt(TargList&)
TmetaCommand::doCommand(TargList&)
TpythonInterpreter::dispatchMayaCommand(TmetaCommand&, _object*, _object*)
TpythonInterpreter::genericDispatchFunction(_object*, _object*, _object*)
/usr/autodesk/maya2026/bin/../lib/libpython3.11.so.1.0(+0x18f363) [0x7f35c8818363]
_PyObject_Call
_PyEval_EvalFrameDefault
/usr/autodesk/maya2026/bin/../lib/libpython3.11.so.1.0(+0x21a281) [0x7f35c88a3281]
PyEval_EvalCode
TpythonInterpreter::executeCommand(Tstring const&, bool, bool, TinterpreterResult*)
/usr/autodesk/maya2026/bin/../lib/libShared.so(+0x4e2d02) [0x7f35c49f1d02]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0x94c3f) [0x7f35c06d8c3f]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xdd50c) [0x7f35c072150c]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbc021) [0x7f35c0700021]
SophiaExecutable::evaluate(void*)
TcommandEngine::executeCommand(Tstring const&, bool, bool, TmelCmdResult*, unsigned int)
TscriptActionMixin::execute(Tevent const&, std::unique_ptr<TinterpreterResult, std::default_delete<TinterpreterResult> >*)
/usr/autodesk/maya2026/bin/../lib/libExtensionLayer.so(+0x348b97) [0x7f35c1107b97]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0x94c3f) [0x7f35c06d8c3f]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbbe59) [0x7f35c06ffe59]
/usr/autodesk/maya2026/bin/../lib/libCommandEngine.so(+0xbc021) [0x7f35c0700021]
SophiaExecutable::evaluate(void*)
TcommandEngine::executeCommand(Tstring const&, bool, bool, TmelCmdResult*, unsigned int)
1Writing crash report in /usr/tmp/untitled[Recovered-.2026-07-16-10.08].crash
Result: untitled
What should happen
Maya should print a message that no GPU could be found and revert back to only CPU evaluation
Our Setup
OS: AlmaLinux 9.6
Maya: Maya 2026 Update 3
GPU: None
Xvfb running on Display :0
How to reproduce the issue
I built a dockerfile for this purpose.
FROM almalinux:9.6
RUN dnf -y update && \
dnf -y install epel-release && \
dnf clean all
# General packages
RUN dnf install --assumeyes \
glibc \
libSM \
libICE \
zlib \
openssl-libs \
nss \
libnsl \
dbus \
lsb_release \
pcre-utf16 \
pciutils \
libXdamage
# Multimedia Packages
RUN dnf install --assumeyes \
mesa-libGL \
mesa-libGL-devel \
mesa-libGLU \
mesa-libGLw \
audiofile-devel \
e2fsprogs-libs \
libcap \
libdrm \
libmng \
speech-dispatcher \
cups \
libpng15
# X Window – Xcb – X11 Packages
RUN dnf install --assumeyes \
libX11 \
libXScrnSaver \
libXau \
libXcomposite \
libXcursor \
libXext \
libXfixes \
libXi \
libXinerama \
libXmu \
libXp \
libXpm \
libXrandr \
libXrender \
libXt \
libXtst \
libxcb \
libxkbcommon \
libxkbcommon-x11 \
libxshmfence \
xcb-util \
xcb-util-image \
xcb-util-keysyms \
xcb-util-renderutil \
xcb-util-wm \
xorg-x11-server-Xorg \
xorg-x11-server-Xvfb
# Install fonts needed by Maya.
# This is probably only needed by the GUI (which we will not open),
# but it's good to have everything needed, just in case.
RUN dnf install --assumeyes \
fontconfig \
freetype \
xorg-x11-fonts-ISO8859-1-100dpi \
xorg-x11-fonts-ISO8859-1-75dpi \
liberation-mono-fonts \
liberation-fonts-common \
liberation-sans-fonts \
liberation-serif-fonts
# OpenSource "mesa" OpenGL Driver.
RUN dnf install --assumeyes \
mesa-libGLw \
mesa-libGLU \
mesa-libGL-devel \
mesa-libEGL-devel \
mesa-libGLES-devel \
mesa-libGLU-devel \
mesa-libGLw-devel \
libglvnd \
libglvnd-opengl \
libglvnd-egl \
libglvnd-glx \
libglvnd-gles \
libglvnd-core-devel \
libglvnd-devel
RUN dnf install --assumeyes \
libva \
libvdpau
# Install latest stable Rust with 'rustup'.
#
# TODO: Define a minimum Rust version to install.
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y \
&& source ${HOME}/.cargo/env
ENV PATH=/root/.cargo/bin:$PATH
# Ninja Build system, for faster builds, with better logs.
RUN dnf --enablerepo=crb install --assumeyes ninja-build
# Development tools for Maya 2026.
RUN dnf install --assumeyes \
git \
lsb_release \
python39 \
cmake \
clang-tools-extra \
gcc-c++
# Install Maya from archive.
ADD ./external/archives/Autodesk_Maya_2026_3_Update_Linux_64bit.tgz /temp
# 'rpm --force' is needed to override the dependency conflict of using
# 'tcl' (which is required by 'gcc-toolset-11', because it's a
# "software collection" using environment modules written in tcl).
RUN rpm -Uvh --force /temp/Packages/Maya2026\*.rpm && rm -r /temp
ENV MAYA_LOCATION=/usr/autodesk/maya/
ENV PATH=$MAYA_LOCATION/bin:$PATH
RUN dnf install --assumeyes \
zip \
unzip \
tar
# Workaround for Maya "Segmentation fault (core dumped)" issue.
# See https://forums.autodesk.com/t5/maya-general/render-crash-on-linux/m-p/5608552/highlight/true
ENV MAYA_DISABLE_CIP=1
WORKDIR /mmSolver
# Maya 2026 development environment.
#ENTRYPOINT [ "scl", "enable", "gcc-toolset-11" ]
- Copy this dockerfile into a file. In my case I'll do it to ./share/docker/alma9.Dockerfile
- Download Maya 2026 Update 3 for linux and place it into ./external/archives
- Run Docker build
docker build -t alma9 -f share/docker/alma9.Dockerfile .
- Enter Docker Container and build mmSolver
./scripts/build_mmSolver_linux_maya2026.bash
- Run Xvfb under display :0
Xvfb :0 -screen 0 1920x1080x24 &
export DISPLAY=:0
- start maya and load the plugin. You should get a crash
mayapy -c "import maya.standalone;maya.standalone.initialize();import maya.cmds as cmds;cmds.loadPlugin('mmSolver',quiet=True)"
Bug description
We are experiencing a bug with imageCache initialization with a very specific setup. When running a virtual x-server display without a GPU maya will crash on initialization with a SIGSEGV. The crashlog is the following
What should happen
Maya should print a message that no GPU could be found and revert back to only CPU evaluation
Our Setup
OS: AlmaLinux 9.6
Maya: Maya 2026 Update 3
GPU: None
Xvfb running on Display :0
How to reproduce the issue
I built a dockerfile for this purpose.
docker build -t alma9 -f share/docker/alma9.Dockerfile .mayapy -c "import maya.standalone;maya.standalone.initialize();import maya.cmds as cmds;cmds.loadPlugin('mmSolver',quiet=True)"