GNOME Shell is the user interface of the GNOME Desktop, the crucial technology of GNOME 3. It provides basic user interface functions such as switching windows, launching applications, or displaying notifications.
GNOME Shell introduces innovative user interface concepts to provide quality user experience, including hardware acceleration on systems with modern graphics hardware.
1.2.1. Hardware Acceleration and Software Rendering
GNOME Shell features visual effects and makes use of hardware acceleration support provided by
Clutter, an OpenGL-based graphics library.
For hardware acceleration to function properly, the graphics driver has to support GL 1.2 and the multi-texturing extension, or GL 1.3. Alternatively, the driver has to provide support for GLES 1.1 or GLES 2.0. Keep in mind that many GPU models and drivers do not properly implement support for GL or GLES, so hardware acceleration on systems with those GPUs and drivers may not be available.
On systems, including virtual machines, that do not meet the GPU and driver requirements, software rendering is used to provide the GNOME 3 user experience identical to that with supported hardware acceleration. Software rendering is provided by the
To determine whether the system is using software rendering and the
llvmpipe driver, you can run the
$ glxinfo | grep renderer
OpenGL renderer string: Gallium 0.4 on llvmpipe (LVVM 3.3, 128 bits)
Note that because the software renderer does not provide a fully compliant OpenGL implementation, some programs may not function properly if they rely on the X server having a consistent view of GLX state across applications. Consider upgrading your hardware, or run these programs on systems with GPUs and drivers that fully support hardware acceleration.