* vesafb problem with 1GB Ram and possible fix [not found] ` <3E837ADD.9080209@comcast.net> @ 2003-03-28 20:59 ` Walt H 2003-03-29 10:41 ` Antonino Daplas 0 siblings, 1 reply; 5+ messages in thread From: Walt H @ 2003-03-28 20:59 UTC (permalink / raw) To: linux-fbdev-devel 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 ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: vesafb problem with 1GB Ram and possible fix 2003-03-28 20:59 ` vesafb problem with 1GB Ram and possible fix Walt H @ 2003-03-29 10:41 ` Antonino Daplas 2003-03-29 20:24 ` Walt H 0 siblings, 1 reply; 5+ messages in thread From: Antonino Daplas @ 2003-03-29 10:41 UTC (permalink / raw) To: Walt H; +Cc: Linux Fbdev development list [-- Attachment #1: Type: text/plain, Size: 1701 bytes --] 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 [-- Attachment #2: vesafb.txt --] [-- Type: text/plain, Size: 4878 bytes --] From linux-fbdev-devel-admin@lists.sourceforge.net Thu Mar 27 15:41:09 2003 Return-Path: <linux-fbdev-devel-admin@lists.sourceforge.net> X-Sieve: cmu-sieve 2.0 Received: from sc8-sf-list2.sourceforge.net (lists.sourceforge.net [66.35.250.206]) by tom.po.com (8.12.8/8.12.2) with ESMTP id h2RKf9fP027806 for <adaplas@pol.net>; Thu, 27 Mar 2003 15:41:09 -0500 (EST) Received: from sc8-sf-list1-b.sourceforge.net ([10.3.1.13] helo=sc8-sf-list1.sourceforge.net) by sc8-sf-list2.sourceforge.net with esmtp (Exim 3.31-VA-mm2 #1 (Debian)) id 18yeA1-0003Q5-00; Thu, 27 Mar 2003 12:39:41 -0800 Received: from pine.compass.com.ph ([202.70.96.37]) by sc8-sf-list1.sourceforge.net with smtp (Exim 3.31-VA-mm2 #1 (Debian)) id 18ye9G-0003zY-00 for <linux-fbdev-devel@lists.sourceforge.net>; Thu, 27 Mar 2003 12:38:54 -0800 Received: (qmail 78519 invoked from network); 27 Mar 2003 20:38:50 -0000 Received: from ap-202-70-105-57.compass.com.ph (202.70.105.57) by pine.compass.com.ph with SMTP; 27 Mar 2003 20:38:50 -0000 From: Antonino Daplas <adaplas@pol.net> To: Linux Fbdev development list <linux-fbdev-devel@lists.sourceforge.net> Content-Type: text/plain Message-Id: <1048796361.977.6.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.0.8 (1.0.8-10) Subject: [Linux-fbdev-devel] [PATCH]: vesafb - vram option Sender: linux-fbdev-devel-admin@lists.sourceforge.net Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net X-BeenThere: linux-fbdev-devel@lists.sourceforge.net X-Mailman-Version: 2.0.9-sf.net Precedence: bulk List-Help: <mailto:linux-fbdev-devel-request@lists.sourceforge.net?subject=help> List-Post: <mailto:linux-fbdev-devel@lists.sourceforge.net> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel>, <mailto:linux-fbdev-devel-request@lists.sourceforge.net?subject=subscribe> List-Id: <linux-fbdev-devel.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel>, <mailto:linux-fbdev-devel-request@lists.sourceforge.net?subject=unsubscribe> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum=linux-fbdev-devel> X-Original-Date: 28 Mar 2003 04:20:12 +0800 Date: 28 Mar 2003 04:20:12 +0800 X-Evolution-Source: pop://adaplas@pop.po.com/inbox Content-Transfer-Encoding: 8bit Attached is a diff against linux-2.5.66. - Added vesafb option to specify amount of video RAM to remap. This is perhaps useful for people with machines with large amounts of system and graphics RAM and vesafb fails to load due to failure to ioremap. To use: to remap only 1MiB of ram, add the ff. in your boot option: video=vesafb:vram:1,<your other options> Tony diff -Naur linux-2.5.66-orig/Documentation/fb/vesafb.txt linux-2.5.66/Documentation/fb/vesafb.txt --- linux-2.5.66-orig/Documentation/fb/vesafb.txt 2003-03-26 02:24:54.000000000 +0000 +++ linux-2.5.66/Documentation/fb/vesafb.txt 2003-03-27 20:10:01.000000000 +0000 @@ -146,7 +146,9 @@ mtrr setup memory type range registers for the vesafb framebuffer. - +vram:n remap 'n' MiB of video RAM. If 0 or not specified, remap all + available video RAM. + Have fun! Gerd diff -Naur linux-2.5.66-orig/drivers/video/vesafb.c linux-2.5.66/drivers/video/vesafb.c --- linux-2.5.66-orig/drivers/video/vesafb.c 2003-02-16 00:49:23.000000000 +0000 +++ linux-2.5.66/drivers/video/vesafb.c 2003-03-27 20:01:11.000000000 +0000 @@ -50,7 +50,7 @@ static int inverse = 0; static int mtrr = 0; - +static int vram __initdata = 0; static int pmi_setpal = 0; /* pmi for palette changes ??? */ static int ypan = 0; /* 0..nothing, 1..ypan, 2..ywrap */ static unsigned short *pmi_base = 0; @@ -206,6 +206,8 @@ pmi_setpal=1; else if (! strcmp(this_opt, "mtrr")) mtrr=1; + else if (! strncmp(this_opt, "vram:", 5)) + vram = simple_strtoul(this_opt+5, NULL, 0); } return 0; } @@ -226,6 +228,8 @@ vesafb_defined.yres = screen_info.lfb_height; vesafb_fix.line_length = screen_info.lfb_linelength; vesafb_fix.smem_len = screen_info.lfb_size * 65536; + if (vram && vram * 1024 * 1024 < vesafb_fix.smem_len) + vesafb_fix.smem_len = vram * 1024 * 1024; vesafb_fix.visual = (vesafb_defined.bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en _______________________________________________ Linux-fbdev-devel mailing list Linux-fbdev-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: vesafb problem with 1GB Ram and possible fix 2003-03-29 10:41 ` Antonino Daplas @ 2003-03-29 20:24 ` Walt H 2003-03-29 21:39 ` Antonino Daplas 0 siblings, 1 reply; 5+ messages in thread From: Walt H @ 2003-03-29 20:24 UTC (permalink / raw) To: Antonino Daplas; +Cc: Linux Fbdev development list Antonino Daplas wrote: > 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 > <Patch snipped> One question I've been wondering about with either one of these approaches has to do with mode changes. I might be mistaken, but if I remember correctly, video mode changes aren't supported for vesa framebuffers. Would you ever need to allocate additional memory other than that allocated at startup? I'm thinking that in the small tweak that I did, you can perhaps not allocate enough memory for some unforseen future event, although I can't think of any off hand. Then again, I'm not a kernel programmer, I could be way off base here. -Walt ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: vesafb problem with 1GB Ram and possible fix 2003-03-29 20:24 ` Walt H @ 2003-03-29 21:39 ` Antonino Daplas 2003-03-30 23:16 ` Walt H 0 siblings, 1 reply; 5+ messages in thread From: Antonino Daplas @ 2003-03-29 21:39 UTC (permalink / raw) To: Walt H; +Cc: Linux Fbdev development list On Sun, 2003-03-30 at 04:24, Walt H wrote: > > > <Patch snipped> > > One question I've been wondering about with either one of these > approaches has to do with mode changes. I might be mistaken, but if I > remember correctly, video mode changes aren't supported for vesa > framebuffers. Would you ever need to allocate additional memory other > than that allocated at startup? I'm thinking that in the small tweak > that I did, you can perhaps not allocate enough memory for some > unforseen future event, although I can't think of any off hand. Then > again, I'm not a kernel programmer, I could be way off base here. > True, vesafb does not support mode changes. However, the extra graphics memory is useful for some framebuffer-based applications that implement multi-buffering. DirectFB, for instance, takes advantage of this since it uses a frontbuffer and a backbuffer (display the frontbuffer, render to the backbuffer, swap the front and backbuffer pointers, then display the new frontbuffer). Xine and mplayer using the framebuffer backend are probably using similar setups. Tony ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: vesafb problem with 1GB Ram and possible fix 2003-03-29 21:39 ` Antonino Daplas @ 2003-03-30 23:16 ` Walt H 0 siblings, 0 replies; 5+ messages in thread From: Walt H @ 2003-03-30 23:16 UTC (permalink / raw) To: Antonino Daplas; +Cc: Linux Fbdev development list Antonino Daplas wrote: > True, vesafb does not support mode changes. However, the extra graphics > memory is useful for some framebuffer-based applications that implement > multi-buffering. DirectFB, for instance, takes advantage of this since > it uses a frontbuffer and a backbuffer (display the frontbuffer, render > to the backbuffer, swap the front and backbuffer pointers, then display > the new frontbuffer). Xine and mplayer using the framebuffer backend > are probably using similar setups. > > Tony > > Thanks for the info Tony. Sounds like my setup wouldn't be ideal for mass consumption. I don't use vesafb for anything other than the graphical console with large number of columns and rows, so it shouldn't affect me. I just needed a quick hack for a fix since I got a new MP system with lots 'o ram and no penguins :( It's all good now though.. -Walt ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-03-30 23:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <3E8329D2.7040909@comcast.net>
[not found] ` <20030327190222.GA4060@middle.of.nowhere>
[not found] ` <3E837ADD.9080209@comcast.net>
2003-03-28 20:59 ` vesafb problem with 1GB Ram and possible fix Walt H
2003-03-29 10:41 ` Antonino Daplas
2003-03-29 20:24 ` Walt H
2003-03-29 21:39 ` Antonino Daplas
2003-03-30 23:16 ` Walt H
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).