In summary, the appearance of the X server screen visual list can be changed to fit the user's needs using any of the ffbconfig visual flags (e.g., linearorder, overlayorder, expvis, sov, etc.). This section briefly shows the effect of these visual options on the visual list.
Without any alteration using ffbconfig, the X server screen visual list can roughly be categorized in the following visual groups and order:
8-bit PseudoColor
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc)
8-bit Linear StaticGray
8-bit PseudoColor Overlay
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The default screen visual will be the 8-bit PseudoColor visual. The deflinear and defoverlay options will alter this pointer to point to the first 8- or 24-bit linear visual, depending on the X server depth when it starts up, and the first 8-bit overlay visual, respectively. You can rearrange the entire "8-bit PseudoColor Overlay" group, the "8-bit Linear StaticGray" group, and the "24-bit Linear TrueColor" group to be ahead of all other visual groups of the same depth by using the linearorder and overlayorder flags. For example, if you specify the following:
ffbconfig -overlayorder first |
The screen visuals list will be rearranged in the following order:
8-bit PseudoColor Overlay
8-bit PseudoColor
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc.)
8-bit Linear StaticGray
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The expvis flag will change the number of visual instances in the following visual groups:
8-bit PseudoColor
8-bit PseudoColor Overlay
24-bit Non-linear TrueColor
24-bit DirectColor
24-bit Linear TrueColor
The number of instances that expvis will alter depends on whether the monitor is in monoscopic or stereoscopic resolution. In monoscopic resolution, if expvis is enabled, the order of the screen visual groups will be preserved, but within each group mentioned above, a "double-buffer capable" visual instance will be added. In stereoscopic resolution, two additional visual instances: "double-buffer, stereo capable" and "single-buffer, stereo capable", will be added. The "double-buffer capable" visual instances, if present, will always come ahead of the "single-buffer capable" visual instances, and the monoscopic visual instances will always come ahead of the stereoscopic ones.
For example, if you specify the following in stereoscopic resolution:
ffbconfig -overlayorder first -expvis enable |
the screen visual list will be:
8-bit PseudoColor Overlay (Mono, Stereo)
8-bit PseudoColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
8-bit Miscellaneous (StaticColor, Non-linear StaticGray... etc)
8-bit Linear StaticGray
24-bit Linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit Non-linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit DirectColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
There is no double-buffer capable overlay visual instance.
Without the sov option being enabled, the only overlay visuals available are the ones without transparency. Enabling the sov option will add the transparent SOV visual instances into the screen visual list and also add the SERVER_OVERLAY_VISUALS property to the root window property. The transparent SOV visual instances belong to the "8-bit PseudoColor Overlay" visual group. The SERVER_OVERLAY_VISUALS property will contain the visuals' ID, transparent type, value, and layer of all available overlay visuals of the screen.
For example, if you specify the following in stereoscopic resolution:
ffbconfig -overlayorder first -expvis enable -sov enable |
the screen visuals list will be:
8-bit PseudoColor Overlay (Mono, Stereo, Mono SOV, Stereo SOV)
8-bit PseudoColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
8-bit Miscellaneous (StaticColor, Non-linear StaticGray, etc.)
8-bit Linear StaticGray
24-bit Linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit Non-linear TrueColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
24-bit DirectColor (DB Mono, SB Mono, DB Stereo, SB Stereo)
and the SERVER_OVERLAY_VISUALS property will contain the following information:
=========================================================== SERVER OVERLAY VISUALS (SOV) Info =========================================================== No. of SOV visuals = 4 SOV #0,ID 0x36, TRANSPARENT_TYPE 0, VALUE 0, LAYER 1 SOV #1,ID 0x37, TRANSPARENT_TYPE 0, VALUE 0, LAYER 1 SOV #2,ID 0x38, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 SOV #3,ID 0x39, TRANSPARENT_TYPE 1, VALUE 255, LAYER 1 =========================================================== |