IMX6 多屏幕显示问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/changqing1990/article/details/80284197

1.  运行Qt程序

1.1 两个屏幕运行不同Qt 程序:

    若Qt5运行于eglfs平台,与屏幕设置有关的环境变量为QT_QPA_EGLFS_FB,在LVDS 上& HDMI 上显示:       

 export QT_QPA_EGLFS_FB=/dev/fb0
 ./QtDemo1 &

 export QT_QPA_EGLFS_FB=/dev/fb2 /
 ./QtDemo2 

2. 播放视频:

控制视频在不同屏幕上播放或这同时在两个屏幕上播放需要用到overlaysink插件(系统已经安装),配置overlaysink的文件为/usr/share/imx_6q_display_config , 配置格式如下:

  [Display NAME]   必须配置,指明显示名称
  device=
  必须配置,指明设备文件,如/dev/video17(默认为LVDS/RGB)或/dev/video18(默认为HDMI)
  fmt=
  可选配置,设置显示格式,如RGBP、RGB565等,默认为RGBP
  width=
  height=
  可选配置,设置显示分辨率
  alpha=
  可选配置,设置alpha(透明)值,默认0
  color_key=

  可选配置,颜色配置,默认关闭

  具体配置示例如下:
  # LVDS display

  [master]

  device = /dev/video17

  fmt = RGBP

  width = 1024

  height = 768

  alpha = 0


  # HDMI display

  [slave]

  device = /dev/video18

  fmt = RGBP

  width = 1920

  height = 1080


2.1  不同屏幕(LVDS+HDMI)上同时播放不同视频:

gst-launch-1.0 playbin uri=file:///mnt/demo1.mkv playbin uri=file:///mnt/demo2.mp4 video-sink=”overlaysink display-master=false display-slave=true”

2.2  不同屏幕上播放相同视频

gst-launch-1.0 playbin uri=file:///mnt/demo1.avi video-sink=”overlaysink display-master=true display-slave=true”

2.3  一个屏幕播放多个视频

gst-launch-1.0 playbin uri=file://$FILE1 video-sink=”overlaysink overlay-width=960 overlay-height=540”  playbin uri=file://$FILE2 flags=0x41 video-sink=”overlaysink overlay-left=960 overlay-width=960 overlay-height=540” playbin uri=file://$FILE3 flags=0x41 video-sink=”overlaysink overlay-top=540 overlay-width=960 overlay-height=540” playbin uri=file://$FILE4 flags=0x41 video-sink=”overlaysink overlay-left=960 overlay-top=540 overlay-width=960 overlay-height=540”

3 . wayland 多屏幕同显:

        X11 当前没有 办法支持多屏幕同显;

        经过长时间探索, 终于发现wayland 下可以实现多屏幕的clone:

        只需要将wayland 启动脚本中的启动命令更改成:

weston --tty=1 --device=/dev/fb0,/dev/fb2 --use-g2d=1 --clone-mode --backend=fbdev-backend.so  &
        如此, 便实现了多屏幕的clone 模式。

        

猜你喜欢

转载自blog.csdn.net/changqing1990/article/details/80284197