If virtual resolution is higher than the screen (as in atyfb), and yoffset given by the framebuffer driver happens to be non-zero (fbcon changes it on- the-fly), Xfbdev places its image starting above the displayed part of the framebuffer. This patch makes sure that the whole picture is visible.
Signed-off-by: Risto Suominen <risto.suomi...@gmail.com> --- The testing is done on version 1.1.1 and linux kernel version 2.6.18. --- a/hw/kdrive/fbdev/fbdev.c.org 2006-07-05 21:31:39.000000000 +0300 +++ b/hw/kdrive/fbdev/fbdev.c 2009-01-18 15:42:06.000000000 +0200 @@ -215,6 +215,8 @@ fbdevScreenInitialize (KdScreenInfo *scr /* Now get the new screeninfo */ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); + /* We can get anything into yoffset if fbcon is active */ + priv->var.yoffset = 0; depth = priv->var.bits_per_pixel; gray = priv->var.grayscale;
If virtual resolution is higher than the screen (as in atyfb), and yoffset given by the framebuffer driver happens to be non-zero (fbcon changes it on- the-fly), Xfbdev places its image starting above the displayed part of the framebuffer. This patch makes sure that the whole picture is visible. Signed-off-by: Risto Suominen <risto.suomi...@gmail.com> --- The testing is done on version 1.1.1 and linux kernel version 2.6.18. --- a/hw/kdrive/fbdev/fbdev.c.org 2006-07-05 21:31:39.000000000 +0300 +++ b/hw/kdrive/fbdev/fbdev.c 2009-01-18 15:42:06.000000000 +0200 @@ -215,6 +215,8 @@ fbdevScreenInitialize (KdScreenInfo *scr /* Now get the new screeninfo */ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); + /* We can get anything into yoffset if fbcon is active */ + priv->var.yoffset = 0; depth = priv->var.bits_per_pixel; gray = priv->var.grayscale;
_______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg