[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: new metod for color x



Hi,

>     wouldn't it be possible to make a macintosh app that changes the color
> table to the same one that X/Linux uses and then boot w/ out penguin
> changing colors? I would be glad to try this if someone could get me the
> color table that Linux uses when displaying colors.

Penguin 16 allows you to supply your own color tables to load before
booting. You'll need ResEdit to edit the color maps; a sample color map is 
included in the booter distribution. Play with it and see where it takes
you. It's basically possible without extra MacOS apps. Hint: the red and 
blue color values in the MacOS map need swapping for the color table to make
more sense in X.

Note that setting the colors right for X will mess up text console colors 
unless you get creative and write a little tool that reads the kernel
hardcode color map (would need to be adjusted to the one you use to boot, 
unless you want to modify the booter to pass the whole color map to the 
kernel) and picks the right color index to use for sane console colors. 
In particular, setting black and white correct for X will result in black
text on white background in the console.

And further note that X relies on dynamically adjusting the color map 
as it gets requests for not yet present colors. The Mac framebuffer driver
currently just discards these adjustments, so running X for a while is
guaranteed to result in disagreement between the X and kernel color maps 
even if they matched at startup.

AFAIK X uses a 6x6x6 color cube, and (contrary to the current booter
and kernel default color mapping) doesn't leave the 15 ANSI console
colors alone but overwrites them. The color scheme used by X can be found 
in the X server sources, and you can add a little section to the framebuffer
driver to dump the color map changes requested by X if you don't want 
to browse the X sources. 

To answer the obvious followup: I've not done more than changed four or
five entries in the 8 bit map until I saw where that would take me, so
posting that map won't help a lot. And I don't intend to spend any kernel
hacking on that problem either; I've got more than enough higher priority
things to do. Adding the color map dump code is a trivial exercise in
kernel programming and can be done by anyone.

	Michael


Reply to: