GNOME Shell + Mutter See Changes For Tracking Software Rendering, VNC To Toggle Animations
The GNOME Settings Daemon has until now been responsible for controlling the animation heuristics when they should be disabled while now Mutter has added support for tracking software rendering situations and in turn GNOME Shell is relying upon that for determining when to disable desktop animations.
The Mutter code was merged after its MR was open for the past four months. The Mutter renderer code now has an API for checking whether the renderer is hardware-accelerated -- basically making sure LLVMpipe / Softpipe / SWrast are not being used.
On the GNOME Shell side with its changes subsequently merged, animations are disabled for the shell when software rendering is being used, if the shell is running inside Xvnc, or an active remote desktop session requests that animations be disabled. That support for remote desktops to disable animations is now supported via a standardized D-Bus interface. In the end the design is cleaned up and improved upon compared to the previous logic within the GNOME Settings Daemon.