On 08-Aug-98 Doug Thistlethwaite wrote:
> My XServer is currently configured to sue 256 colors. (8 bits).  I have
> noticed that when I start netscape I get messages telling me it can't allocate
> a larger color map.  I figured that if I increased the number of colors, this
> problem would go away.
> 
> How do I change the number of colors on my display?

In theory, you figure right. Netscape is colour-hungry and 256 colours is not
enough if you have other colour-intensive applications running. (You can
start netscape with the "-install" option to use a "private colormap", but this
has other side-effects: try "netscape -install &" to see if you can live with
it; if so, this is a fix for your immediate problem).

Also in theory, changing the number of colours ("colordepth") in X is
straightforward. You can simply edit the appropriate part of /etc/XF86Config;
all the necessary keywords are exemplified in the following:

  Section "Screen"
     Driver          "Accel"
     Device          "Primary Card"
     Monitor         "Primary Monitor"
     DefaultColorDepth 32
     SubSection "Display"
        Depth        8
        Modes        "1024x768" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
        Depth        15
        Modes        "1024x768" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
        Depth        16
        Modes        "1024x768" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
        Depth        24
        Modes        "1024x768" "800x600" "640x480"
     EndSubSection
     SubSection "Display"
        Depth        32
        Modes        "1024x768" "800x600" "640x480"
     EndSubSection
  EndSection

Alternatively, run the utility which sets up X: most modern X-configurators
offer the choice of colour depths and default depth.

HOWEVER: In practice it gets more complicated, in that your video card has to
be able to cope with the colour depth and resolution you request, and even if
it can cope it may only do so if you also set certain special options in the
card-specific XF86Config section. These options may depend not only on the
generic card model but also on who manufactured it, i.e. different "clones"
may require different setups. You have to experiment and read the card info in
the XF86 documentation (look under /usr/X11R6/lib/X11/Cards and
/usr/X11R6/lib/X11/doc).

That being said, the main factor is the Video RAM on the card. The rule is
(Horizontal resolution)x(Vertical resolution)x(Bytes for colour depth) bytes
of RAM _minimum_. (Bytes for colour depth) is, of course, 1 for 8bpp (256
colours), 2 for 16bpp (65536 colours), and 3 for 24bpp. Paradoxically, 32bpp
is often implemented as a "packed 24bpp" and may only need 3 bytes per pixel,
i.e. you may be able to get 1280x1024x32bpp with a 4MB card, even though it
looks as though you need 5MB.

One complication here is that some cards insist on using half the video RAM as
a "frame buffer" in which case you may not get what you might think you could
get. Since X allows a larger "Virtual" screen than appears on the monitor, you
should use the "Virtual" dimensions in the above calculation if relevant.

The main symptom of a card not being able to cope with the colour depth you
request is either a lot of fuzzy twinkling garbage, or else the screen image
being broken up and variously wrapped round (horizontally and/or vertically).

Hope this helps, and I hope it actually proves straightforward!
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <[EMAIL PROTECTED]>
Date: 09-Aug-98                                       Time: 10:41:34
--------------------------------------------------------------------

Reply via email to