Hi @tommyyl.chen and @pablo.sun
Thank you for your clarification regarding mirror-of. As suggested, we focused only on clone-of since both DSI-1 and HDMI-A-1 are DRM native outputs.
Below are the complete technical details of our investigation on Genio 510 EVK with Weston 14.0.2.
1. Current Weston Configuration
Full /etc/xdg/weston/weston.ini:
# configuration file for Weston
[core]
idle-time=0
#modules=xwayland.so,cms-colord.so
#shell=desktop-shell.so
#gbm-format=xrgb2101010
require-input=false
shell=kiosk-shell.so
#[shell]
#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
#background-color=0xff002244
#background-type=tile
#clock-format=minutes
#panel-color=0x90ff0000
#locking=true
#animation=zoom
#startup-animation=fade
#binding-modifier=ctrl
#num-workspaces=6
#cursor-theme=whiteglass
#cursor-size=24
#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
#animation=fade
#[launcher]
#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
#path=/usr/bin/gnome-terminal
#[launcher]
#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
#path=/usr/bin/weston-terminal
#[launcher]
#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
#path=/usr/bin/google-chrome
#[launcher]
#icon=/usr/share/icons/gnome/24x24/apps/arts.png
#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
#[input-method]
#path=/usr/libexec/weston-keyboard
#[output]
#name=LVDS1
#mode=1680x1050
#transform=90
#icc_profile=/usr/share/color/icc/colord/Bluish.icc
#[output]
#name=VGA1
#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
#transform=flipped
#[output]
#name=X1
#mode=1024x768
#transform=flipped-90
#[libinput]
#enable_tap=true
[output]
name=DSI-1
mode=1200x1920
[output]
name=HDMI-A-1
#mode=1920x1080
clone-of=DSI-1
#[touchpad]
#constant_accel_factor = 50
#min_accel_factor = 0.16
#max_accel_factor = 1.0
[screen-share]
command=/usr/bin/weston --backend=rdp-backend.so --debug --shell=fullscreen-shell.so --no-clients-resize
#[xwayland]
#path=/usr/bin/Xwayland
2. DRM Backend Confirmation
From /tmp/weston.log:
cat /tmp/weston.log
Date: 2025-05-29 UTC
[20:13:40.785] weston 14.0.2
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 14.0.2
[20:13:40.785] Command line: /usr/bin/weston --modules=systemd-notify.so --log=/tmp/weston.log
[20:13:40.785] OS: Linux, 6.6.92-mtk+g94c370539990-gdd502f1ef1bc, #1 SMP PREEMPT Fri Dec 26 07:06:40 UTC 2025, aarch64
[20:13:40.785] Flight recorder: enabled
[20:13:40.785] Using config file '/etc/xdg/weston/weston.ini'
[20:13:40.785] Output repaint window is 7 ms maximum.
[20:13:40.785] Loading module '/usr/lib/libweston-14/drm-backend.so'
[20:13:40.801] initializing drm backend
[20:13:40.801] Trying libseat launcher...
[20:13:40.802] [c/debug/seatd/0.8.0/libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[20:13:40.802] [c/debug/seatd/0.8.0/libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[20:13:40.807] [c/debug/seatd/0.8.0/libseat/libseat.c:73] Seat opened with backend 'logind'
[20:13:40.807] libseat: session control granted
[20:13:40.813] using /dev/dri/card0
[20:13:40.813] DRM: supports atomic modesetting
[20:13:40.813] DRM: supports GBM modifiers
[20:13:40.813] DRM: does not support Atomic async page flip
[20:13:40.813] DRM: supports picture aspect ratio
[20:13:40.813] Loading module '/usr/lib/libweston-14/gl-renderer.so'
[20:13:40.821] EGL version: 1.5 Valhall-"r48p0-01eac0"
[20:13:40.821] EGL vendor: ARM
[20:13:40.821] EGL client APIs: OpenGL_ES
[20:13:40.821] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: yes
partial update: yes
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[20:13:40.830] GL version: OpenGL ES 3.2 v1.r48p0-01eac0.5c3e37fb665b07e7bfc591f5c3483fb7
[20:13:40.830] GLSL version: OpenGL ES GLSL ES 3.20
[20:13:40.830] GL vendor: ARM
[20:13:40.830] GL renderer: Mali-G57
[20:13:40.871] GL ES 3.2 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: no
glReadPixels supports PBO: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: no
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[20:13:40.871] Using GL renderer
[20:13:40.880] event1 - mtk-pmic-keys: is tagged by udev as: Keyboard
[20:13:40.880] event1 - mtk-pmic-keys: device is a keyboard
[20:13:40.883] event0 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[20:13:40.883] event0 - Goodix Capacitive TouchScreen: device is a keyboard
[20:13:40.883] event0 - Goodix Capacitive TouchScreen: device is a touch device
[20:13:40.887] event2 - mt8370-evk Headset Jack: is tagged by udev as: Keyboard Switch
[20:13:40.887] event2 - mt8370-evk Headset Jack: device is a keyboard
[20:13:40.889] event3 - mt8370-evk HDMI Jack: is tagged by udev as: Switch
[20:13:40.890] event3 - not using input device '/dev/input/event3'
[20:13:40.896] libinput: configuring device "mtk-pmic-keys".
[20:13:40.896] Touchscreen - Goodix Capacitive TouchScreen - /sys/devices/platform/soc/11280000.i2c/i2c-0/0-005d/input/input0/event0
[20:13:40.896] libinput: configuring device "Goodix Capacitive TouchScreen".
[20:13:40.896] input device event0 has no enabled output associated (none named), skipping calibration for now.
[20:13:40.896] libinput: configuring device "mt8370-evk Headset Jack".
[20:13:40.897] DRM: head 'DSI-1' found, connector 32 is connected, EDID make 'unknown', model 'unknown', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:13:40.992] DRM: head 'HDMI-A-1' found, connector 34 is connected, EDID make 'PNP(XXX)', model '0x0000', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:13:40.993] Registered plugin API 'weston_drm_output_api_v1' of size 40
[20:13:40.993] Color manager: no-op
protocol support: no
[20:13:40.993] Output 'DSI-1' attempts EOTF mode SDR and colorimetry mode default.
[20:13:40.993] Output 'DSI-1' using color profile: stock sRGB color profile
[20:13:40.993] Chosen EGL config details: id: 1 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 0-0 type: win|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[20:13:40.994] Output DSI-1 (crtc 47) video modes:
1200x1920@60.0, preferred, current, 157.1 MHz
1920x1080@60.0, preferred, 148.5 MHz
1920x1080@60.0 16:9, 148.5 MHz
1920x1080@59.9 16:9, 148.4 MHz
1920x1080@50.0 16:9, 148.5 MHz
1680x1050@59.9, 119.0 MHz
1280x1024@60.0, 108.0 MHz
1280x960@60.0, 108.0 MHz
1360x768@60.0, 85.5 MHz
1280x800@59.9, 71.0 MHz
1280x720@60.0, 74.2 MHz
1280x720@60.0 16:9, 74.2 MHz
1280x720@59.9 16:9, 74.2 MHz
1280x720@50.0, 74.2 MHz
1280x720@50.0 16:9, 74.2 MHz
1024x768@60.0, 65.0 MHz
800x600@60.3, 40.0 MHz
800x600@56.2, 36.0 MHz
720x576@50.0, 27.0 MHz
720x576@50.0 16:9, 27.0 MHz
720x480@60.0 4:3, 27.0 MHz
720x480@60.0 16:9, 27.0 MHz
720x480@59.9, 27.0 MHz
720x480@59.9 4:3, 27.0 MHz
720x480@59.9 16:9, 27.0 MHz
640x480@60.0 4:3, 25.2 MHz
640x480@59.9, 25.2 MHz
640x480@59.9 4:3, 25.2 MHz
720x400@70.1, 28.3 MHz
[20:13:40.994] associating input device event1 with output DSI-1 (none by udev)
[20:13:40.994] associating input device event0 with output DSI-1 (none by udev)
[20:13:40.995] associating input device event2 with output DSI-1 (none by udev)
[20:13:40.995] Output 'DSI-1' enabled with head(s) DSI-1, HDMI-A-1
[20:13:40.995] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: yes
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[20:13:40.995] Loading module '/usr/lib/weston/kiosk-shell.so'
[20:13:40.996] Loading module '/usr/lib/weston/systemd-notify.so'
[20:13:40.996] info: add 1 socket(s) provided by systemd
[20:24:15.471] caught signal 15
[20:24:15.472] event1 - mtk-pmic-keys: device removed
[20:24:15.475] event0 - Goodix Capacitive TouchScreen: device removed
[20:24:15.476] event2 - mt8370-evk Headset Jack: device removed
Date: 2025-05-29 UTC
[20:24:16.316] weston 14.0.2
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 14.0.2
[20:24:16.316] Command line: /usr/bin/weston --modules=systemd-notify.so --log=/tmp/weston.log
[20:24:16.316] OS: Linux, 6.6.92-mtk+g94c370539990-gdd502f1ef1bc, #1 SMP PREEMPT Fri Dec 26 07:06:40 UTC 2025, aarch64
[20:24:16.316] Flight recorder: enabled
[20:24:16.316] Using config file '/etc/xdg/weston/weston.ini'
[20:24:16.316] Output repaint window is 7 ms maximum.
[20:24:16.317] Loading module '/usr/lib/libweston-14/drm-backend.so'
[20:24:16.328] initializing drm backend
[20:24:16.329] Trying libseat launcher...
[20:24:16.329] [c/debug/seatd/0.8.0/libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[20:24:16.329] [c/debug/seatd/0.8.0/libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[20:24:16.336] [c/debug/seatd/0.8.0/libseat/libseat.c:73] Seat opened with backend 'logind'
[20:24:16.336] libseat: session control granted
[20:24:16.341] using /dev/dri/card0
[20:24:16.341] DRM: supports atomic modesetting
[20:24:16.341] DRM: supports GBM modifiers
[20:24:16.341] DRM: does not support Atomic async page flip
[20:24:16.342] DRM: supports picture aspect ratio
[20:24:16.342] Loading module '/usr/lib/libweston-14/gl-renderer.so'
[20:24:16.348] EGL version: 1.5 Valhall-"r48p0-01eac0"
[20:24:16.348] EGL vendor: ARM
[20:24:16.348] EGL client APIs: OpenGL_ES
[20:24:16.348] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: yes
partial update: yes
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[20:24:16.354] GL version: OpenGL ES 3.2 v1.r48p0-01eac0.5c3e37fb665b07e7bfc591f5c3483fb7
[20:24:16.354] GLSL version: OpenGL ES GLSL ES 3.20
[20:24:16.354] GL vendor: ARM
[20:24:16.354] GL renderer: Mali-G57
[20:24:16.385] GL ES 3.2 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: no
glReadPixels supports PBO: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: no
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[20:24:16.385] Using GL renderer
[20:24:16.395] event1 - mtk-pmic-keys: is tagged by udev as: Keyboard
[20:24:16.395] event1 - mtk-pmic-keys: device is a keyboard
[20:24:16.398] event0 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[20:24:16.399] event0 - Goodix Capacitive TouchScreen: device is a keyboard
[20:24:16.399] event0 - Goodix Capacitive TouchScreen: device is a touch device
[20:24:16.402] event2 - mt8370-evk Headset Jack: is tagged by udev as: Keyboard Switch
[20:24:16.402] event2 - mt8370-evk Headset Jack: device is a keyboard
[20:24:16.405] event3 - mt8370-evk HDMI Jack: is tagged by udev as: Switch
[20:24:16.407] event3 - not using input device '/dev/input/event3'
[20:24:16.416] libinput: configuring device "mtk-pmic-keys".
[20:24:16.416] Touchscreen - Goodix Capacitive TouchScreen - /sys/devices/platform/soc/11280000.i2c/i2c-0/0-005d/input/input0/event0
[20:24:16.416] libinput: configuring device "Goodix Capacitive TouchScreen".
[20:24:16.416] input device event0 has no enabled output associated (none named), skipping calibration for now.
[20:24:16.416] libinput: configuring device "mt8370-evk Headset Jack".
[20:24:16.416] DRM: head 'DSI-1' found, connector 32 is connected, EDID make 'unknown', model 'unknown', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:24:16.515] DRM: head 'HDMI-A-1' found, connector 34 is connected, EDID make 'PNP(XXX)', model '0x0000', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:24:16.516] Registered plugin API 'weston_drm_output_api_v1' of size 40
[20:24:16.516] Color manager: no-op
protocol support: no
[20:24:16.516] Output 'DSI-1' attempts EOTF mode SDR and colorimetry mode default.
[20:24:16.516] Output 'DSI-1' using color profile: stock sRGB color profile
[20:24:16.516] Chosen EGL config details: id: 1 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 0-0 type: win|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[20:24:16.517] Output DSI-1 (crtc 47) video modes:
1200x1920@60.0, preferred, current, 157.1 MHz
1920x1080@60.0, preferred, 148.5 MHz
1920x1080@60.0 16:9, 148.5 MHz
1920x1080@59.9 16:9, 148.4 MHz
1920x1080@50.0 16:9, 148.5 MHz
1680x1050@59.9, 119.0 MHz
1280x1024@60.0, 108.0 MHz
1280x960@60.0, 108.0 MHz
1360x768@60.0, 85.5 MHz
1280x800@59.9, 71.0 MHz
1280x720@60.0, 74.2 MHz
1280x720@60.0 16:9, 74.2 MHz
1280x720@59.9 16:9, 74.2 MHz
1280x720@50.0, 74.2 MHz
1280x720@50.0 16:9, 74.2 MHz
1024x768@60.0, 65.0 MHz
800x600@60.3, 40.0 MHz
800x600@56.2, 36.0 MHz
720x576@50.0, 27.0 MHz
720x576@50.0 16:9, 27.0 MHz
720x480@60.0 4:3, 27.0 MHz
720x480@60.0 16:9, 27.0 MHz
720x480@59.9, 27.0 MHz
720x480@59.9 4:3, 27.0 MHz
720x480@59.9 16:9, 27.0 MHz
640x480@60.0 4:3, 25.2 MHz
640x480@59.9, 25.2 MHz
640x480@59.9 4:3, 25.2 MHz
720x400@70.1, 28.3 MHz
[20:24:16.517] associating input device event1 with output DSI-1 (none by udev)
[20:24:16.517] associating input device event0 with output DSI-1 (none by udev)
[20:24:16.518] associating input device event2 with output DSI-1 (none by udev)
[20:24:16.518] Output 'DSI-1' enabled with head(s) DSI-1, HDMI-A-1
[20:24:16.519] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: yes
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[20:24:16.519] Loading module '/usr/lib/weston/desktop-shell.so'
[20:24:16.520] Loading module '/usr/lib/weston/systemd-notify.so'
[20:24:16.521] info: add 1 socket(s) provided by systemd
[20:24:16.521] launching '/usr/libexec/weston-keyboard'
[20:24:16.525] launching '/usr/libexec/weston-desktop-shell'
[20:24:16.622] libwayland: error in client communication (pid 1678)
[20:24:16.622] Error: /usr/libexec/weston-desktop-shell apparently cannot run at all.
Quitting...[20:24:16.623] event1 - mtk-pmic-keys: device removed
[20:24:16.673] event0 - Goodix Capacitive TouchScreen: device removed
[20:24:16.676] event2 - mt8370-evk Headset Jack: device removed
[20:24:17.642] destroying output DSI-1 (id 0) with a pending flip, but as we are shutting down we can't wait to destroy it when the flip completes... destroying it now
Date: 2025-05-29 UTC
[20:25:10.593] weston 14.0.2
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 14.0.2
[20:25:10.593] Command line: /usr/bin/weston --modules=systemd-notify.so --log=/tmp/weston.log
[20:25:10.593] OS: Linux, 6.6.92-mtk+g94c370539990-gdd502f1ef1bc, #1 SMP PREEMPT Fri Dec 26 07:06:40 UTC 2025, aarch64
[20:25:10.593] Flight recorder: enabled
[20:25:10.593] Using config file '/etc/xdg/weston/weston.ini'
[20:25:10.593] Output repaint window is 7 ms maximum.
[20:25:10.593] Loading module '/usr/lib/libweston-14/drm-backend.so'
[20:25:10.609] initializing drm backend
[20:25:10.609] Trying libseat launcher...
[20:25:10.610] [c/debug/seatd/0.8.0/libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[20:25:10.610] [c/debug/seatd/0.8.0/libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[20:25:10.620] [c/debug/seatd/0.8.0/libseat/libseat.c:73] Seat opened with backend 'logind'
[20:25:10.620] libseat: session control granted
[20:25:10.626] using /dev/dri/card0
[20:25:10.626] DRM: supports atomic modesetting
[20:25:10.626] DRM: supports GBM modifiers
[20:25:10.626] DRM: does not support Atomic async page flip
[20:25:10.626] DRM: supports picture aspect ratio
[20:25:10.626] Loading module '/usr/lib/libweston-14/gl-renderer.so'
[20:25:10.630] EGL version: 1.5 Valhall-"r48p0-01eac0"
[20:25:10.630] EGL vendor: ARM
[20:25:10.630] EGL client APIs: OpenGL_ES
[20:25:10.630] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: yes
partial update: yes
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[20:25:10.635] GL version: OpenGL ES 3.2 v1.r48p0-01eac0.5c3e37fb665b07e7bfc591f5c3483fb7
[20:25:10.635] GLSL version: OpenGL ES GLSL ES 3.20
[20:25:10.635] GL vendor: ARM
[20:25:10.635] GL renderer: Mali-G57
[20:25:10.669] GL ES 3.2 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: no
glReadPixels supports PBO: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: no
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[20:25:10.669] Using GL renderer
[20:25:10.677] event1 - mtk-pmic-keys: is tagged by udev as: Keyboard
[20:25:10.677] event1 - mtk-pmic-keys: device is a keyboard
[20:25:10.681] event0 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[20:25:10.682] event0 - Goodix Capacitive TouchScreen: device is a keyboard
[20:25:10.682] event0 - Goodix Capacitive TouchScreen: device is a touch device
[20:25:10.684] event2 - mt8370-evk Headset Jack: is tagged by udev as: Keyboard Switch
[20:25:10.684] event2 - mt8370-evk Headset Jack: device is a keyboard
[20:25:10.686] event3 - mt8370-evk HDMI Jack: is tagged by udev as: Switch
[20:25:10.687] event3 - not using input device '/dev/input/event3'
[20:25:10.693] libinput: configuring device "mtk-pmic-keys".
[20:25:10.693] Touchscreen - Goodix Capacitive TouchScreen - /sys/devices/platform/soc/11280000.i2c/i2c-0/0-005d/input/input0/event0
[20:25:10.693] libinput: configuring device "Goodix Capacitive TouchScreen".
[20:25:10.693] input device event0 has no enabled output associated (none named), skipping calibration for now.
[20:25:10.693] libinput: configuring device "mt8370-evk Headset Jack".
[20:25:10.693] DRM: head 'DSI-1' found, connector 32 is connected, EDID make 'unknown', model 'unknown', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:25:10.789] DRM: head 'HDMI-A-1' found, connector 34 is connected, EDID make 'PNP(XXX)', model '0x0000', serial ''
Supported EOTF modes: SDR
Supported colorimetry modes: default
[20:25:10.790] Registered plugin API 'weston_drm_output_api_v1' of size 40
[20:25:10.790] Color manager: no-op
protocol support: no
[20:25:10.790] Output 'DSI-1' attempts EOTF mode SDR and colorimetry mode default.
[20:25:10.790] Output 'DSI-1' using color profile: stock sRGB color profile
[20:25:10.791] Chosen EGL config details: id: 1 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 0-0 type: win|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[20:25:10.791] Output DSI-1 (crtc 47) video modes:
1200x1920@60.0, preferred, current, 157.1 MHz
1920x1080@60.0, preferred, 148.5 MHz
1920x1080@60.0 16:9, 148.5 MHz
1920x1080@59.9 16:9, 148.4 MHz
1920x1080@50.0 16:9, 148.5 MHz
1680x1050@59.9, 119.0 MHz
1280x1024@60.0, 108.0 MHz
1280x960@60.0, 108.0 MHz
1360x768@60.0, 85.5 MHz
1280x800@59.9, 71.0 MHz
1280x720@60.0, 74.2 MHz
1280x720@60.0 16:9, 74.2 MHz
1280x720@59.9 16:9, 74.2 MHz
1280x720@50.0, 74.2 MHz
1280x720@50.0 16:9, 74.2 MHz
1024x768@60.0, 65.0 MHz
800x600@60.3, 40.0 MHz
800x600@56.2, 36.0 MHz
720x576@50.0, 27.0 MHz
720x576@50.0 16:9, 27.0 MHz
720x480@60.0 4:3, 27.0 MHz
720x480@60.0 16:9, 27.0 MHz
720x480@59.9, 27.0 MHz
720x480@59.9 4:3, 27.0 MHz
720x480@59.9 16:9, 27.0 MHz
640x480@60.0 4:3, 25.2 MHz
640x480@59.9, 25.2 MHz
640x480@59.9 4:3, 25.2 MHz
720x400@70.1, 28.3 MHz
[20:25:10.791] associating input device event1 with output DSI-1 (none by udev)
[20:25:10.792] associating input device event0 with output DSI-1 (none by udev)
[20:25:10.792] associating input device event2 with output DSI-1 (none by udev)
[20:25:10.793] Output 'DSI-1' enabled with head(s) DSI-1, HDMI-A-1
[20:25:10.793] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: yes
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[20:25:10.793] Loading module '/usr/lib/weston/kiosk-shell.so'
[20:25:10.794] Loading module '/usr/lib/weston/systemd-notify.so'
[20:25:10.794] info: add 1 socket(s) provided by systemd
This confirms Weston is using the DRM backend with atomic modesetting enabled.
Both connectors are detected:
DRM: head 'DSI-1' found, connector 32 is connected
DRM: head 'HDMI-A-1' found, connector 34 is connected
Weston then reports:
Output 'DSI-1' enabled with head(s) DSI-1, HDMI-A-1
This indicates Weston attempted to configure both heads under a single CRTC using clone-of.
No crash occurs.
3. Runtime Behaviour (Application-Level Test)
To validate runtime behaviour, we launched a test client:
su -s /bin/bash weston -c "WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 weston-flower"
Observed result:
-
weston-flower renders correctly on the DSI panel.
-
HDMI monitor shows No Signal.
-
No runtime errors are printed in Weston logs.
-
No atomic failure message appears in dmesg.
So Weston accepts the configuration, but HDMI never receives an active signal.
4. DRM Encoder Capability Analysis
To verify hardware clone capability, we ran:
modetest -M mediatek
Encoder table:
Encoders:
id crtc type possible_crtcs possible_clones
31 47 DSI 0x00000001 0x00000001
33 47 TMDS 0x00000003 0x00000002
Interpretation:
The possible_clones bitmasks do not overlap.
This means:
The mtk_drm driver does NOT support hardware-level cross-encoder cloning between DSI and HDMI.
Even though both encoders can attach to CRTC 47, they cannot share that CRTC simultaneously for clone mode.
This explains why:
-
Weston configures clone-of successfully.
-
DSI works.
-
HDMI remains without signal.
-
No explicit error is reported.
The limitation is at DRM encoder capability level.
5. Additional Observation – Modeline Mismatch
The DSI panel is configured to:
1200x1920@60 (portrait)
modetest -c
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...failed
trying to open device 'msm'...failed
trying to open device 'sti'...failed
trying to open device 'tegra'...failed
trying to open device 'imx-drm'...failed
trying to open device 'rockchip'...failed
trying to open device 'atmel-hlcdc'...failed
trying to open device 'fsl-dcu-drm'...failed
trying to open device 'vc4'...failed
trying to open device 'virtio_gpu'...failed
trying to open device 'mediatek'...done
Connectors:
id encoder status name size (mm) modes encoders
32 31 connected DSI-1 95x151 1 31
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 1200x1920 60.00 1200 1250 1260 1330 1920 1945 1949 1969 157126 flags: ; type: preferred, driver
props:
1 EDID:
flags: immutable blob
blobs:
value:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0
6 non-desktop:
flags: immutable range
values: 0 1
value: 0
4 TILE:
flags: immutable blob
blobs:
value:
34 33 connected HDMI-A-1 0x0 21 33
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, nvsync; type: preferred, driver
#1 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
#2 1920x1080 59.94 1920 2008 2052 2200 1080 1084 1089 1125 148352 flags: phsync, pvsync; type: driver
#3 1920x1080 50.00 1920 2448 2492 2640 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver
#4 1680x1050 59.88 1680 1728 1760 1840 1050 1053 1059 1080 119000 flags: phsync, nvsync; type: driver
#5 1280x1024 60.02 1280 1328 1440 1688 1024 1025 1028 1066 108000 flags: phsync, pvsync; type: driver
#6 1280x960 60.00 1280 1376 1488 1800 960 961 964 1000 108000 flags: phsync, pvsync; type: driver
#7 1360x768 60.02 1360 1424 1536 1792 768 771 777 795 85500 flags: phsync, pvsync; type: driver
#8 1280x800 59.91 1280 1328 1360 1440 800 803 809 823 71000 flags: phsync, nvsync; type: driver
#9 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver
#10 1280x720 59.94 1280 1390 1430 1650 720 725 730 750 74176 flags: phsync, pvsync; type: driver
#11 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver
#12 1024x768 60.00 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver
#13 800x600 60.32 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver
#14 800x600 56.25 800 824 896 1024 600 601 603 625 36000 flags: phsync, pvsync; type: driver
#15 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver
#16 720x480 60.00 720 736 798 858 480 489 495 525 27027 flags: nhsync, nvsync; type: driver
#17 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver
#18 640x480 60.00 640 656 752 800 480 490 492 525 25200 flags: nhsync, nvsync; type: driver
#19 640x480 59.94 640 656 752 800 480 490 492 525 25175 flags: nhsync, nvsync; type: driver
#20 720x400 70.08 720 738 846 900 400 412 414 449 28320 flags: nhsync, pvsync; type: driver
props:
1 EDID:
flags: immutable blob
blobs:
value:
00ffffffffffff006318000000000000
06160103800000000ad7a5a2594a9624
145054a30800d1c0b300810081808140
81c001010101023a801871382d40582c
45003f432100001a662150b051001b30
407036003f432100001e000000fd0032
4c1e5010000a202020202020000000fc
00000a202020202020202020202001d3
020321f24c0102038405071012931416
1f230917008301000067030c00200038
298c0ad08a20e02d10103e9600c48e21
0000188c0ad090204031200c405500c4
8e21000018011d00bc52d01e20b82855
40c48e2100001e011d80d0721c162010
2c2580c48e2100009e8c0ad08a20e02d
10103e9600138e21000018000000008c
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0
6 non-desktop:
flags: immutable range
values: 0 1
value: 0
4 TILE:
flags: immutable blob
blobs:
value:
HDMI EDID advertises typical landscape modes (1920x1080, 1280x720, etc.).
Even if encoder cloning were allowed, the panel timings differ significantly in resolution and orientation, which would require:
None of these appear to be supported in the current driver.
6. Summary
| Mode |
Result |
Technical Cause |
| clone-of |
HDMI no signal |
No cross-encoder clone support in mtk_drm |
| Extended mode |
Works |
Separate CRTCs operate independently |
| mirror-of |
Not applicable |
DRM native → DRM native unsupported |
7. Clarification Requested
Based on the encoder possible_clones masks and runtime behaviour:
-
Is cross-encoder clone between DSI and HDMI officially unsupported on Genio 510?
-
Is this a hardware display pipeline limitation?
-
Is there any recommended MediaTek approach to duplicate the same content across both outputs?
-
Should this be handled purely at application/compositor level instead?
For example:
-
Rendering separately to both Wayland outputs
-
Implementing framebuffer duplication at compositor level
-
Or any MediaTek-specific display pipeline mechanism
Thank you for your support. We look forward to your guidance on the recommended approach for simultaneous display on both DSI and HDMI on Genio 510/520.