How to display overlay through divice "/dev/graphics/fb1" ,without using V4L2?

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

How to display overlay through divice "/dev/graphics/fb1" ,without using V4L2?

Jump to solution
3,700 Views
guolei
Contributor II

Divice "/dev/graphics/fb1"  is a overlay buffer of "/dev/graphics/fb0".

I want to display a overlay image using fb1 on screen(fb0).But no matter what i write to fb1, there is no display on screen(fb0).

How to solve this problem. This bother me many day.

Thanks!

Labels (3)
1 Solution
1,687 Views
gary_bisson
Senior Contributor III

Hi,

Did you make sure to unblank the overlay framebuffer?

# echo 0 > /sys/class/graphics/fb1/blank

Regards,

Gary

View solution in original post

0 Kudos
6 Replies
1,688 Views
gary_bisson
Senior Contributor III

Hi,

Did you make sure to unblank the overlay framebuffer?

# echo 0 > /sys/class/graphics/fb1/blank

Regards,

Gary

0 Kudos
1,687 Views
guolei
Contributor II

Thanks a lot .

I use ioctl api to unblank the overlay framebuffer and it works.

But why should I blank the buffer.

0 Kudos
1,687 Views
gary_bisson
Senior Contributor III

Well it is a choice made in the driver, by default overlays are blanked:

linux-imx6/mxc_ipuv3_fb.c at boundary-imx_3.14.28_1.0.0_ga · boundarydevices/linux-imx6 · GitHub

You can modify the driver to unblank it by default by I would personally just keep the ioctl call from the user-space.

Regards,

Gary

1,687 Views
guolei
Contributor II

Get it!And thanks a lot for your patience!

0 Kudos
1,687 Views
joanxie
NXP TechSupport
NXP TechSupport

how did you test? could you share the command? I tested on the mx6q board, it's successful, I use ./mxc_vpu_test.out to test on the fb0 and fb1

0 Kudos
1,687 Views
gary_bisson
Senior Contributor III

Hi,

Well I tried it using gstreamer and the gstreamer-imx plugin:

# echo 0 > /sys/class/graphics/fb1/blank

# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! matroskademux ! imxvpudec ! imxipuvideosink framebuffer=/dev/fb1

Also you can try writing to the framebuffer directly

# cat /dev/urandom > /dev/fb1

Regards,

Gary

0 Kudos