Subject: Re: Ultra 5 X11
To: Eduardo Horvath <eeh@NetBSD.org>
From: Michael <macallan18@earthlink.net>
List: port-sparc
Date: 02/10/2005 13:44:13
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

>> Which console? XFree doesn't tell wscons what it does to the video
>> hardware so wscons has no way to print anything meaningful on the
>> screen as long as XFree is running. Handing it back when the Xserver
>> exits works fine.
>
> This is not a PC (although it does use some of the same hardware).
> There is no character mode display.  Everything is in graphics mode.
I know. I wrote half of what's now machfb :)

> And machfb can initialze the screen from powerup.  I have seen it
> do so.
I wasn't sure if it really works, only saw the code.

>   Whatever strange things XFree does to the display machfb
> should be able to undo.
Sort of. But this isn't quite as easy. When XFree exits it tries to set 
everything back to the state it found when starting - works fine on my 
U10. Then it uses some ioctl() to silence the console while it's 
working and another one to tell the console it can take over again, I 
use it to clean things up when XFree exits ( cleaning the screen for 
instance, but that's not yet in the cvs tree ). But if XFree crashes or 
we get a kernel panic there's no graceful exit, therefore no ioctl() to 
tell machfb what's going on and ultimately no console output on the 
screen.

> Under
> Solaris I can hit Stop-A, get to the OBP, type some commands, type
> `go' and resume X (after a refresh screen) with no problems.  In
> fact, I just did.  I don't see why NetBSD can't do the same.
The Sun Xserver usually doesn't change resolution, it uses whatever it 
finds - you do that somewhere else and then it uses the framebuffer 
device instead of poking the hardware directly so it affects everything 
and the console can stay functional when X is running. To achieve the 
same we'd have to hack XFree to do the same, it's not (really) a NetBSD 
problem.
It would be nice to have something to notify a display driver of a 
panic or a crash of whatever program put it into silent mode so it can 
re-initialize itself and either adapt to whatever the video circuitry 
is programmed to or to reset it to some default.

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iQEVAwUBQgurfcpnzkX8Yg2nAQLk/wgAs+bZRhZztzH19uB1hRF5LjPNp5lni2li
UJePqJ6IIhtI4we8BGh1tFuG6ZZPVRHbtSYGuWdp8tCMfKDQ4C6RFAbues8O7RQx
PYQvXcS9nW+sjfBP9zSyabRp1LmsvsMIOB4aolAihNBzhriLJQ9TYJQh1EFqMQcY
6Cq4608zehF4iTgoUEiKdE/J6r3jwEeT9t6AEui7q6vfGxJiPLjX6LUvkmNhDNwg
3XNnNGISBdw1oUC3wMYNeHpsyhl/iCYiNCHPbBKqxCPDiFo/i/Wr8oKiW0OwdOK2
FeQ0sgA+R2wa5rIR0s8AMsjj0LonGCtKQH/5AR6ddBKxUMsTx8vX3A==
=w08j
-----END PGP SIGNATURE-----