全部博文(584)
分类: LINUX
2010-07-07 15:36:25
Could somebody please tell me how to bring this info from fbset in a form
suitable for hw/kdrive/src/kmode.c ?
# fbset -i
mode "240x320-66"
# D: 5.882 MHz, H: 21.626 kHz, V: 65.733 Hz
geometry 240 320 240 320 16
timings 170000 1 26 2 5 5 2
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : s3c2410fb
Address : 0x33940000
Size : 153600
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 0
YWrapStep : 0
LineLength : 480
Accelerator : No
#
I've solved the problem. Here's how to:
1) As gene.sally said: Xfbdev failes in the 1. Place, if there's no
matching modeline in hw/kdrive/src/kmode.c - So I modified the 1. entry
(for IPAQ) to match my screen:
{ 240, 320, 66, 0,
0, 0, 0, KdSyncNegative,
0, 0, 0, KdSyncNegative,
},
The "66" is the Clock from "fbset -i", where it says 'mode "240x320-66"'.
Then I changed MONITOR_TIMING_DEFAULT to 0 some lines down:
#define MONITOR_TIMING_DEFAULT 0
2) The dbdev does not allow to change settings, so all ioctl with
FBIOPUT_VSCREENINFO fail. In fact it's just alled once for this display.
Comment out the lines 666 to 673 in hw/kdrive/fbdev/fbdev.c, where it says:
/* display it on the LCD **** COMMENT OUT THIS CODE */
/* k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var);
if (k < 0)
{
perror ("1: FBIOPUT_VSCREENINFO");
return FALSE;
}
*/
Now recompile and it works.