1 |
Hi, |
2 |
|
3 |
On Sun, 30 Oct 2005 17:48:24 +0000 |
4 |
Stroller <stroller@××××××××××××××××××.uk> wrote: |
5 |
|
6 |
> On Oct 30, 2005, at 11:18 am, Hans-Werner Hilse wrote: |
7 |
> > |
8 |
> > I'm running Gentoo on my picturebook happily since about 2 or 3 years |
9 |
> > now. Just ask if there are more problems. I can give you a kernel patch |
10 |
> > for the neomagic frame buffer driver to have it support the 480px |
11 |
> > display height... |
12 |
> |
13 |
> I really loved getting the widescreen framebuffer working - it was such |
14 |
> a buzz, so cool. That made for the ultimate in notebook usability and |
15 |
> portability. |
16 |
|
17 |
I'm copying it here verbatim. It's made against a 2.6.11.n kernel and |
18 |
may need a little polishing for newer versions, but it follows an easy |
19 |
path, I've just extended the existing "special format" for toshiba's |
20 |
libretto series: |
21 |
----snip--- |
22 |
--- neofb.c 2005-04-30 03:29:00.000000000 +0200 |
23 |
+++ neofb.c.new 2005-10-31 15:55:05.899735896 +0100 |
24 |
@@ -640,7 +640,7 @@ |
25 |
mode_ok = 1; |
26 |
break; |
27 |
case 1024: |
28 |
- if (var->yres == 768) |
29 |
+ if (var->yres == (par->libretto ? 480 : 768)) |
30 |
mode_ok = 1; |
31 |
break; |
32 |
case 800: |
33 |
@@ -1684,6 +1684,20 @@ |
34 |
.vmode = FB_VMODE_NONINTERLACED |
35 |
}; |
36 |
|
37 |
+static struct fb_videomode __devinitdata mode1024x480 = { |
38 |
+ .xres = 1024, |
39 |
+ .yres = 480, |
40 |
+ .pixclock = 21786, |
41 |
+ .left_margin = 160, |
42 |
+ .right_margin = 24, |
43 |
+ .upper_margin = 2, |
44 |
+ .lower_margin = 0, |
45 |
+ .hsync_len = 136, |
46 |
+ .vsync_len = 6, |
47 |
+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, |
48 |
+ .vmode = FB_VMODE_NONINTERLACED |
49 |
+}; |
50 |
+ |
51 |
static int __devinit neo_map_mmio(struct fb_info *info, |
52 |
struct pci_dev *dev) |
53 |
{ |
54 |
@@ -1836,10 +1850,15 @@ |
55 |
} |
56 |
break; |
57 |
case 0x02: |
58 |
- // 1024x768@60 |
59 |
par->NeoPanelWidth = 1024; |
60 |
- par->NeoPanelHeight = 768; |
61 |
- memcpy(info->monspecs.modedb, &vesa_modes[13], sizeof(struct fb_videomode)); |
62 |
+ if (par->libretto) { |
63 |
+ par->NeoPanelHeight = 480; |
64 |
+ memcpy(info->monspecs.modedb, &mode1024x480, sizeof(struct fb_videomode)); |
65 |
+ } else { |
66 |
+ // 1024x768@60 |
67 |
+ par->NeoPanelHeight = 768; |
68 |
+ memcpy(info->monspecs.modedb, &vesa_modes[13], sizeof(struct fb_videomode)); |
69 |
+ } |
70 |
break; |
71 |
case 0x03: |
72 |
/* 1280x1024@60 panel support needs to be added */ |
73 |
|
74 |
----snip--- |
75 |
Just use the "libretto" option (set to "1") and everything will work as |
76 |
expected. |
77 |
|
78 |
> |
79 |
> > BTW, @Stroller: it's a 10" widescreen, 6" would be a |
80 |
> > little too small... |
81 |
> |
82 |
> That's really 10" not 6'??? How come I don't have a girlfriend?? |
83 |
> ;P |
84 |
|
85 |
Well, size doesn't matter anyhow, does it ? ;-) |
86 |
|
87 |
-hwh |
88 |
-- |
89 |
gentoo-user@g.o mailing list |