Hi,

On Sun, 30 Oct 2005 17:48:24 +0000
Stroller <[EMAIL PROTECTED]> wrote:

> On Oct 30, 2005, at 11:18 am, Hans-Werner Hilse wrote:
> >
> > I'm running Gentoo on my picturebook happily since about 2 or 3 years
> > now. Just ask if there are more problems. I can give you a kernel patch
> > for the neomagic frame buffer driver to have it support the 480px
> > display height...
> 
> I really loved getting the widescreen framebuffer working - it was such 
> a buzz, so cool. That made for the ultimate in notebook usability and 
> portability.

I'm copying it here verbatim. It's made against a 2.6.11.n kernel and
may need a little polishing for newer versions, but it follows an easy
path, I've just extended the existing "special format" for toshiba's
libretto series:
----snip---
--- neofb.c     2005-04-30 03:29:00.000000000 +0200
+++ neofb.c.new 2005-10-31 15:55:05.899735896 +0100
@@ -640,7 +640,7 @@
                                mode_ok = 1;
                        break;
                case 1024:
-                       if (var->yres == 768)
+                       if (var->yres == (par->libretto ? 480 : 768))
                                mode_ok = 1;
                        break;
                case 800:
@@ -1684,6 +1684,20 @@
        .vmode          = FB_VMODE_NONINTERLACED
 };
 
+static struct fb_videomode __devinitdata mode1024x480 = {
+       .xres           = 1024,
+       .yres           = 480,
+       .pixclock       = 21786,
+       .left_margin    = 160,
+       .right_margin   = 24,
+       .upper_margin   = 2,
+       .lower_margin   = 0,
+       .hsync_len      = 136,
+       .vsync_len      = 6,
+       .sync           = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+       .vmode          = FB_VMODE_NONINTERLACED
+};
+
 static int __devinit neo_map_mmio(struct fb_info *info,
                                  struct pci_dev *dev)
 {
@@ -1836,10 +1850,15 @@
                }
                break;
        case 0x02:
-               // [EMAIL PROTECTED]
                par->NeoPanelWidth = 1024;
-               par->NeoPanelHeight = 768;
-               memcpy(info->monspecs.modedb, &vesa_modes[13], sizeof(struct 
fb_videomode));
+               if (par->libretto) {
+                       par->NeoPanelHeight = 480;
+                       memcpy(info->monspecs.modedb, &mode1024x480, 
sizeof(struct fb_videomode));
+               } else {
+                       // [EMAIL PROTECTED]
+                       par->NeoPanelHeight = 768;
+                       memcpy(info->monspecs.modedb, &vesa_modes[13], 
sizeof(struct fb_videomode));
+               }
                break;
        case 0x03:
                /* [EMAIL PROTECTED] panel support needs to be added */

----snip---
Just use the "libretto" option (set to "1") and everything will work as
expected.

> 
> > BTW, @Stroller: it's a 10" widescreen, 6" would be a
> > little too small...
> 
> That's really 10" not 6'??? How come I don't have a girlfriend??
> ;P

Well, size doesn't matter anyhow, does it ? ;-)

-hwh
-- 
gentoo-user@gentoo.org mailing list

Reply via email to