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.