[meta-freescale] IPU alpha blending problems on mx6
olivier.bourgois at axiontech.ca
Tue Jul 4 07:33:08 PDT 2017
We are facing a similar problem but with the imx6quad plus. Very similar use case, overlaying video onto a QT5 app with gstreamer on second framebuffer but with imxeglvivsink and color keying to make the video rectangle overlay. We are using a split-mode LVDS link. We get the same IPU_INT_STAT_5 and IPU_INT_STAT_10 followed by screen freezing.
What I noticed is that if I reduce the size of the second frame buffer to around 320x200 with fbset (just for a test), the system seems to be able to cope with the small video overlay. I am also capable of displaying two alpha blended full screen still images by "cat image > /dev/fbx" So it does look like there is a bandwidth bottleneck somewhere in the video pipeline. Note that we have the same board also fitted with a standard imx6quad (not plus) and in this case things were working but somewhat lagging.
It almost seems to me that there are use-cases where the ipu can't cope with two 1080p streams at the same time (one for each frame buffer). We are also still looking for a solution.
In our case we have only the 60Hz LVDS output, I wanted to try lowering to 30Hz to see if the problem goes away, but my TFT does not support it. I have no HDMI port on my board. What refresh rate are you using on HDMI port? If it is 60Hz, can you try modifying your video mode to 30Hz to see if it helps in your use-case? This might confirm that we are facing some kind of video pipeline bandwidth issue at the IPU. Alternately or in parallel, does a lower resolution say 720p give you the same issue?
De : meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] De la part de Andrea Picaro
Envoyé : 3 juillet 2017 06:02
À : meta-freescale at yoctoproject.org
Objet : [meta-freescale] IPU alpha blending problems on mx6
We use an imx6 quad processor to run a Qt application on fb0, then application runs gstreamer pipeline to play video on overlay buffer fb1. Our system was previously based on kernel 3.0.35 and using mfw_isink it worked perfectly up to 1080p. Now we are porting on kernel 4.1.15 with Yocto Morty branch. Qt5.7 app on fb0 and play video through gstreamer on fb1 using imxg2dvideosink.
We use alpha blending with separate alpha buffers to uncover only the video rectangle on fb1.
In this configuration system is unstable with hdmi turning off and on repeatedly giving errors:
[ 1568.833307] imx-ipuv3 2400000.ipu: warning: wait for bg sync eof timeout
[ 1572.143078] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x88800000
[ 1572.143089] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
after a while screen blanks definitivelly and i have to reboot.
It seems to strictly depend on local alpha blending since i can replicate the issue also by running
/unit_tests/autorun-ipu. If i use glabal alpha the problem do not appear and i can run full screen application and video with 50% blending with no problem so it doesn't seem to be a dma shortage.
Already tryed arg dmfc=3.
Could you help me?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the meta-freescale