Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1630814
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: 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.





阅读(1225) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~