Direct rendering (DRI) means that 3D graphics operations are hardware accelerated. Indirect rendering is used to say that graphics operations are all done in software.
Direct rendering is much faster than indirect (software) rendering. In Linux Mesa3d is the software and fallback OpenGL renderer. To check if 3D hardware acceleration is working for openGL, you can use the following command:
This should output "direct rendering: Yes".
If it gives the same but then with "No", hardware 3d acceleration is disabled and all rendering will be done on the CPU ('software' rendering). Enabling it is a matter of using the right drivers and video card.
It is usually used together with X to run OpenGL applications. In this case, from a users point of view, DRI is made of the following parts (top down view from an 3D application):
- OpenGL (Mesa3d in this case).
- The X driver for the specific graphics card (made of an 2D part and a 3D DRI part)
- Linux Direct Rendering Manager kernel module.
- Actual hardware (See Video card).
If it has been enabled it can directly use the local hardware for 3d rendering (direct rendering), bypassing the X protocol.