Framebuffer Console

From: Sven Schnelle (schnelle@kabelleipzig.de)
Date: Mon Jul 28 2003 - 15:10:06 EST


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>
-----------------------------------------


- 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/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:37 EST