Hello, I also have an issue regarding HDMI.
We use efusA9R2 Quad and Yocto. Besides the Primary screen (DISPLAY_LVDS0) our application shall support a second optional screen connected via HDMI. The second screen shall mirror the first one.
- We patched efusa9r2q.dts by setting
- +#define CONFIG_EFUSA9_MXCFB0 DISPLAY_LVDS0
- +#define CONFIG_EFUSA9_MXCFB1 DISPLAY_HDMI
to enable the display. We were able to display our app via HDMI using EGLFS as follows:
- export QT_QPA_PLATFORM=eglfs
- export QT_QPA_EGLFS_FB=/dev/fb2
- ./qt_app
- In our first approach we simply copied the framebuffer using ffmpeg
- local.conf:
- remove wayland and x11: DISTRO_FEATURES:remove = "x11 wayland"
- add ffmpeg: IMAGE_INSTALL:append = " ffmpeg"
- activate HDMI: Done by starting an app like :
- export QT_QPA_PLATFORM=eglfs
- export QT_QPA_EGLFS_FB=/dev/fb2
- ./qt_app
- close the app (HDMI is active)
- start ffmpeg
- ffmpeg -f fbdev -framerate 30 -i /dev/fb0 -vf "scale=1280:720" -f fbdev /dev/fb2
-> works but it is delay by at least 1 sec
-> the LVDS Display does not Show the Colors correctly
Wayland and Weston
Since a single instance of ur app shall be Display on multiple screens we added wayland/weston to our Image. This works on our Primary Display. However we were not able to get HDMI to work.
- IMAGE_INSTALL:append = " weston weston-init qtwayland"
-> weston is started. properly and our app is started.
However the second screen HDMI does not work.
Shows
- card0@ renderD128@ Version
-> no HDMI ...
We assume, there is a graphics driver issue on iMX6 and Weston, e.g., the drm driver is not found. Our goal is to let the Qt app discover the second display, and the Qt view instance will make a copy of itself to the second display, when it is found. It works well on Windows. However, on Yocto Linux, it fails, due to the drm driver not being found.
Any hints on how to get a second view of a Qt app running on a HMDI monitor simultaneously would be great, either using EGLFS (which I assume does not work) or Weston.
Thanks in advance!