Date: Fri, 10 Nov 2006 15:45:42 -0600
From: "Ben Gardner" <firstname.lastname@example.org>
Subject: Re: [Linux-fbdev-users] who is writing to my framebuffer?
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
You've probably already figured this out, but in case you haven't,
here's what I've discovered.
You have to turn the cursor off.
You have to write the string "\033[?25l" to the terminal (that is an 'el'.)
I found this info on this website:
On 10/18/06, Nathan King <email@example.com> wrote:
> Hey folks,
> I'm using a virtual framebuffer on some embedded hardware, and I'm trying to
> keep track of all changes to the framebuffer. I know when the three biggies,
> cfb_imageblit, cfb_fillrect, and cfb_copyarea write to it, but there's
> somebody else out there monkeying with it. These mystery writes happen
> during scrolling, which makes me think its somebody in fbcon. And I know its
> nothing from userspace, because this is happening during boot before we ever
> get to userspace. Is somebody in fbcon writing to my framebuffer behind my
> My mystery writes ARE cursor sized (8x16 pixels). I can't find any, but do
> any cursor functions operate directly on info->screen_base, without going
> through one of cfb*?
> What I'm seeing is that cfb_imageblit will receive a block of text from
> fbcon to draw at, say, (0,72), with a width of 64 pixels. Then the next
> block it receives is for (72,72). An eight pixel gap, and there should be
> some data between the two blocks. In fact if I look at the data after its
> finished with the line the data is somehow there. This happens at exactly
> the same locations every run.
> Much thanks,
Thanks for the reply. Actually I hadn't figured it out yet. I'd thrown a temporary "hellwithit" down and decided to come back to it later.
I'm not sure how to use the information in that link. Everything I'm doing is in kernelspace and that tutorial appears to be for userspace programming. Also it seems to be for a system with VGA hardware and ours has none, we've got a virtual framebuffer that sits in system RAM.
I'd considered that the cursor could be at fault somehow, but the cursor drawing code that fbcon points to (softcursor if I recall correctly) just points back again to the cfb* functions.
I don't suppose you have any other thoughts on this? I'm going to start feeling pretty stupid if I can't solve it soon. ;)