lkml.org 
[lkml]   [2003]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Framebuffer Console

> 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

Try adding UseFBDev "true" to your XF86Config file.

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

This is wrong. FB_CUR_SETCUR is used only by the userland cursor
interface. We use it to turn the cursor on and off via userland this way.
Internal to the kernel we just toggle the enable flag.

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

This is a fluke that it helps. The cursor shows wrong characters because
the code logic is wrong. I'm working on the new code.


-
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.053 / U:3.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site