1.2. What Is GNOME Shell?

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.
Some of the major components of the GNOME Shell user interface include:
The top bar.
The horizontal bar at the top of the screen provides access to some of the basic functions of GNOME Shell, such as the Activities Overview, clock and calendar, system status icons, and the system menu at the top-left corner of the screen.
The system menu.
The system menu is in the top right corner. You can update some of your settings, find information about your Wi-Fi connection, switch user, log out, and turn off your computer from this menu.
The Activities Overview.
The Activities Overview features windows and applications views that let the user run applications and windows and switch between them.
The search entry at the top allows for searching various items available on the desktop, including applications, documents, files, and configuration tools.
The vertical bar on the left side is called dash, and it contains a list of favorite and running applications.
The workspace list is displayed on the right side, and allows the user to switch between multiple workspaces, or move applications and windows from one workspace to another.
The message tray.
The message tray is a horizontal bar near the bottom of the screen, and shows when the user presses Super+M. It provides access to pending notifications.
Components specific to GNOME Classic.
GNOME Classic is the default GNOME Shell mode in Red Hat Enterprise Linux 7. It changes some of the aspects of GNOME Shell behavior as well as the GNOME Shell appearance. That includes the bottom bar with the window list, and the Applications and Places menus on the top bar. For detailed information on GNOME Classic, see Section 1.3, “What Is GNOME Classic?”.

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 llvmpipe driver.
To determine whether the system is using software rendering and the llvmpipe driver, you can run the glxinfo command:
$ 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.