Weston Touch Calibration DPI-1 not found apalis imx8 and HDMI resistive touch display

Sry if this is a repeat but none of the other topics similar to this have helped me out. I am new to Torizon and coming from a windows embedded compact 7 environment, so i will probably use the wrong terms at some point. I am using a Ixora carrier board for evaluating and I have a HDMI panel with a resistive touch screen. the touch works but it is off. when I attempt to run the Weston Touch calibrator I get the following:

$ docker run -ti --rm -e ACCEPT_FSL_EULA=1 --privileged -v /dev:/dev -v /run/udev/:/run/udev/ -v /etc/udev/rules.d:/etc/
udev/rules.d torizon/weston-touch-calibrator:$CT_TAG_WESTON_TOUCH_CALIBRATOR
HEAD: DPI-1
Date: 2023-09-14 UTC
[15:17:41.378] weston 10.0.1
https://wayland.freedesktop.org
Bug reports to: Issues · wayland / weston · GitLab
Build: lf-5.15.52-2.1.0-10-g9452feba
[15:17:41.383] Command line: weston -Bdrm-backend.so -Swayland-0
[15:17:41.383] OS: Linux, 5.15.77-6.3.0+git.ddc6ca4d76ea, #1-TorizonCore SMP PREEMPT Thu Jun 29 10:14:22 UTC 2023, aarch64
[15:17:41.383] Flight recorder: enabled
[15:17:41.383] warning: XDG_RUNTIME_DIR “/tmp/weston-xdg” is not configured
correctly. Unix access mode must be 0700 (current mode is 0755),
and must be owned by the user UID 0 (current owner is UID 0).
Refer to your distribution on how to get it, or
basedir-spec
on how to implement it.
[15:17:41.386] Using config file ‘/etc/xdg/weston/weston.ini’
[15:17:41.387] Output repaint window is 7 ms maximum.
[15:17:41.388] Loading module ‘/usr/lib/aarch64-linux-gnu/libweston-10/drm-backend.so’
[15:17:41.428] initializing drm backend
[15:17:41.428] Trying libseat launcher…
[15:17:41.434] libseat: session control granted
[15:17:41.442] using /dev/dri/card1
[15:17:41.442] DRM: supports atomic modesetting
[15:17:41.442] DRM: supports GBM modifiers
[15:17:41.442] DRM: supports picture aspect ratio
[15:17:41.443] Loading module ‘/usr/lib/aarch64-linux-gnu/libweston-10/gl-renderer.so’
[15:17:41.476] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_platform_base EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_device_query
EGL_EXT_device_drm EGL_EXT_device_drm_render_node
EGL_KHR_platform_gbm
[15:17:41.484] EGL device extensions: EGL_EXT_client_extensions
EGL_EXT_platform_base EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_device_query
EGL_EXT_device_drm EGL_EXT_device_drm_render_node
EGL_KHR_platform_gbm
[15:17:41.485] EGL version: 1.5
[15:17:41.485] EGL vendor: Vivante Corporation
[15:17:41.485] EGL client APIs: OpenGL_ES OpenVG
[15:17:41.485] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
EGL_KHR_create_context EGL_KHR_no_config_context
EGL_KHR_surfaceless_context EGL_KHR_get_all_proc_addresses
EGL_EXT_buffer_age EGL_ANDROID_native_fence_sync
EGL_WL_bind_wayland_display
EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
EGL_EXT_swap_buffers_with_damage
EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float
[15:17:41.485] EGL_KHR_surfaceless_context available
[15:17:41.509] GL version: OpenGL ES 3.2 V6.4.3.p4.398061
[15:17:41.510] GLSL version: OpenGL ES GLSL ES 3.20
[15:17:41.510] GL vendor: Vivante Corporation
[15:17:41.510] GL renderer: Vivante GC7000XSVX
[15:17:41.510] GL extensions: GL_OES_vertex_type_10_10_10_2
GL_OES_vertex_half_float GL_OES_element_index_uint
GL_OES_mapbuffer GL_OES_vertex_array_object
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture GL_OES_texture_npot
GL_OES_rgb8_rgba8 GL_OES_depth_texture
GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
GL_OES_get_program_binary GL_OES_fragment_precision_high
GL_OES_standard_derivatives GL_OES_EGL_image
GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3
GL_OES_EGL_sync GL_OES_texture_stencil8
GL_OES_shader_image_atomic GL_OES_sample_variables
GL_OES_sample_shading
GL_OES_texture_storage_multisample_2d_array
GL_OES_shader_multisample_interpolation
GL_OES_required_internalformat GL_OES_surfaceless_context
GL_OES_copy_image GL_OES_draw_buffers_indexed
GL_OES_geometry_shader GL_OES_geometry_point_size
GL_OES_gpu_shader5 GL_OES_shader_io_blocks
GL_OES_texture_border_clamp GL_OES_texture_buffer
GL_OES_tessellation_shader GL_OES_tessellation_point_size
GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
GL_OES_texture_half_float GL_OES_texture_float
GL_OES_primitive_bounding_box
GL_KHR_texture_compression_astc_ldr
GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
GL_EXT_texture_type_2_10_10_10_REV
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
GL_EXT_multi_draw_arrays GL_EXT_frag_depth
GL_EXT_discard_framebuffer GL_EXT_blend_minmax
GL_EXT_multisampled_render_to_texture
GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
GL_EXT_robustness GL_EXT_texture_sRGB_decode
GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
GL_EXT_texture_buffer GL_EXT_tessellation_shader
GL_EXT_tessellation_point_size GL_EXT_geometry_shader
GL_EXT_geometry_point_size GL_EXT_copy_image
GL_EXT_texture_cube_map_array GL_EXT_gpu_shader5
GL_EXT_shader_io_blocks GL_EXT_shader_implicit_conversions
GL_EXT_multi_draw_indirect GL_EXT_draw_elements_base_vertex
GL_EXT_texture_rg GL_EXT_primitive_bounding_box GL_EXT_sRGB
GL_ANDROID_extension_pack_es31a GL_EXT_unpack_subimage
GL_VIV_direct_texture
[15:17:41.606] GL ES 3.2 - renderer features:
read-back format: BGRA
EGL Wayland extension: yes
[15:17:41.645] event2 - iKey Keyboard Mouse Keyboard: is tagged by udev as: Keyboard
[15:17:41.645] event2 - iKey Keyboard Mouse Keyboard: device is a keyboard
[15:17:41.723] event3 - iKey Keyboard Mouse : is tagged by udev as: Mouse
[15:17:41.724] event3 - iKey Keyboard Mouse : device is a pointer
[15:17:41.804] event1 - ELO Touch Solutions ELO Touch Solutions AccuTouch 2218 : is tagged by udev as: Mouse
[15:17:41.806] event1 - ELO Touch Solutions ELO Touch Solutions AccuTouch 2218 : device is a pointer
[15:17:41.812] event0 - sc-powerkey: is tagged by udev as: Keyboard
[15:17:41.812] event0 - sc-powerkey: device is a keyboard
[15:17:41.816] event4 - imx-audio-hdmi-tx HDMI Jack: is tagged by udev as: Switch
[15:17:41.964] event4 - not using input device ‘/dev/input/event4’
[15:17:42.022] libinput: configuring device “iKey Keyboard Mouse Keyboard”.
[15:17:42.022] libinput: configuring device "iKey Keyboard Mouse ".
[15:17:42.022] libinput: configuring device "ELO Touch Solutions ELO Touch Solutions AccuTouch 2218 ".
[15:17:42.022] input device event1 has no enabled output associated (none named), skipping calibration for now.
[15:17:42.022] libinput: configuring device “sc-powerkey”.
[15:17:42.052] DRM: head ‘HDMI-A-1’ updated, connector 148 is connected, EDID make ‘ELO’, model ‘ELO ET1790L’, serial ‘9312’
[15:17:42.052] DRM: head ‘HDMI-A-1’ found, connector 148 is connected, EDID make ‘ELO’, model ‘ELO ET1790L’, serial ‘9312’
[15:17:42.053] Registered plugin API ‘weston_drm_output_api_v1’ of size 24
[15:17:42.053] Registered plugin API ‘weston_drm_virtual_output_api_v1’ of size 48
[15:17:42.053] Color manager: no-op
[15:17:42.054] Module ‘/usr/lib/libgbm.so’ already loaded
[15:17:42.054] Output ‘HDMI-A-1’ using color profile: built-in default sRGB SDR profile
[15:17:42.056] Chosen EGL config details: id: 21 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-60 type: win|pix|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[15:17:42.056] Output HDMI-A-1 (crtc 38) video modes:
1280x1024@60.0, preferred, current, 108.0 MHz
1280x800@59.9, 71.0 MHz
1280x720@60.0 16:9, 74.2 MHz
1280x720@59.9 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 4:3, 27.0 MHz
800x500@59.5, 30.8 MHz
720x480@60.0 4:3, 27.0 MHz
720x480@60.0 16: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
[15:17:42.057] associating input device event2 with output HDMI-A-1 (none by udev)
[15:17:42.057] associating input device event3 with output HDMI-A-1 (none by udev)
[15:17:42.057] associating input device event1 with output HDMI-A-1 (none by udev)
[15:17:42.059] associating input device event0 with output HDMI-A-1 (none by udev)
[15:17:42.059] Output ‘HDMI-A-1’ enabled with head(s) HDMI-A-1
[15:17:42.059] 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: no
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[15:17:42.065] Loading module ‘/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so’
[15:17:42.070] launching ‘/usr/lib/aarch64-linux-gnu/weston-keyboard’
[15:17:42.083] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-wl-shell=true to Meson when building Weston.
[15:17:42.085] Loading module ‘/usr/lib/aarch64-linux-gnu/libweston-10/xwayland.so’
[15:17:42.180] Registered plugin API ‘weston_xwayland_v1’ of size 32
[15:17:42.181] Registered plugin API ‘weston_xwayland_surface_v1’ of size 16
[15:17:42.181] xserver listening on display :0
[15:17:42.181] launching ‘/usr/lib/aarch64-linux-gnu/weston-desktop-shell’
could not load cursor ‘dnd-move’
could not load cursor ‘dnd-copy’
could not load cursor ‘dnd-none’
could not load cursor ‘dnd-move’
could not load cursor ‘dnd-copy’
could not load cursor ‘dnd-none’
wayland-0
could not load cursor ‘dnd-move’
could not load cursor ‘dnd-copy’
could not load cursor ‘dnd-none’
weston-touch-calibrator error: “DPI-1” was not found.

from what I can see DPI-1 is found as HDMI-A-1 with the correct resolution. I am following the web examples to get this far. when I try to start the weston compositor and install the libdrm-test packages I don’t get anywhere and I am sure I am missing something due to my inexperience with this setup.

Hey @Lon,

Can you give us a bit more about your setup?

What specific Apalis Imx8 are you using and carrier board?
Are you using TorizonCore 5 or 6?
What screen are you using? Is this one of our supplied ones? If a custom screen, have you updated your device tree to reflect this screen?

Here is a similar issue that you can also read through it may help.

-Eric

Apalis iMX8 QuadMax 4GB, Ixora Carrier board 1.3A, Elo Touch 17 resistive touch 1280x1024 screen on torizon 6.0.3. I am still figuring all of this out. I haven’t even made it into the device tree. I was just getting into the TorizoCore builder and ran into issues trying to unpack it. I am using windows 10 and wsl2 with visual studio Code.

from what I can see in the weston touch calibrator it is detecting the display and touch drivers correctly. that is what has me stumped.

Like I said I am just starting to learn how to use this setup from WEC7. I have been able to create a few code projects and run demos. but now I need to start going a deeper.

Hey @Lon,

It looks like the calibration container startup script is defaulting to a DPI-1 connector (as you stated) and you are wanting this to be HDMI. Here is a write up on this specific issue. You can also follow the suggestion of using a package libdrm-tests inside a container to find your specific head unit name.

-Eric

@Eric,
that is the section I was going through. I have not been able to successfully run the libdrm-test yet. so far I seem to hit a dead end no matter what I try to do. it feels like the documentation is just missing in spots for anything 6.0. I am also trying to get the torizoncore-builder to unpack but that that is a whole other issue.

I will try going through that section again. but if I have to make changes to the device tree that is out of the question until I can get that to work.

@Lon,

Ok let me know what blockers you get to with the libdrm-test.

If you would like to open a separate ticket for torizoncore-builder unpack, we can address that as well. For clarity sake we like to keep one issue per ticket.

-Eric

ok when I go through the steps to launch the docker file I get this:

torizon@apalis-imx8-14760601:~$ docker pull torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE
3: Pulling from torizon/weston-vivante
Digest: sha256:05d7872679bb6b43fa3f2bf745701a4b45f2608722c35c740dc26c717e776c33
Status: Image is up to date for torizon/weston-vivante:3
docker.io/torizon/weston-vivante:3
torizon@apalis-imx8-14760601:~$ docker run -e ACCEPT_FSL_EULA=1 -it --rm --entrypoint /bin/bash -v /dev:/dev --device-cgroup-rule='c 226:* rmw' torizo
n/weston-vivante:$CT_TAG_WESTON_VIVANTE /bin/bash
/bin/bash: /bin/bash: cannot execute binary file
torizon@apalis-imx8-14760601:~$ 

I am sure I am missing something and that is just due to the newness of this .

ok Mangaged to get libdrm-tests to run. not sure how but it ran.

Connectors:
id      encoder status          name            size (mm)       modes   encoders
148     147     connected       HDMI-A-1        340x270         14      147
  modes:

so following the documentation I found the connector information. but what I do after this is unclear.

Hey @Lon,

Good to see the progress.

There is a section under the Touch screen calibration link. It gives an example of modifying the connector to LVDS-1 in the run command. HEAD=LVDS-1 , whereLVDS-1 would change to your connector.

docker run -ti --rm -e ACCEPT_FSL_EULA=1 -e HEAD=LVDS-1 --privileged -v /dev:/dev -v /run/udev/:/run/udev/ -v /etc/udev/rules.d:/etc/udev/rules.d torizon/weston-touch-calibrator:$CT_TAG_WESTON_TOUCH_CALIBRATOR

-Eric

I thought you might mention that. when i try it it won’t find HDMI-A-1 unfortunatly.

~$ docker run -ti --rm -e ACCEPT_FSL_EULA=1 -e HEAD=HDMI-A-1 --privileged -v /dev:/dev -v /run/udev/:/run/udev/ -v /etc/udev/rules.d:/etc/udev/rules.d torizon/weston-touch-calibrator:$CT_TAG_WESTON_TOUCH_CALIBRATOR
HEAD: HDMI-A-1
Date: 2023-09-15 UTC
[14:18:40.769] weston 10.0.1
               https://wayland.freedesktop.org
               Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
               Build: lf-5.15.52-2.1.0-10-g9452feba
[14:18:40.769] Command line: weston -Bdrm-backend.so -Swayland-0
[14:18:40.769] OS: Linux, 5.15.77-6.3.0+git.ddc6ca4d76ea, #1-TorizonCore SMP PREEMPT Thu Jun 29 10:14:22 UTC 2023, aarch64
[14:18:40.769] Flight recorder: enabled
[14:18:40.769] warning: XDG_RUNTIME_DIR "/tmp/weston-xdg" is not configured
correctly.  Unix access mode must be 0700 (current mode is 0755),
and must be owned by the user UID 0 (current owner is UID 0).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[14:18:40.770] Using config file '/etc/xdg/weston/weston.ini'
[14:18:40.770] Output repaint window is 7 ms maximum.
[14:18:40.771] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/drm-backend.so'
[14:18:40.782] initializing drm backend
[14:18:40.782] Trying libseat launcher...
[14:18:40.785] libseat: session control granted
[14:18:40.791] using /dev/dri/card1
[14:18:40.791] DRM: supports atomic modesetting
[14:18:40.791] DRM: supports GBM modifiers
[14:18:40.791] DRM: supports picture aspect ratio
[14:18:40.791] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/gl-renderer.so'
[14:18:40.804] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_EXT_device_query
               EGL_EXT_device_drm EGL_EXT_device_drm_render_node
               EGL_KHR_platform_gbm
[14:18:40.808] EGL device extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland EGL_EXT_device_query
               EGL_EXT_device_drm EGL_EXT_device_drm_render_node
               EGL_KHR_platform_gbm
[14:18:40.809] EGL version: 1.5
[14:18:40.809] EGL vendor: Vivante Corporation
[14:18:40.809] EGL client APIs: OpenGL_ES OpenVG
[14:18:40.809] EGL extensions: EGL_KHR_fence_sync EGL_KHR_reusable_sync
               EGL_KHR_wait_sync EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_EXT_image_dma_buf_import
               EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_lock_surface
               EGL_KHR_create_context EGL_KHR_no_config_context
               EGL_KHR_surfaceless_context EGL_KHR_get_all_proc_addresses
               EGL_EXT_buffer_age EGL_ANDROID_native_fence_sync
               EGL_WL_bind_wayland_display
               EGL_WL_create_wayland_buffer_from_image EGL_KHR_partial_update
               EGL_EXT_swap_buffers_with_damage
               EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float
[14:18:40.809] EGL_KHR_surfaceless_context available
[14:18:40.817] GL version: OpenGL ES 3.2 V6.4.3.p4.398061
[14:18:40.817] GLSL version: OpenGL ES GLSL ES 3.20
[14:18:40.817] GL vendor: Vivante Corporation
[14:18:40.817] GL renderer: Vivante GC7000XSVX
[14:18:40.817] GL extensions: GL_OES_vertex_type_10_10_10_2
               GL_OES_vertex_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_vertex_array_object
               GL_OES_compressed_ETC1_RGB8_texture
               GL_OES_compressed_paletted_texture GL_OES_texture_npot
               GL_OES_rgb8_rgba8 GL_OES_depth_texture
               GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32
               GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap
               GL_OES_get_program_binary GL_OES_fragment_precision_high
               GL_OES_standard_derivatives GL_OES_EGL_image
               GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3
               GL_OES_EGL_sync GL_OES_texture_stencil8
               GL_OES_shader_image_atomic GL_OES_sample_variables
               GL_OES_sample_shading
               GL_OES_texture_storage_multisample_2d_array
               GL_OES_shader_multisample_interpolation
               GL_OES_required_internalformat GL_OES_surfaceless_context
               GL_OES_copy_image GL_OES_draw_buffers_indexed
               GL_OES_geometry_shader GL_OES_geometry_point_size
               GL_OES_gpu_shader5 GL_OES_shader_io_blocks
               GL_OES_texture_border_clamp GL_OES_texture_buffer
               GL_OES_tessellation_shader GL_OES_tessellation_point_size
               GL_OES_texture_cube_map_array GL_OES_draw_elements_base_vertex
               GL_OES_texture_half_float GL_OES_texture_float
               GL_OES_primitive_bounding_box
               GL_KHR_texture_compression_astc_ldr
               GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_robustness
               GL_EXT_texture_type_2_10_10_10_REV
               GL_EXT_texture_filter_anisotropic
               GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888
               GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra
               GL_EXT_multi_draw_arrays GL_EXT_frag_depth
               GL_EXT_discard_framebuffer GL_EXT_blend_minmax
               GL_EXT_multisampled_render_to_texture
               GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float
               GL_EXT_robustness GL_EXT_texture_sRGB_decode
               GL_EXT_draw_buffers_indexed GL_EXT_texture_border_clamp
               GL_EXT_texture_buffer GL_EXT_tessellation_shader
               GL_EXT_tessellation_point_size GL_EXT_geometry_shader
               GL_EXT_geometry_point_size GL_EXT_copy_image
               GL_EXT_texture_cube_map_array GL_EXT_gpu_shader5
               GL_EXT_shader_io_blocks GL_EXT_shader_implicit_conversions
               GL_EXT_multi_draw_indirect GL_EXT_draw_elements_base_vertex
               GL_EXT_texture_rg GL_EXT_primitive_bounding_box GL_EXT_sRGB
               GL_ANDROID_extension_pack_es31a GL_EXT_unpack_subimage
               GL_VIV_direct_texture
[14:18:40.882] GL ES 3.2 - renderer features:
               read-back format: BGRA
               EGL Wayland extension: yes
[14:18:40.911] event2  - iKey Keyboard Mouse  Keyboard: is tagged by udev as: Keyboard
[14:18:40.912] event2  - iKey Keyboard Mouse  Keyboard: device is a keyboard
[14:18:40.992] event3  - iKey Keyboard Mouse : is tagged by udev as: Mouse
[14:18:40.993] event3  - iKey Keyboard Mouse : device is a pointer
[14:18:41.073] event1  - ELO Touch Solutions  ELO Touch Solutions AccuTouch 2218 : is tagged by udev as: Mouse
[14:18:41.075] event1  - ELO Touch Solutions  ELO Touch Solutions AccuTouch 2218 : device is a pointer
[14:18:41.081] event0  - sc-powerkey: is tagged by udev as: Keyboard
[14:18:41.081] event0  - sc-powerkey: device is a keyboard
[14:18:41.086] event4  - imx-audio-hdmi-tx HDMI Jack: is tagged by udev as: Switch
[14:18:41.223] event4  - not using input device '/dev/input/event4'
[14:18:41.263] libinput: configuring device "iKey Keyboard Mouse  Keyboard".
[14:18:41.263] libinput: configuring device "iKey Keyboard Mouse ".
[14:18:41.263] libinput: configuring device "ELO Touch Solutions  ELO Touch Solutions AccuTouch 2218 ".
[14:18:41.263] input device event1 has no enabled output associated (none named), skipping calibration for now.
[14:18:41.263] libinput: configuring device "sc-powerkey".
[14:18:41.294] DRM: head 'HDMI-A-1' updated, connector 148 is connected, EDID make 'ELO', model 'ELO ET1790L', serial '9312'
[14:18:41.295] DRM: head 'HDMI-A-1' found, connector 148 is connected, EDID make 'ELO', model 'ELO ET1790L', serial '9312'
[14:18:41.296] Registered plugin API 'weston_drm_output_api_v1' of size 24
[14:18:41.296] Registered plugin API 'weston_drm_virtual_output_api_v1' of size 48
[14:18:41.296] Color manager: no-op
[14:18:41.297] Module '/usr/lib/libgbm.so' already loaded
[14:18:41.297] Output 'HDMI-A-1' using color profile: built-in default sRGB SDR profile
[14:18:41.298] Chosen EGL config details: id:  21 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-60 type: win|pix|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[14:18:41.299] Output HDMI-A-1 (crtc 38) video modes:
               1280x1024@60.0, preferred, current, 108.0 MHz
               1280x800@59.9, 71.0 MHz
               1280x720@60.0 16:9, 74.2 MHz
               1280x720@59.9 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 4:3, 27.0 MHz
               800x500@59.5, 30.8 MHz
               720x480@60.0 4:3, 27.0 MHz
               720x480@60.0 16: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
[14:18:41.299] associating input device event2 with output HDMI-A-1 (none by udev)
[14:18:41.299] associating input device event3 with output HDMI-A-1 (none by udev)
[14:18:41.300] associating input device event1 with output HDMI-A-1 (none by udev)
[14:18:41.301] associating input device event0 with output HDMI-A-1 (none by udev)
[14:18:41.302] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[14:18:41.302] 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: no
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[14:18:41.303] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[14:18:41.306] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[14:18:41.319] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-wl-shell=true to Meson when building Weston.
[14:18:41.320] Loading module '/usr/lib/aarch64-linux-gnu/libweston-10/xwayland.so'
[14:18:41.351] Registered plugin API 'weston_xwayland_v1' of size 32
[14:18:41.351] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[14:18:41.352] xserver listening on display :0
[14:18:41.352] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'
wayland-0
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
weston-touch-calibrator error: "HDMI-A-1" was not found.
^C[14:18:47.003] caught signal 2
[14:18:47.024] output for input device event2 removed
[14:18:47.024] output for input device event3 removed
[14:18:47.024] output for input device event1 removed
[14:18:47.024] output for input device event0 removed
[14:18:47.033] event2  - iKey Keyboard Mouse  Keyboard: device removed
[14:18:47.113] event3  - iKey Keyboard Mouse : device removed
[14:18:47.203] event1  - ELO Touch Solutions  ELO Touch Solutions AccuTouch 2218 : device removed
[14:18:47.283] event0  - sc-powerkey: device removed
[14:18:47.411] BUG: layer_list is not empty after shutdown. Calls to weston_layer_fini() are missing somwhere.

@Lon,

Thanks for posting the output. It looks like the container is registering the new connector, but when it attempts to launch the shell it cannot find HDMI-A-1. Can you verify your weston.ini file information? You should have some aspect of :

[output]
name=HDMI-A-1

Here is a bit more information on weston.ini file If you do not have this file already made you may need to create the directory and file.

-Eric

ok. forgive my ignorance but I am still in the learning phase of all this docker and container fun.

so the weston.ini file I need to look for it the one in the container for the touch screen calibration?

if so there is no output section there.

[core]
idle-time=0
require-input=false
xwayland=true

[libinput]
touchscreen_calibrator=true
calibration_helper=/usr/bin/save-calibration.sh

[shell]
panel-position=top
locking=false
allow-zap=true
num-workspaces=1

if it is somewhere else. then I will have to stop here and attempt to get the torizoncore builder going first I think.

@lon,

You would add the [output] section manually.

[core]
idle-time=0
require-input=false
xwayland=true

[libinput]
touchscreen_calibrator=true
calibration_helper=/usr/bin/save-calibration.sh

[shell]
panel-position=top
locking=false
allow-zap=true
num-workspaces=1

[output]
name=HDMI-A-1

-Eric

alright. I start the weston touch calibration container. I can then edit the weston.ini through the individual containers in VS code. but the changes do not appear to be persistent after I terminate and restart. I am sure this is all just a knowledge issue. that is why I thought I may need to get the torzoncore-builder working to make a new container. I appologize that this is going on as long as it is. so far I have the application software development side of things going. it is just the hardware and container parts that are throwing me off.

Hey @Lon,

Thats good that it working. And no need to apologies, part of the Toradex experience is getting software support. It’s what we do!

You are correct that it is not persistent. So we need to be able to save these configurations. Now would probably be the time to get TorizonCore builder working, because that is our recommend method of saving the changing. This information is under the same link with “Development and Production>”

-Eric

Well good news is I tried a different HDMI display with a capacitive touch screen and that works. but normally you don’t need to calibrate those guys. so now I am not sure it has to do with the HDMI display.

OK I have done a get on the device trees and linux for torizon 6.3 not sure where those folders should go in relation to tcbdir so they are currently in that folder along with the images folder. I have the sample generated tcbuild.yaml file. so the question is what do I need to do select or make changes to the correct device tree?

~/tcbdir$ ls
Apalis-iMX8_Reference-Minimal-Image-Tezi_6.3.0+build.7.tar
device-trees
images
linux
tcb-env-setup.sh
tcbuild.yaml
torizon-core-docker-apalis-imx8-Tezi_6.3.0+build.4.tar
torizon-core-docker-apalis-imx8-Tezi_6.3.0+build.4.tar:Zone.Identifier
powis@DESKTOP-NMD62I2:~/tcbdir$

Hey @Lon,

Would you mind starting a new ticket for the new question? It helps when people search for solutions for old posts.
But to get you started. A typical project might look something like this:

image

with a custom device tree overlay file located in : device-trees/overlays/my-custom-device-tree.dts

and it gets referenced in the tcbuild.yaml file:

image

This document is a great reference for work-flow:

-Eric

ok I will start a new one. but real quick when you use the torizoncore-builder unpack command. where does the output of that goto? I have yet to see any folders anywhere when I run it.

Hey @Lon,

You won’t see the results of unpack command in the root folder, it’s going to be held in a docker volume.

-Eric