Certain display devices are considered to be reference devices in the Solaris environment. These devices have example device handlers provided in the Solaris Device Developer Kit (DDK). You can use the reference device handler example code as a template for your own device handler.
The process of writing and configuring a device handler is described in the X Server Device Developer's Guide. The Solaris X server supports any device for which a valid device handler is written and configured into the system.
Table A-1 lists the reference display devices and the visuals that they export. The device name specifies the display adapter to the server, and the product name specifies the type of display card. Note that if there is a distinct product name for a device, the product name is used in preference to the CGn device name (for example, TC is used, not CG8).
Exported depths specify the depths of the visuals advertised by the server for screens of this particular device type. MPG (Multiple Plane Group) indicates that the device supports multiple depth visuals. For other information on terms used in this table, see Glossary.
Table A-1 Solaris Reference Display Devices
Note - The server is configured to support a maximum of 16 displays; any limitations you might encounter are the number of frame buffers your hardware supports.
The BW2 is a simple 1-bit frame buffer supporting monochrome monitors. The device handler for this device exports the 1-bit StaticGray visual only. Therefore, this is the built-in default visual. A variety of BW2 frame buffers are available for different buses and screen resolutions, including third-party offerings.
The CG3 is a simple 8-bit indexed color, dumb frame buffer for SBus systems. The device handler for this device exports several 8-bit visuals (listed in the following sections). The built-in default visual is 8-bit PseudoColor.
The GX is an 8-bit indexed color graphics accelerator, specializing in 2D and 3D wireframe, flat-shaded polygon, and general window system acceleration. Window system acceleration is automatic; you can access other acceleration features through Solaris graphics APIs. Several 8-bit visuals are supported, and the built-in default visual is 8-bit PseudoColor. The GX is available for SBus and P4 bus.
The GXplus device is similar to the GX with additional memory that can be used for double buffering and expanded screen resolution on SBus systems. The Solaris X server uses the GXplus to automatically accelerate X11 pixmaps by using offscreen storage whenever possible.
The TC device possesses two separate memory buffers, or plane groups: 1-bit monochrome and 24-bit color. Windows may be created in both plane groups; therefore, it is an MPG device. All 1-bit and 24-bit visuals are supported.
Some (older) X11 client applications assume that color frame buffers use an 8-bit built-in default visual and do not run in color on the TC. To avoid this, the built-in default visual is 1-bit StaticGray.
The plane groups of the TC do not conflict with each other; they are completely separate memory buffers. OpenWindows takes advantage of this to increase system performance by not damaging 1-bit windows when they are occluded by 24-bit windows, and vice versa. This behavior is called minimized exposure. Use the -nominexp option of openwin(1) to disable this behavior. If this option is used, 1-bit windows will damage 24-bit windows and 24-bit windows may damage 1-bit windows.
The Solaris X server also provides minimized exposure for other MPG devices, when applicable. Use the -nominexp option of openwin with these devices.
Note - The X protocol states that cursor components can be arbitrarily transformed. To enhance general system performance, the OpenWindows server always renders the cursor in the 1-bit plane group of the TC.
The VGA is a simple color dumb frame buffer. The server supports VGA as 8-bit indexed color with all visual types and a default of PseudoColor (vga8), or 4-bit StaticColor (vga4). When using 8-bit mode, the resolution is most often 1024x768. Four-bit mode is often limited to a resolution of 640x480 because this is the basic VGA graphics mode that is available on all VGA devices. Most VGAs provide a bitsPerRGB of 6. The vga8 server is also capable of supporting the XGA as a dumb frame buffer.
Support for VGA panning is available in modes of the 4-bit VGA. Panning mode provides the ability to have a physical window that maps onto a larger virtual display. Movement within the virtual display is performed by “pushing” the mouse past the edge of the screen. The display automatically moves the physical window in the virtual display in the direction that the mouse was pushed until the physical window touches the edge of the virtual boundary.
Use panning only if you are an experienced OpenWindows user. Icons and pop-up boxes (menus, dialogs, and so on) can appear off screen with no immediate visible notification. You must be experienced enough to recognize these situations, and be able to recover by looking for the hidden window objects. Pop-up pointer jumping is highly recommended while using panning. Virtual window managers, such as olvwm or tvwm, can cause additional confusion; do not use them.
The 8514/A is an 8-bit indexed color graphics accelerator providing general window system acceleration. This device provides substantially improved performance compared to a VGA. The server limits its support of 8514/A to 8-bit indexed color and a resolution of 1024x768 or 1280x1024. It supports all 8-bit visuals. The built-in visual is 8-bit PseudoColor. Most 8514/A accelerators provide a bitsPerRGB of 6.