How can one make the X server come up in 8-bit mode when on a 24-bit
display.
Default Visual Placement on CRX24/CRX24Z
The placement of the default visual is accomplished through the proper
setup of the /usr/lib/X11/X*screens file and the exporting of an
environment variable. The default visual on the CRX24/CRX24Z
can live
in any of the supported visuals. The following table will show
the
necessary settings for the X*screens file and the
CRX24_FULL_DEFAULT_VISUAL environment variable to enable the desired
default visual.
Desired Default Visual || Environment Depth | Class | Location || X*screen entry | Variable Setting ------|-----------|----------||----------------------------------------- 8 |PseudoColor| Overlays || /dev/"device" | not used 8 |PseudoColor| Image || /dev/"device" depth 8 | not used 12 | TrueColor | Image || /dev/"device" depth 12 | ="anything" 12 |DirectColor| Image || /dev/"device" depth 12 | =DIRECT_COLOR 24 | TrueColor | Image || /dev/"device" depth 24 | ="anything" 24 |DirectColor| Image || /dev/"device" depth 24 | =DIRECT_COLORAs an example, to specify the default visual to live in the depth 24
export CRX24_FULL_DEFAULT_VISUAL=1
Notice that when no "depth" keywords are specified in the screens file,
the default visual will live in the overlay planes. Hopefully,
this is
where most applications will want the default visual. Also, notice
that
two new visuals have been added with this new functionality.
The
TrueColor visuals in the depth 12 and depth 24 image planes were added
for completeness.
The CRX24_FULL_DEFAULT_VISUAL environment variable must be set prior
to
the start up of the X server as shown above. If VUE is to be
used, put
the following in the /usr/vue/config/Xconfig file to properly export
the
environment variable into the VUE environment:
Vuelogin*environment: CRX24_FULL_DEFAULT_VISUAL=DIRECT_COLOR
The above table is valid only for the HP's IF2 patched X server (8.05
and 8.07) and HP's IF3 patched X server (9.0 and 9.1). The default
visual functionality is not currently documented and is therefore
not well known.
This table is also used for the CRX48Z device, except for the
depth 12 visuals, since the CRX48Z doesn't support these.
Although the environment variable seems to be specific to the
CRX24/CRX24Z (since CRX24 appears in it), it must be used by the
CRX48Z to enable this functionality.
It is planned that this new functionality will be supported in future
X
servers (10.0 and beyond). Therefore, the keywords in the X*screens
file that enable this functionality will most likely change for the
next
server release (for various usability reasons), and the exporting of
the
CRX24_FULL_DEFAULT_VISUAL environment variable will no longer be needed.
The functionality on the new usage will be fully documented.
It should be mentioned that the UI (window manager and all of its key
clients) currently lives in the same visual where the default visual
lives. Therefore, when the default visual is moved to a visual
other
than that in the overlays (into the image planes), the UI will most
likely interfere with the windows running performance critical, graphics
intensive applications. It is hoped that by the next release,
the UI be
fixed to live in the overlay planes, and not where the default visual
exists. But, this also means that future applications should
be written
to make all UI and transient windows (popup menu's, dialogs, etc.)
live
in the overlay planes.