[comp.windows.x] X11R2 and Color Sun Displays

peterson@SW.MCC.COM (James Peterson) (08/09/88)

Having gotten X11R2 to work correctly on B/W screens,
I am now trying to get it to work on Color displays.
When I run xinit, like normal, on a system with a
color display instead of a B/W, it hangs and must be
rebooted.  However, if I run it and tell it to use
the color display by name, it starts okay.  So the
problem seems to be in the auto-configuration code.

I added a print statement to sunInit.c to tell me 
what displays it is finding, and get the following
output when it is run on a Sun 3 with one display,
a color display:

bali% xinit -- Xsun
Display 1: /dev/bwtwo0
Display 2: /dev/cgtwo0

It appears that the auto-configuration code is
finding both a color and a b/w display on this
machine, even though there is only one display.

I believe the problem is that the color display has
a b/w interface so that b/w applications can run
on the color display.  How do I determine that the
b/w display is just a different interface to the
color display and that I have only one display
rather than two?

jim

peterson@SW.MCC.COM (James Peterson) (08/10/88)

> Just 'rm /dev/bwtwo0' on your color machine.

That's not really a feasible thing to do:  I don't
have modify permission for /dev; it is used by other
programs, ...

> The Xsun man page tries to explain this.

The Xsun man page is talking about the cgfour, not the
cgtwo.  On the cgtwo it seems to work in a similar manner,
but there is no way to get the b/w screen to be displayed
(at least I can find one).  So if you move your cursor too
far to the left or right, it simply disappears.  Clients
run, but their output is invisible.

It is not unreasonable to believe that there must be some
unique value associated with each physical display and checking
that value for the cgtwo0 and the bwtwo0 would show that they
were the same display.  An inode number or field of the 
struct fbtype record.

jim

dshr@SUN.COM (David Rosenthal) (08/10/88)

People frequently complain that the man pages are either missing,
or don't tell you what you need to know.  In this particular case,
these complaints are not justified.

Here is the troff source for the appropriate section of the Xsun
man page.

	David.

.TP
3
The auto-configuration depends on there being appropriate
special files in the
.I /dev
directory for the framebuffers which are to be used.  Spurious
entries can disturb
the process.
For example,  the X/160C in fact has the hardware for a monochrome
.B bwtwo0
on the CPU board.  So if your
.I /dev
has a special file for
.IR /dev/bwtwo0 ,
the server will use it,  even though there is no monitor attached to the
monochrome framebuffer.
The server will appear to start,  but not to paint a cursor,  because the
cursor is on the monochrome frame buffer.  The solution is to remove the
.I /dev
entries for any device you don't have a monitor for.