Knut Petersen wrote:
> Every framebuffer driver relies on the assumption that the set_par()
> function
> of the driver is called before drawing functions and other functions
> dependent
> on the hardware state are executed.
>
> This assumption is false in two cases, and one is a genuine linux
> bug:
>
> 1: Whenever you switch from X to a framebuffer console for the very
> first time, there is a chance that a broken X system has _not_ set
> the mode to KD_GRAPHICS, thus the vt and framebuffer code
> executes a screen redraw and several other functions before a
> set_par() is executed. This is believed to be not a bug of linux
> but a bug of X/xdm.
>
> 2: Whenever a switch from X to a framebuffer console occures,
> the pan_display() function of the driver is called once before
> the set_par() function of the driver is called. Code path:
> complete_change_console -> redraw_screen -> fbcon_switch ->
> bit_update_start-> fb_pan_display -> xyz_pan_display.
> This is clearly a bug of linux.
This part, #2, can be easily fixed.
>
> Although our primary goal must be to fix linux bugs and not to work
> around bugs of X, the patch fixes both of the cases.
>
> The advantage and correctness of this patch should be obvious. Yes, it
> does add a possibly slow call to the fb_set_par() function, but at this
> point it is necessary.
>
> Signed-off-by: Knut Petersen <[email protected]>
Sorry, NAK for now. Unless other people agree that it is okay for them
to have an unconditional call to set_par() for every console switch. Note
that the set_par() in some drivers is terribly slow (several seconds at least).
Let's wait a few days, if nobody disagrees with you, so be it.
Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]