LCD Extension Architecture

This topic describes the architecture of the LCD Extension.

The LCD Extension (or video driver) is implemented as a standard kernel extension and is loaded by the kernel at boot time.

The public interface to the LCD Extension is accessed through the User-Side Hardware Abstraction (HAL) interfaces HAL::Get() and HAL::Set(). The LCD Extension registers itself with the kernel as the handler for the EHalGroupDisplay function group and implements the functions.

From Symbian^3 there is a new graphics architecture called ScreenPlay. When ScreenPlay is in use, the Display Channel Driver can provide a logical device driver proxy between the Composition Implementation and the LCD Extension. However, the use of the Display Channel Driver is optional and implementers may decide not to use it.

When ScreenPlay is not in use, the Graphics Screen Driver component is a client of the LCD Extension. The Screen Driver is platform-specific and must be ported by the device creator.

The Text Window Server also implements a version of the Screen Driver for a simple console user interface.