We try to play 4k 60fps video on 4K monitor using GL render and imxvideoconvert_g2d but it is
blinking on left haft screen then hangs.
Does imx8 support for playing 4K 60fps video with GL render and imxvideoconvert_g2d?
Could you please check our steps and logs file then let me know if have any ideas about it?
Hardware: Apalis i.MX8QM
Software:
Linux Reference Multimedia
Downstream SoC vendor based kernel
Wayland/XWayland graphics back-end included
5.6.0+build.18
Quarterly release (2022-03-30 | 5.6.0+build.18 )
Run command on step 3 several times
(normally 1 time without weston debug, 3 times with enable weston debug)
Expectation: 4K video play smoothly
Actual:
On step3, left half of screen is blinking
On step4, left half of screen is blinking then it becomes black and video in right half play slowly
Then entire screen becomes black
After that right half of screen is white and left half is black
Even restart weston, screen still displays with black left half and white right half
Logs:
weston debug log:
[repaint] trying planes-only build state
[view] evaluating view 0xaaaad2af8100 for output HDMI-A-1 (0)
[view] not assigning view 0xaaaad2af8100 to plane (no buffer available)
[view] failing state generation: placing view 0xaaaad2af8100 to renderer not allowed
...
[atomic] drmModeAtomicCommit
[overlay] not placing view 0xaaaad2b0cf00 on overlay 39 in mixed mode: kernel test failed
The half left black screen and half right white screen occurs every time.
Sometimes screen has blinking in the left side as https://i.imgur.com/69zWDH2.mp4
Do you have any suggestions to fix it ?
Our target is creating an application which displays 4k video and some other GUI components. Should we use GL or g2d render?
If using g2d this issue does not happen but the frame rate is lower. Is anyway to improve performance incase using g2d?
imxvideoconvert_g2d makes use of the HW accelaration (VPU) so you should definitely stick with g2d, more so if you mentioned the issue doesn’t happen. As for the lower FPS count, you can try with sync=false and see if this is satisfactory for you.
BTW, the origin of the issue with GL could be because the Amphion VPU IP included in the i.MX8QM uses a specific tiling format that requires the imxvideoconvert_g2d plugin.