Subject: Re: NetBSD/pmax 1.4 Xpmax on monochrome DS3100
To: Andy Doran <ad@fionn.sports.gov.uk>
From: Simon Burge <simonb@netbsd.org>
List: port-pmax
Date: 06/23/1999 10:04:25
Andy Doran wrote:

> Thanks for the report Paul! Sounds like two things are wrong:
> 
> 1) blackPixel and whitePixel need to be 'allocated' correctly in pmax_io.c.
>    AFAIR this involves something horribly complex along the lines of:
> 
> 	blackPixel = 0;
> 	whitePixel = 1;
> 
> 2) pixmap visuals in pmax_init.c need to be trimmed for true 1bpp.
>    This involes opening /dev/fb? and seeing whether it's monochrome,
>    then swiftly closing it off. If it's mono, kill the 8bpp pixmap depth.
>    This is a stupid limitation of DIX.
> 
> Can somebody handle this - Micheal, Simon? Ugh. I'm starting to really
> regret pushing hard with development before I left Ireland.

I'll start, although I still maintain I'm clueless about X :-)

First thing, in pmax_io.c, we use mfbScreenInit() for a PMAX_FBTYPE_PM_MONO,
but cfbScreenInit() for a PMAX_FBTYPE_MFB.  The 3100 uses "pm" and
the PMAG-A is a "mfb", and we know (I think?) that the mfb works and
the pm doesn't.  Am I allowed to be confused about this?

If this is all right, then I take it we just want a

	pScreen->blackPixel = 0;
	pScreen->whitePixel = 1;

just before the calls to mfbScreenInit()?

With the pixmaps, would it be a case if only setting numPixmapFormats
to 1 for an mono board (easy because the 1-bit pixmap is first in the
pixmap list).

Simon.