Re: vesafb problem with 1GB Ram and possible fix
From: Antonino Daplas <hidden>
Date: 2003-03-29 11:02:08
On Sat, 2003-03-29 at 04:59, Walt H wrote:
I've got a Chaintech 7KDD dual processor 760MPX MB with 1 GB RAM. I had problem getting vesafb or rivafb to work. I got ioremap errors during nitialization, which appear to be because vesafb tries to ioremap the entire 128MB framebuffer of my video card. It's a GeForce 4 Ti4600 with 128MB Ram. Through correspondence on the general linux-kernel mailing list, I learned about changing the vmalloc reserved space from 128 to 256MB, but that didn't work for me as it evidently blows away high-mem IO. Well, here's what I've done. I've made a change in video/vesafb.c to change __init vesafb_init to only allocate the amount of memory required for the requested video mode of the framebuffer (I think). So far, it appears to work fine. I haven't tried many modes yet, but it's worked with what I've thrown at it. Thanks again, The trivial change I made was changing this: video_size = screen_info.lfb_size * 65536; to this: video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp; I'm not a kernel hacker, so if I'm overlooking something please let me know. I've tested this a fair amount and it appears to be working on my end. Please CC me on any replies. Thanks, -Walt
I've submitted a similar patch to address problems such as the one you're encountering. It just adds an extra boot option to specify amount of memory to remap. Some applications will need more graphics memory than the minimum required to display a particular mode (such as for buffer flipping, offscreen caching, etc). Attached is the message I sent to the list a few days ago. Tony
Attachments
- vesafb.txt [text/plain] 4764 bytes · preview