Thread (27 messages) 27 messages, 6 authors, 2004-06-24

Re: Sane behavior of fbset

From: John Zielinski <hidden>
Date: 2004-06-23 17:29:38

Benjamin Herrenschmidt wrote:
It may have looked like a nice idea, but I think it's just wrong.
 
I think that the implementation is wrong, not the whole idea.  Currently 
the vt_resize ioctl changes the vt size then tries to set the resolution 
leading to a whole bunch of problems when a suitable resolution can't be 
found and makes the fbset result ion change code path ugly as well.

What should happen is that the vt_resize ioctl should be sent to the 
console driver first and then the console driver calls back the vt layer 
with the modified  row and column numbers based on the closest 
resolution found.

So what we have right now is:

vt_ioctl (VT_RESIZE) -> vc_resize -> resize_screen -> con_resize ->  
fb_set_var -> fbcon_event_notify -> vc_resize*

* or equivilent code depending on who's patch you use

Which should be:

vt_ioctl (VT_RESIZE) -> resize_screen -> con_resize -> fb_set_var & 
vc_resize

You'd have to have a per vt var in order to have different console sizes 
on different vt's this way.  The reason for not using the 
fbcon_event_notify is that it won't be called when the vt is not in the 
forground and I don't belive that a we need to resize the console when 
switching between different vt's.  A vc_resize would the be necessary in 
the fb_ioctl FBIOPUT_VSCREENINFO code path in this case.

John




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help