On Thu, 2006-09-14 at 11:18 +0200, Pavel Machek wrote: > On Tue, 2006-09-12 at 11:21 +0200, Pavel Machek wrote: > > > > > Ok, so what is needed is message to X "we are suspending", and X > needs > > > to respond "okay, I'm ready, no need for console switch". > > > > This presumes an external agent to X controlling the fast > > suspend/resume, with messages having to flow to and from X, and to > and > > from the kernel, with the kernel in the middle. > > > > Another simpler option is X itself just telling the kernel to suspend > > without console switch, as the handoff of the display to the DCON chip > > has to be done with X and with an interrupt signaling completion of the > > handoff. This would be triggered by an inactivity timeout in the X > > server. > > Whoa... that's a hack.. but yes, you can probably do that, and I think > kernel even has neccessary interfaces already. (They were needed for > uswsusp). Glad you like it ;-). Dunno which way we'll go yet, though it will get to the top of the pile to implement this fall. I suspect we may go this route to get going, but explore the more general solution as we get more sophisticated power management policies and standards in place. > > > > Alternatively, hack kernel to take control from X without actually > > > switching consoles. That should be possible even with current > > > interface. > > > > This would require saving/restoring all graphics state in the kernel > > (and X already has that state internally). Feasible, but seems like > > Hmm, save/restore graphics state from the kernel would of course be > clean solution, but you should have that anyway... what if someone > suspends without X running? X knows its graphics state; it has to remember it all to know when it has to be changed; on resume, resume can reinit the graphics state to what the console wants/needs. If you VT switch back to X, X can restore the graphics state to what it remembers. > > And of course you can just cheat, and not do kernel save-state on your > system. Yup, though it isn't clear to me I'd call it cheating. In some ways, what I just described to handle suspends when X is not running is really robust and simple. And you don't have divided responsibility for remembering the state. Simple == good in my book. - Jim -- Jim Gettys One Laptop Per Child - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html