Messages in this thread Patch in this message | | | Date | Mon, 28 Jul 2003 22:10:06 +0200 | From | Sven Schnelle <> | Subject | Framebuffer Console |
| |
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> -----------------------------------------[unhandled content-type:application/pgp-signature] | |