linux-l: Fatal Error! ...Pseudo Color

Jens Dreger jens.dreger at physik.fu-berlin.de
Mi Jan 19 00:17:46 CET 2000


On Tue, Jan 18, 2000 at 09:58:53PM +0000, Thomas Bergmann wrote:
> Hi Linuxer
> 
> Ich habe folgende Fehlermeldung mit der ich nicht (mangels Wissen) klar
> komme.
> 
> Fatal Error! Could not find a Pseudo Color visual to use,
>                    or the one found was not deep enough to
>                    allocate 55 colors
> 
> Ich habe schon ein paar manpages durch geschaut, aber nichts in Richtung

man XColor

PseudoColor benutzt eine Farbpalette mit einer festen Anzahl von
Farbzellen, die am Anfang nicht belegt sind. Jedes X-Programm kann
auch seine eigene Farbtabelle (private colormap) anlegen. Dann kommt
es zu diesen netten Farb-Umschalt-Effekten (z.B. xv Visual Browser)
wenn der Mauszeiger das Fenster verlaesst. Die Farbtabelle kann man
mittels xcmap anzeigen lassen. Du kannst zusehen, wie die einzelnen
Programme sich gegenseitig die Farben wegschnappen. Starte erst
Netscape, dann sind 216 von 256 Farben weg, dann GhostView und schon
geht der Aerger los (bei einem Display mit 256 Farben). Wenn Du
netscape mittels "netscape -install" startest, benutzt es eine private
Colormap und verschont die globale Farbtabelle. Dann bleiben fuer die
anderen Programme noch Farben uebrig, aber man hat wieder das
Farbgeflacker beim Window-Wechsel...

> Pseudo Color gefunden. Weiß jemand von euch in welcher Ecke meines
> Systems
> ich die Lösung finden bzw. welche manpages mir da weiter helfen.

Auf 16-Bit TrueColor umschalten. TrueColor steht hier nicht fuer
24/32bit sondern fuer eine andere Art der Farbverwaltung. Bei 16-bit
hast Du 65536 (2^16) Farben, die gleichmaessig im Farbraum verteilt
sind. Das bedeutet uebrigens, dass Du bei 16Bit _weniger_ Grautoene
hast, als bei 8Bit ! Bei Hochfahren sagt der XServer sowas wie:

SVGA: Using 16 bpp, Depth 16, Color weight: 565

also 32*64*32 (Rot/Gruen/Blau) -> 65536 Farben.

Echte Grautoene sind davon aber nur 32. Man kann das mit dem blossen
Auge sehen:

perl -e 'print "P3 256 256 256\n"; 
     while($i++<=256) { print "$i "x(256*3),"\n"; }'| xv -

(eine Zeile). Dann Fenster grossziehen. Man sieht, wie das Grau immer
etwas zu gruen ist und dann wieder etwas zu lila. Natuerlich nur bei
16bpp und Color weight: 565. Gibt auch Color weight 555...

Na, da hab' ich mich ja mal wieder verzettelt ;)

Gruss,

Jens.



Mehr Informationen über die Mailingliste linux-l