Re: Applications & ACPI events

Pavel Machek
2003-10-09T21:35:05Z

Hi!

> > > > IMO X should do full save and restore, on every console switch. That
> > > > way it is safe to killall -9 X when you are on console, and I think I
> > > > like it that way. I do not think console switching is i386-only, I
> > > > know that sparc64's had consoles, too.
> > >
> > > Doing a kill -9 on any application doesn't allow the application to
> > > catch the signal. Thus X cannot restore itself, and neither can any
> > > application that gets it. If you kill -9 anything then suffer the
> > > consequences of it not cleaning up.
> >
> > I should be able to kill -9 any task and keep my system running (I'm
> > not complaining about stale lock files etc). Unfortunately that is not
> > true with X. It would be nice if at kill -9 would be safe at least
> > when kernel has control of display.
>
> You said 'X should do full save and restore, on every console switch'.
> The fact is that X can only do a full save/restore (and it does!) on
> the VT that it owns. If you really want to do a kill -9, then the
> kernel has no choice but to clean up and restore itself which is impossible
> as it knows nothing about some of the intricasies of the some of the graphics
> engines out there.

Thats okay, I do not want to kill -9 X when it owns console.

X does _not_ do full save/restore, at least not for all
drivers. vesafb does no saving, and generic vga driver is also
incapable of full save/restore. Not sure about others.

> > > > OTOH if X knew how to bring video card up from powerdown... that would
> > > > help a lot, and would need a kernel support. ("Hey, X, I just did
> > > > resume and graphics card is uninitialized. It is not even in vga text
> > > > mode. Do something with it.")
> > >
> > > Most drivers in X do know how to bring up the video chip from an
> > > uninitialized state. If the kernel is doing a VT switch internally and
> > > back again on resume then it should just work.
> >
> > Kernel is doing VT switch in -test6. But I do not really think X can
> > bring up the video chip... are you really able to program video card
> > memory timings and similar stuff? On what cards?
>
> X can bring it up. X uses the int10 library to softboot a video board.
> XFree86 even has an x86 emulator so it can do this on non-X86 platforms.
>
> I guess I'll just have to try -test6 to see if it does VT switch when
> hitting the power button to suspend....

Be sure to report results..
Pavel
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]