Mouse, thanks very much for taking the time to comment.
On 06/06/2015 02:35 PM, Mouse wrote:
Am I correct
to assume that the GPU must support 4bpp in order for it
even to be possible for the X-server to propagate a 4-plane visual to
a client?
No. However, it is substantially more difficult for an X server to
present a visual that the hardware doesn't support, which is probably
why the server you have doesn't do it. Well-behaved clients must be
prepared to handle whatever capabilities the server presents; the
problem here is that the client you have handles the server you have by
complaining and dying.
Depending on what other capabilities the client is using, you might be
able to get the overlay effect using colourmap hackery with
comparatively small code changes. What PseudoColor or DirectColor
visuals are available?
If you are talking about hacking the x-client, no chance. At
least, that would
probably entail unacceptable cost for the customer.
If yes, how
can I determine if a GPU supports 4bpp?
Read the documentation, of course, or
contact the manufacturer's
support department.
Kind of hopeless in the case of manufacturers of mass-market
hardware...
Nvidia is very
sparing with the information in their specs for the
Quadro 400 GPU.
You may be out of luck without repalcing the hardware, then.
(That's
one of the prices of buying undocumented hardware....)
The Quadro 400 is
coincidence. The test hardware was randomly chosen before all
this 4-plane stuff was known. The solution can be anything reasonable.
Assuming I can
find a GPU that supports/offers 4bpp, does anyone know
an X-server product/project that can provide 4-plane overlays?
You probably do not
need a GPU. The era when 4-bit visuals were common
was full of dumb memory-mapped framebuffers; modern CPUs are fast
enough that they can probably fake up a 4-bit overlay visual and still
run at least as fast as the hardware your client software was designed
to run against.
I'm not sure how hard it would be to do. My X server hackery has never
included faking something the hardware doesn't support, so my
experience is rather limited in that direction. But I've done DDX
layers for at least three widely disparate framebuffers, and I feel
reasonably confident what you want could be done.
I have presented MS-Windows as a given here, but in fact I could also use LInux.
Do any possibilities involving Linux occur to you?
cheers,
Rob