i.MX6: [Vivante,DirectFB] Capability issue in gfxdriver with H/W-accelerated?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6: [Vivante,DirectFB] Capability issue in gfxdriver with H/W-accelerated?

Jump to solution
9,450 Views
castel
Contributor III

Hello,

     we're testing some DirectFB application on i.MX6, but lots to be FAIL by

          "(!) Core/SurfBuffer: Buffer allocation failed! --> Not supported!"

     sum up the kind of PASS/FAIL of them, it seems that all involves "CreateWindow()" will be FAIL, such as df_bltload, df_window & QTEmbedded.

    

     we could add "--dfb:no-hardware" to solve the issue, but consequently we loss all the H/W acceleration by Vivante's GPU.

     is it possible to fix the "Not supported" error but no giving up the GPU acceleration?

thanks.

1 Solution
4,372 Views
ChucoChe
NXP Employee
NXP Employee

In order to make the buffer allocation error go you need to increase the size of the frame buffer.

You can use fbset if your fb is 1024x768x32 you could try by setting it to "fbset -fb /dev/fbo -g 1024 768 1024 1536 32" or "fbset -fb /dev/fbo -g 1024 768 1024 2304 32".

Michel

View solution in original post

0 Kudos
Reply
15 Replies
4,372 Views
ChucoChe
NXP Employee
NXP Employee

Hello,

Are you testing with our latest BSP? I have seen some allocation issues because of the size of the direcfFB surface. That can be remedied by setting the mode parameter in the directfbrc file to the size of the directFB surface.

Man page of DIRECTFBRC

I'll consult the rest of the team and reply with more info next week.

Michel

0 Kudos
Reply
4,372 Views
castel
Contributor III

Yes, the "L3.0.35_1.1.0" is.

the error "

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!" is crazy when we run the "df_window" example.

BTW, is it possible to enable the "multi-core" at this DFB v1.4.0 with gfxdriver? I've experienced the following:

               1. get linux-fusion(v8/9) to produce kernel module.

               2. to re-build DFB 1.4.0 with "--enable-multi"

               3. to re-build DFB example & QT QPA/QWS directfb plugin

    

the first example is workable to render on screen, but the second one is crashed by the mmap in fusion, I can't clear if this result relate to the gfxdriver H/W-related, or innocent mmap address issue from FUISON IPC yet.

thanks.

0 Kudos
Reply
4,373 Views
ChucoChe
NXP Employee
NXP Employee

In order to make the buffer allocation error go you need to increase the size of the frame buffer.

You can use fbset if your fb is 1024x768x32 you could try by setting it to "fbset -fb /dev/fbo -g 1024 768 1024 1536 32" or "fbset -fb /dev/fbo -g 1024 768 1024 2304 32".

Michel

0 Kudos
Reply
4,372 Views
xuqianghong
Contributor II

You can use fbset if your fb is 1024x768x32 you could try by setting it to "fbset -fb /dev/fbo -g 1024 768 1024 1536 16" or "fbset -fb /dev/fbo -g 1024 768 1024 2304 32".

I do follow your advice and set ,but it still cannot work.

0 Kudos
Reply
4,372 Views
ChucoChe
NXP Employee
NXP Employee

Do you still see the allocation error?

Michel

0 Kudos
Reply
4,372 Views
xuqianghong
Contributor II

Yes, I still see the error when I run df_window after I set fbset -fb /dev/fbo -g 1024 768 1024 1536 16 or fbset -fb /dev/fbo -g 1024 768 1024 2304 16

0 Kudos
Reply
4,372 Views
ChucoChe
NXP Employee
NXP Employee

Could you tell me your BSP versions and steps you took to run df_window?

Also, Could you paste the whole log when running df_window?

Michel

0 Kudos
Reply
4,372 Views
xuqianghong
Contributor II

1.start log:

U-Boot 2009.08 (Aug 16 2013 - 12:25:07)

CPU: Freescale i.MX6 family TO1.1 at 792 MHz

Thermal sensor with ratio = 188

Temperature:   30 C, calibration data 0x5a800000

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 198000000Hz

emi_slow clock: 99000000Hz

ddr clock     : 396000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 24000000Hz

Board: i.MX6DL/Solo-SABRESD: unknown-board Board: 0x61011 [POR ]

Boot Device: SD

I2C:   ready

DRAM:   1 GB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3

In:    serial

Out:   serial

Err:   serial

Found PFUZE100! deviceid=10,revid=11

Net:   got MAC address from IIM: 00:04:9f:02:68:5e

FEC0 [PRIME]

Hit any key to stop autoboot:  0

mmc2 is current device

MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-2666-gbdde708

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3866444 Bytes =  3.7 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Linux version 3.0.35-2666-gbdde708 (r65388@shlinux3) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #1 SMP PREEMPT Fri Aug 16 10:43:44 CST 2013

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board

Ignoring unrecognised tag 0x54410008

Memory policy: ECC disabled, Data cache writealloc

CPU identified as i.MX6DL/SOLO, silicon rev 1.1

PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 194560

Kernel command line: console=ttymxc0,115200 jtag=on ip=172.26.9.28 rootfstype=ext4 root=/dev/mmcblk1p1 rootwait video=mxcfb0

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Memory: 512MB 256MB = 768MB total

Memory: 765828k/765828k available, 282748k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)

    vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .init : 0x80008000 - 0x8003c000   ( 208 kB)

      .text : 0x8003c000 - 0x80a8f8f4   (10575 kB)

      .data : 0x80a90000 - 0x80af3e40   ( 400 kB)

       .bss : 0x80af3e64 - 0x80b41d8c   ( 312 kB)

SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Preemptible hierarchical RCU implementation.

NR_IRQS:624

MXC GPIO hardware

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

Set periph_clk's parent to pll2_pfd_400M!

arm_max_freq=800MHz

MXC_Early serial console at MMIO 0x2020000 (options '115200')

bootconsole [ttymxc0] enabled

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

CPU1: Booted secondary processor

Brought up 2 CPUs

SMP: Total of 2 processors activated (3162.11 BogoMIPS).

print_constraints: dummy:

NET: Registered protocol family 16

print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal

print_constraints: vddcore: 725 <--> 1300 mV at 1100 mV fast normal

print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal

print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal

print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal

print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal

hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.

hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.

hw-breakpoint: maximum watchpoint size is 4 bytes.

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache size: 524288 B

bio: create slab <bio-0> at 0

mxs-dma mxs-dma-apbh: initialized

print_constraints: SPKVDD: 4200 mV

print_constraints: vmmc: 3300 mV

SCSI subsystem initialized

spi_imx imx6q-ecspi.0: probed

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Freescale USB OTG Driver loaded, $Revision: 1.55 $

mc_pfuze 1-0008: ID: 0,Full lay: 1 ,Metal lay: 1

mc_pfuze 1-0008: FAB: 0 ,FIN: 0

print_constraints: PFUZE100_SW1A: 300 <--> 1875 mV at 1300 mV

print_constraints: PFUZE100_SW1B: 300 <--> 1875 mV at 300 mV

print_constraints: PFUZE100_SW1C: 300 <--> 1875 mV at 1300 mV

print_constraints: PFUZE100_SW2: 800 <--> 3950 mV at 3300 mV

print_constraints: PFUZE100_SW3A: 400 <--> 1975 mV at 1500 mV

print_constraints: PFUZE100_SW3B: 400 <--> 1975 mV at 1500 mV

print_constraints: PFUZE100_SW4: 800 <--> 3950 mV at 3150 mV

print_constraints: PFUZE100_SWBST: 5000 <--> 5150 mV at 5000 mV

print_constraints: PFUZE100_VSNVS: 1200 <--> 3000 mV at 1800 mV

print_constraints: PFUZE100_VREFDDR: at 750 mV

print_constraints: PFUZE100_VGEN1: 800 <--> 1550 mV at 1500 mV

print_constraints: PFUZE100_VGEN2: 800 <--> 1550 mV at 1500 mV

print_constraints: PFUZE100_VGEN3: 1800 <--> 3300 mV at 2800 mV

print_constraints: PFUZE100_VGEN4: 1800 <--> 3300 mV at 1800 mV

print_constraints: PFUZE100_VGEN5: 1800 <--> 3300 mV at 3000 mV

print_constraints: PFUZE100_VGEN6: 1800 <--> 3300 mV at 3300 mV

imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Version 1.0.24.

Bluetooth: Core ver 2.16

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

Bluetooth: L2CAP socket layer initialized

Bluetooth: SCO socket layer initialized

cfg80211: Calling CRDA to update world regulatory domain

max17135 2-0048: PMIC MAX17135 for eInk display

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

IP route cache hash table entries: 32768 (order: 5, 131072 bytes)

TCP established hash table entries: 131072 (order: 8, 1048576 bytes)

TCP bind hash table entries: 65536 (order: 7, 786432 bytes)

TCP: Hash tables configured (established 131072 bind 65536)

TCP reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

PMU: registered new PMU device of type 0

Static Power Management for Freescale i.MX6

wait mode is enabled for i.MX6

cpaddr = c0820000 suspend_iram_base=c08bc000

PM driver module loaded

IMX usb wakeup probe

add wake up source irq 75

IMX usb wakeup probe

cpu regulator mode:ldo_bypass

_regulator_get: get() with no identifier

mx6_cpu_regulator_init: failed to get pu regulator

i.MXC CPU frequency driver

JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.

msgmni has been set to 1495

alg: No test for stdrng (krng)

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

mxc_mipi_dsi mxc_mipi_dsi: i.MX MIPI DSI driver probed

MIPI DSI driver module loaded

mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb

_regulator_get: get() with no identifier

imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

Console: switching to colour frame buffer device 128x48

mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb

imx-sdma imx-sdma: loaded firmware 1.1

imx-sdma imx-sdma: initialized

Serial: IMX driver

imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX

imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

console [ttymxc0] enabled, bootconsole disabled

console [ttymxc0] enabled, bootconsole disabled

loop: module loaded

m25p80 spi0.0: found m25p32, expected sst25vf016b

m25p80 spi0.0: m25p32 (4096 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x000000000000-0x000000100000 : "bootloader"

0x000000100000-0x000000400000 : "kernel"

GPMI NAND driver registered. (IMX)

vcan: Virtual CAN interface driver

CAN device driver interface

flexcan netdevice driver

FEC Ethernet Driver

fec_enet_mii_bus: probed

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1

fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000

fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

add wake up source irq 72

fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2

fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200

fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

ARC USBOTG Device Controller driver (1 August 2005)

mousedev: PS/2 mouse device common for all mice

input: gpio-keys as /devices/platform/gpio-keys/input/input0

input: max11801_ts as /devices/platform/imx-i2c.1/i2c-1/1-0048/input/input1

egalax_ts 1-0004: egalax_ts: failed to read firmware version

egalax_ts: probe of 1-0004 failed with error -5

input: eGalax Touch Screen as /devices/platform/imx-i2c.2/i2c-2/2-0004/input/input2

elan - Read Hello Packet Failed

elan-touch: probe of 2-0010 failed with error -22

input: isl29023 light sensor as /devices/virtual/input/input3

isl29023 2-0044: driver version 1.0 enabled

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0

i2c /dev entries driver

Linux video capture interface: v2.00

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18

mag3110 2-000e: check mag3110 chip ID

input: mag3110 as /devices/virtual/input/input4

mag3110 2-000e: mag3110 is probed

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

input: mma845x as /devices/virtual/input/input5

imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)

Bluetooth: Virtual HCI driver ver 1.3

Bluetooth: HCI UART driver ver 2.2

Bluetooth: HCIATH3K protocol initialized

Bluetooth: Generic Bluetooth USB driver ver 0.6

usbcore: registered new interface driver btusb

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

mmc0: SDHCI controller on platform [sdhci-esdhc-imx.3] using ADMA

mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA

mmc2: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA

mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

VPU initialized

mxc_asrc registered

Galcore version 4.6.9.6622

Thermal calibration data is 0x5a800000

Thermal sensor with ratio = 188

Anatop Thermal registered as thermal_zone0

anatop_thermal_probe: default cooling device is cpufreq!

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

usbcore: registered new interface driver snd-usb-audio

mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio

Cirrus Logic CS42888 ALSA SoC Codec Driver

i2c-core: driver [cs42888] using legacy suspend method

i2c-core: driver [cs42888] using legacy resume method

imx-hdmi-soc-dai imx-hdmi-soc-dai.0: Failed: Load HDMI-video first.

mmc0: new high speed DDR MMC card at address 0001

mmcblk0: mmc0:0001 SEM08G 7.39 GiB

mmcblk0boot0: mmc0:0001 SEM08G partition 1 2.00 MiB

mmcblk0boot1: mmc0:0001 SEM08G partition 2 2.00 MiB

mmcblk0: unknown partition table

mmcblk0boot1: unknown partition table

mmcblk0boot0: unknown partition table

wm8962 0-001a: customer id 0 revision D

input: WM8962 Beep Generator as /devices/platform/imx-i2c.0/i2c-0/0-001a/input/input6

asoc: wm8962 <-> imx-ssi.1 mapping ok

input: wm8962-audio DMIC as /devices/platform/soc-audio.5/sound/card0/input7

input: wm8962-audio Ext Spk as /devices/platform/soc-audio.5/sound/card0/input8

imx_3stack asoc driver

Initialize HDMI-audio failed. Load HDMI-video first!

ALSA device list:

  #0: wm8962-audio

NET: Registered protocol family 26

TCP cubic registered

NET: Registered protocol family 17

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

can: broadcast manager protocol (rev 20090105 t)

Bluetooth: RFCOMM TTY layer initialized

Bluetooth: RFCOMM socket layer initialized

Bluetooth: RFCOMM ver 1.11

Bluetooth: BNEP (Ethernet Emulation) ver 1.3

Bluetooth: BNEP filters: protocol multicast

Bluetooth: HIDP (Human Interface Emulation) ver 1.2

lib80211: common routines for IEEE802.11 drivers

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

Bus freq driver module loaded

Bus freq driver Enabled

mxc_dvfs_core_probe

DVFS driver module loaded

regulator_init_complete: PFUZE100_VGEN6: incomplete constraints, leaving on

regulator_init_complete: PFUZE100_VGEN3: incomplete constraints, leaving on

regulator_init_complete: PFUZE100_VGEN2: incomplete constraints, leaving on

regulator_init_complete: PFUZE100_VGEN1: incomplete constraints, leaving on

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:34:52 UTC (2092)

eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)

mmc2: new high speed SDHC card at address b368

mmcblk1: mmc2:b368 SDC   3.74 GiB

mmcblk1: p1

IP-Config: Guessing netmask 255.255.0.0

IP-Config: Complete:

     device=eth0, addr=172.26.9.28, mask=255.255.0.0, gw=255.255.255.255,

     host=172.26.9.28, domain=, nis-domain=(none),

     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=

EXT4-fs (mmcblk1p1): recovery complete

EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)

VFS: Mounted root (ext4 filesystem) on device 179:25.

Freeing init memory: 208K

starting pid 1470, tty '': '/etc/rc.d/rcS'

Mounting /proc and /sys

Starting the hotplug events dispatcher udevd

udevd (1479): /proc/1479/oom_adj is deprecated, please use /proc/1479/oom_score_adj instead.

Synthesizing initial hotplug events

Setting the hostname to freescale

Mounting filesystems

EXT4-fs (mmcblk1p1): re-mounted. Opts: (null)

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

cp: write error: No space left on device

mount: mounting usbfs on /proc/bus/usb failed: No such file or directory

Starting syslogd and klogd

starting pid 2730, tty '': '/etc/rc.d/rc_gpu.S'

starting pid 2738, tty '': '/etc/rc.d/rc_mxc.S'

arm-none-linux-gnueabi-gcc (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) 4.6.2 20110630 (prerelease)

root filesystem built on Thu, 19 Jun 2014 17:07:04 +0800

Freescale Semiconductor, Inc.

2.before setting

root@freescale /usr/bin$ fbset

mode "1024x768-60"

        # D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz

        geometry 1024 768 1024 768 16

        timings 15385 220 40 21 7 60 10

        accel false

        rgba 5/11,6/5,5/0,0/0

endmode

3.after setting:

root@freescale /usr/bin$ fbset -fb /dev/fb0 -g 1024 768 1024 2304 16

root@freescale /usr/bin$ fbset

mode "1024x768-60"

        # D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz

        geometry 1024 768 1024 2304 16

        timings 15385 220 40 21 7 60 10

        accel false

        rgba 5/11,6/5,5/0,0/0

endmode

4.the log of run df_window:

root@freescale /usr/bin$ ./df_window

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.0 |~~~~~~~~~~~~~~~~~~~~~~~~~~

        (c) 2001-2009  The world wide DirectFB Open Source Community

        (c) 2000-2004  Convergence (integrated media) GmbH

      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2014-07-01 02:16) [ DEBUG ]

(*) Direct/Memcpy: Using libc memcpy()

(*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>...

(*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/FBDev: Found 'DISP3 BG - DI1' (ID 0) with frame buffer at 0x18800000, 4608k (MMIO 0x00000000, 0k)

(*) Direct/Thread: Started 'Keyboard Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: Keyboard 0.9 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: gpio-keys (1) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: max11801_ts (2) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: eGalax Touch Screen (3) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: isl29023 light sensor (4) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: mag3110 (5) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: mma845x (6) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: WM8962 Beep Generator (7) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: wm8962-audio DMIC (8) 0.1 (directfb.org)

(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: wm8962-audio Ext Spk (9) 0.1 (directfb.org)

(*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: IMPS/2 Mouse (1) 1.0 (directfb.org)

(*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...

(*) DirectFB/Input: IMPS/2 Mouse (2) 1.0 (directfb.org)

(*) Using the default feature settings.

(*) DirectFB/Graphics: Vivante unknown chip model 1.0 (Vivante)

(*) DirectFB/Core/WM: Default 0.3 (directfb.org)

(*) FBDev/Mode: Setting 1024x768 RGB16

(*) FBDev/Mode: Switched to 1024x768 (virtual 1024x1536) at 16 bit (RGB16), pitch 2048

(*) FBDev/Surface: Allocated 1024x768 16 bit RGB16 buffer (index 0) at offset 0 and pitch 2048.

(*) FBDev/Surface: Allocated 1024x768 16 bit RGB16 buffer (index 1) at offset 1572864 and pitch 2048.

(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.

(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

:smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!

I found that this board do not support H/W acceleration.

is this the key reason?

if I run it with "--dfb:no-hardware" is OK.

0 Kudos
Reply
4,372 Views
ChucoChe
NXP Employee
NXP Employee

Thank you,

Are you using Yocto?

Michel

0 Kudos
Reply
4,372 Views
xuqianghong
Contributor II

Hi Michel :

Thanks for you following this issuse.

I useLTIB.

I followed the doc which download from Freescale's website,named "Setting_Up_LTIB_host.pdf" and "i.MX_6Solo6DualLite_SABRE-SDP_Linux_User's_Guide.pdf"

0 Kudos
Reply
4,377 Views
ChucoChe
NXP Employee
NXP Employee

Hi,

Sorry, which board are you using?

If you use imx6SL there is no 3D GPU and it will not able to do accelerated DirectFB.

From your log looks like you are using a imx6S or imx6DL, please confirm if that is the case.

Michel

0 Kudos
Reply
4,377 Views
xuqianghong
Contributor II

Hi Michel :

Thanks for you follow this issue.

I use the i.MX6DL.

on the board there is the label: MCIMX6DL-SDP.

that all.

0 Kudos
Reply
4,377 Views
ChucoChe
NXP Employee
NXP Employee

Could you try fbset -fb /dev/fbo -g 1024 768 1024 3072 16?

Just to make sure increasing FBDEV pool doesn't helps.

Michel

0 Kudos
Reply
4,377 Views
xuqianghong
Contributor II

Yes, I try it,surprising it works.I should have try it early time.

root@freescale /usr/bin$ fbset -fb /dev/fb0 -g 1024 768 1024 3072 16

root@freescale /usr/bin$ fbset

mode "1024x768-60"

        # D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz

        geometry 1024 768 1024 3072 16

        timings 15385 220 40 21 7 60 10

        accel false

        rgba 5/11,6/5,5/0,0/0

endmode

It works now,there is no this kind of log out put anymore.

":smileyalert: Core/SurfBuffer: Buffer allocation failed!

    --> Not supported!"

Thanks Michel very much.It is a very big help.

4,377 Views
kamillulko
Contributor III

We are experiencing same issues with our SABRE Lite board. Because of this we cannot have working DirectFB/Qt display plugin. Other than that df_knuckles does not display properly for example (image blinks, this does not happen with non hw-accelerated DirectFB).

Some update from Freescale/Vivante would be appreciated. I guess there is no chance to obtain the source code for DirecfFB hw accelerated gfxdriver? This driver seems to be failing with any DirectFB version other than 1.4.0.

0 Kudos
Reply