X Server Device Developer's Guide
  Buscar sólo este libro
Descargar este libro en PDF

DDX Porting Overview

1

The OpenWindows server is based on the X11R5 sample server from the MIT X Consortium. The OpenWindows server dynamically loads DDX handler modules at run time. This enables you, an Independent Hardware Vendor (IHV), to develop DDX modules that can be delivered as separate components.
Sun also provides DDX utility libraries to help you port the server to new graphics devices. These libraries contain functions common across devices.
See "Related Books" on page xix for recommended reading on the DDX layer.

Note - All porting interfaces documented in this manual are uncommitted interfaces; therefore, they might change in future releases in ways that could require you to change your DDX port.

The DDX Interface

As shown in Figure 1-1 on page 2, the DDX interface is quite extensive: the Screen structure alone contains approximately 70 functions.

Gráfico

Figure 1-1

Many of these functions do not need to be specialized for every device. Table 1-1 on page 2 describes general-purpose utility libraries that can be used to simplify your DDX handler implementation. The MI, CFB, and MFB libraries are from the X Consortium.
Table 1-1
Utility LibraryDescription
MIMachine independent, high-level
CFBMemory-mapped color frame buffers
MFBMonochrome frame buffers
OVLTransparent window overlay
DGADirect graphics access for client and DDX handler
SUNSun-specific ioctls for frame buffers
Table 1-1 (Continued)
Utility LibraryDescription
MPGMultiple plane groups and multiple hardware colormaps
WIDWindow Identification that is part of the MPG library
CMAPHardware colormap control

The Loadable DDX

The loadable DDX allows the server to dynamically load DDX modules at runtime instead of having to relink the server to add support for new devices. A DDX module is a shared object that is loaded by the server at runtime through an explicit call to dlopen(3X). The location of the DDX modules and their mappings between devices is determined by the OWconfig (OpenWindows configuration) file.
See Appendix A, "The OWconfig File" for more information about the OWconfig file.

Simple Frame Buffer Support

The OpenWindows server provides a set of general-purpose support routines for simple memory-mapped frame buffers. This includes the MFB library for monochrome frame buffers and the CFB library for color frame buffers.

Note - Although CFB code can be compiled to support depths of 2, 4, 8, 16, and 32 bits, only the 8, 16 and 32-bit depths are supported in this release.

Multiple-Plane Group Support

For devices with multiple-plane groups there is a utility library that provides most of the management functions necessary for MPG devices. This library also includes functions to minimize exposure events between windows that reside in different plane groups. The MPG interface is designed so that the CFB and MFB libraries can be used to render and manipulate windows.