Looks like your kernel isn't configured right.
Here is what works for me.
1) Compile a kernel with these options build into the kernel(or as modules).
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
2) Set the pixelformat for directfb,
echo pixelformat=ARGB >> /etc/directfbrc
3) Insert the sigma modules,
# insmod llad
# insmod em8xxx
# ./osdbuf_control -c1280x768 -Ftc:32bpp
# ./osdbuf_control -p
For 2.4 kernel
# insmod mambolfb
For 2.6 kernel
# insmod em8xxxfb
Hope it helps.
Eugene.
On Mon, Oct 08, 2007 at 01:04:51PM -0700, ppanigrahi wrote:
>
> Hi Eugene,
> Thanks for this post. it might help me in a while. however,
> I have been trying to set up dfb on 8634 and have following issues.
>
> When I load the directdb samples, I am gettting the following messages from
> the framebuffer driver.
>
> resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> Warning, mambolfb_setcolreg, unsupported resolution : 0
> fbcon_setup: No support for fontwidth 8
> fbcon_setup: type 0 (aux 0, depth 16) not supported
>
> I am using the following command the load the framebuffer driver.
>
> ./osdbuf_control -c -Ftck:16bpp_565
> OSD format : tck:16bpp_565
> videomemory=0x13969c00 videomemorysize=614400 palette=0x79000
> mode=640:480:16
> # ./osdbuf_control -p
> videomemory=0x13969c00 videomemorysize=614400 palette=0x79000
> mode=640:480:16
> # insmod
> /mnt/mrua_SMP8634_2.7.144.0_legacy_dev.mips/MRUA_src/mambolfb/mambolfb.o
> videomemory=
> 0x13969c00 videomemorysize=614400 palette=0x79000 mode=640:480:16
> Using
> /mnt/mrua_SMP8634_2.7.144.0_legacy_dev.mips/MRUA_src/mambolfb/mambolfb.o
>
> Is the parameters correct? I am using conventional TV as my output device.
>
>
>
> I think I am getting unsupported resolution error, because none of
> FBCON_HAS_CFB16, FBCON_HAS_CFB32,FBCON_HAS_CFB24 have been defined. I tried
> recompiling the kernel with these options enabled, but when I insert the
> mambolfb driver, the system produces oops message with a segmentation fault.
> So I moved back to the original kernel.
>
> Please have a look at the following piece of code.
>
> #ifdef FBCON_HAS_CFB16
> red >>= 3;
> green >>= 2;
> blue >>= 3;
> fbcon_cmap.cfb16[regno] = (u16) red << 11 |
> (u16) green << 5 | (u16) blue ;
> #endif
> break;
> case 24:
> #ifdef FBCON_HAS_CFB24
> fbcon_cmap.cfb24[regno] = 0xFF << 24 | red
> << 16 | green << 8 | blue ;
> #endif
> break;
> case 32:
> #ifdef FBCON_HAS_CFB32
> fbcon_cmap.cfb32[regno] = 0xFF << 24 | red
> << 16 | green << 8 | blue ;
> #endif
> break;
> default:
> printk(KERN_WARNING "Warning,
> mambolfb_setcolreg, unsupported resolution : %d\n",
> info->var.bits_per_pixel);
> }
>
> When none of them have been defined, there is no way of plotting a pixel. I
> think that is the reason why I am not able to get anything on the screen.
> But there should be some proper way of enabling FBCON_HAS_CFB32 or
> FBCON_HAS_CFB16 option in the kernel. I looked at the documents which I
> have. but I could not find any information related to this.
>
>
>
> When I insmod the driver, I am getting the following crash. This is when I
> enable FBCON_HAS_CFB16 or FBCON_HAS_CFB32. If I dont enable these, then the
> setcolreg function wont be able to plot a pixel.
>
> mode = 640:480:16
> mode = 640x480 16 bpp
> locked 1 regions, starting from region 328637440 at offset 0x00000000
> OSD videomemory=0x13969c00 (614400 bytes)
> Line 874
> Line 780
> Line 783
> Line 795
> mambolfb_set_var, con = -1
> Line length = 1280 (640x16)
> registering fb
> con 0 currcon 0
> Unable to handle kernel paging request at virtual address 139e1c00, epc ==
> 901a1ed0, ra == 901
> a1f50
> Oops in fault.c::do_page_fault, line 206:
> $0 : 00000000 90450000 00000000 00000000 00000000 00000000 902d9db9 902da9a8
> $8 : 139e1c00 0000000e 00000063 ffffffff 00000008 00000800 00000200 00000000
> $16: 00000000 00000000 9044fa30 00000500 0000000f 915b8f02 139e1c00 ffffffff
> $24: 00000000 901bd918 91b3e000 91b3f9b8 902da9a8 901a1f50
> Hi : 00000000
> Lo : 00000630
> epc : 901a1ed0 Tainted: P
> Status: 10001c03
> Cause : 5080800c
> PrId : 00019068
> Process insmod (pid: 62, stackpage=91b3e000)
> Stack: 90440000 ffffffff 9013d908 0101a8c0 00000001 9043ea04 00000010
> 00000000 904266f8 90440000 00000000 90440000 9043ea04 9019d568 90776480
> 9043ea04 00000000 00000011 00000018 00000000 0000000a 9013a4bc 91b3fb30
> 00000000 90222c98 91be6058 00000000 00000000 00000010 00000000 9043ea04
> 00000000 902ad280 0000136f 90425378 0000136f 00001380 90425378 fffffec5
> 90430000 ...
> Call Trace: [<9013d908>] [<9019d568>] [<9013a4bc>] [<90222c98>]
> [<900360d0>]
> [<900364e8>] [<90036820>] [<d0631ad7>] [<90223938>] [<d063209c>]
> [<d063209c>]
> [<d0630668>] [<d0630fd0>] [<9025e650>] [<9005bda4>] [<901a090c>]
> [<9013d908>]
> [<9025e650>] [<9005c324>] [<901376e8>] [<90137a38>] [<90058414>]
> [<9013837c>]
> [<902247d0>] [<900e5e7c>] [<900e5e4c>] [<9025e650>] [<9005bda4>]
> [<900e6024>]
> [<9025e650>] [<9005c324>] [<90057280>] [<9013a3d0>] [<9013a3d0>]
> [<90242e30>]
> [<9025e650>] [<9019c93c>] [<d063209c>] [<90242e30>] [<9025e650>] ...
>
> Code: 00912024 00902026 30a3000c <ad040000> 00471021 00675021 8c430000
> 30a50003 00052880
>
> note: insmod[62] exited with preempt_count 1
>
>
>
> Eugene Everson-2 wrote:
> >
> >
> > I've a had hard time to get dfb to run on sigma 8634/8635 boards with
> > their
> > mrua libraries above 142. Hope someone will find this usefull.
> >
> > The alignment have to be changed like this,
> >
> > systems/fbdev/fbdev.c, in system_initialize function under where the
> > memory
> > gets mapped,
> >
> > /* Map the framebuffer */
> > dfb_fbdev->framebuffer_base = mmap( NULL, shared->fix.smem_len,
> > PROT_READ | PROT_WRITE,
> > MAP_SHARED,
> > dfb_fbdev->fd, 0 );
> >
> > Add this to fix the allignment(only needed for standalone boards),
> >
> > printf("Base memory: %x\n", dfb_fbdev->framebuffer_base);
> >
> > #define PAGE_SIZE (4096)
> >
> > if (shared->fix.smem_start & (PAGE_SIZE-1)) {
> > dfb_fbdev->framebuffer_base += (shared->fix.smem_start &
> > (PAGE_SIZE-1));
> > fprintf(stderr, "Fix alignment 0x%08lx -> %p.\n",
> > shared->fix.smem_start, dfb_fbdev->framebuffer_base);
> > }
> >
> > _______________________________________________
> > directfb-dev mailing list
> > [email protected]
> > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/sigma-8634-8635-fix-tf4199088.html#a13102510
> Sent from the DirectFB Dev mailing list archive at Nabble.com.
>
>
> _______________________________________________
> directfb-dev mailing list
> [email protected]
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
>
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev