lkml.org 
[lkml]   [2003]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Framebuffer Console
Though I did not check this patch below, with 2.6.0-test1 kernel MGA
framebuffer console is totally unusable. Eg scrolling and major screen
update tasks corrupt the screen heavily with vertical lines everywhere
and other even "funnier" effects occured. With plain text consol there is
no problem however I NEED framebuffer console (eg playing video on the
console without X). It as a Matrox G400 card.

On Mon, Jul 28, 2003 at 10:10:06PM +0200, Sven Schnelle wrote:
> Hi,
>
> while testing linux-2.6.0-test2 I have some strange framebuffer(rivafb,
> but maybe this appears on other card's too)
> behaviour:
>
> 1) Screen is not restored after switching from X11 back to textmode
> 2) Cursor shows wrong characters
>
>
> This patch solve the problems for me:
>
> -------------------------------------8<--------------------------------
> diff -ur linux-2.6.0-test2/drivers/video/console/fbcon.c linux-2.6.0-test2-sv/drivers/video/console/fbcon.c
> --- linux-2.6.0-test2/drivers/video/console/fbcon.c 2003-07-27 19:05:15.000000000 +0200
> +++ linux-2.6.0-test2-sv/drivers/video/console/fbcon.c 2003-07-28 10:40:38.000000000 +0200
> @@ -1056,7 +1056,7 @@
> cursor.set |= FB_CUR_SETHOT;
> }
>
> - if ((cursor.set & FB_CUR_SETSIZE) || ((vc->vc_cursor_type & 0x0f) != p->cursor_shape)) {
> + if ((cursor.set & FB_CUR_SETSIZE) || (cursor.set & FB_CUR_SETCUR) || ((vc->vc_cursor_type & 0x0f) != p->cursor_shape)) {
> char *mask = kmalloc(w*vc->vc_font.height, GFP_ATOMIC);
> int cur_height, size, i = 0;
>
> @@ -1704,8 +1704,13 @@
> if (blank < 0) /* Entering graphics mode */
> return 0;
>
> + /* FIXME: Dirty Hack */
> + info->cursor.image.height = 0; /* Need to set cursor size */
> + info->cursor.image.width = 0;
> fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW);
>
> + fbcon_clear(vc, 0, 0, vc->vc_rows, vc->vc_cols);
> + update_screen(vc->vc_num);
> if (!info->fbops->fb_blank) {
> if (blank) {
> unsigned short oldc;
> -----------------------------------8<--------------------------------------
>
> don't know if this is the right way, but it works...
>
> Regards,
> --
> Sven Schnelle, <schnelle@kabelleipzig.de>
> -----------------------------------------



--
- Gábor (larta'H)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.051 / U:2.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site