Problem getting touch on a display to work on a RPi3 B+

Hi,

I’m not very experienced with configuring a LCD display, or actually configuring RPi’s in general. I’ve tried to search with the best keywords I can come up with, but without any luck. Hope it’s Ok that I ask for some help here.

I’m not able to get the touch input to work on a WaveShare 10.1 HDMI touchscreen. The display doesn’t require any custom overlays, and I was hoping that would make it easy to use with Ubuntu Core. Here is the given parameters for the config.txt.

(Note: When Ubuntu Core is seeded, the two parameters hdmi_group and hdmi_mode will automatically be commented out during the seeding process… I don’t understand why.)

I’m trying out the touch feature with Ubuntu Frame + MIR, and this seems to work great - but without the touch feature.

It does however look like that the display do recognize some touch inputs, as the cursor sometimes appears in the upper left corner when I press the display. But this isn’t constant…

I saw that some are re-maping the sda1_pin scl1_pin, but I’m not able to actually understand if that is something I have to do too?

Any help and suggestions on what I can try and what I can do to debug this is highly welcome.

you can set them using “snap set” … there are system options for it:

Hi,

Thank you. Unfortunately it didn’t fix the issue. The cursor appear when I touch the display at first, but it appears and stays in the upper left corner of the display - no matter where I touch.

Should this normally work «out of the box»? How can I verify that the settings given in the config.txt file and by the snap set are applied?

the snap set simply edits the config.txt file, it is still authoritative during boot, it is just that snapd might unset options if snap set and config.txt differ …

i dont think there is a way to tap into the proprietary bootloader to actually see what/how it processes config.txt configuration though.

since i can not give any hint on the waveshare display touch function itself here i’ll leave this bit to the mir team … perhaps @alan_g has an idea how to at least debug on which level it fails (kernel, mir, etc) ?

The cursor appearing when the screen is touched is odd: it suggests that libinput is reporting mouse events to Mir, not touch events. (The cursor is used for mouse, or touchpad configured as a “mouse”, input not for touch input.)

I’ve no immediate thoughts on how to debug this - every touchscreen I’ve plugged into a device running Mir has “just worked”.

Is it possible to attach the logs from Ubuntu Frame? They may include some indication of what is happening.

1 Like

Hi,

Thanks for your helping out, both of you :slight_smile:

Without any changes to the Pi config/config.txt?

Based on your post @alan_g, I realized that the attached USB keyboard could be the cause for the mouse to appear… That turned out to be true, even though it doesn’t appear until I touch the display.

Here is a log output (snap logs ubuntu-frame -f) after a snap restart:

giaever-online@ubuntu:~$ sudo snap restart ubuntu-frame.daemon 
Restarted.
giaever-online@ubuntu:~$ sudo snap logs ubuntu-frame.daemon -f
2023-07-04T09:36:16Z ubuntu-frame.daemon[1839]: + exec /snap/ubuntu-frame/5795/usr/local/bin/frame
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.324661] < - debug - > miral: Loaded display configuration file: /var/snap/ubuntu-frame/5795/frame.display
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.409249] <information> mirserver: Starting
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.411514] < - debug - > mirserver: Using Linux VT subsystem for session management
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.414585] <information> mircommon: Loading modules from: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.416082] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.417174] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.418235] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.427252] <information> mirserver: Found display driver: mir:gbm-kms (version 2.13.0)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.476883] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver vc4-drm
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.840342] < -warning- > gbm-kms: Failed to detect whether device /dev/dri/card0 supports KMS, continuing with lower confidence
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.847541] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.848085] <information> mirserver: Driver supports:
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.848366] <information> mirserver: 	/devices/platform/soc/soc:gpu/drm/card0 (priority 128)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.848505] <information> mirserver: Found display driver: mir:x11 (version 2.13.0)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.848784] <information> mirserver: (Unsupported by system environment)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.849329] <information> mirserver: Selected display driver: mir:gbm-kms (version 2.13.0)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.855493] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver vc4-drm
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.856289] < -warning- > gbm-kms: Failed to detect whether device /dev/dri/card0 supports KMS, but continuing anyway
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.856649] <information> gbm-kms: Using DRM device /dev/dri/card0
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.907653] <information> mircommon: Loading modules from: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.908278] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.908603] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.908817] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.917959] <information> mirserver: Found rendering driver: mir:gbm-kms (version 2.13.0)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.928440] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/card0, driver vc4-drm
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.930334] < - debug - > gbm-kms: Quirks: checking device with devnode: (null), driver
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.932168] < - debug - > gbm-kms: Quirks: checking device with devnode: /dev/dri/renderD128, driver vc4-drm
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.968709] <information> mirserver: Driver supports:
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.969055] <information> mirserver: 	/devices/platform/soc/soc:gpu/drm/renderD128 (priority 256)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.969210] <information> mirserver: Found rendering driver: mir:x11 (version 2.13.0)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.969288] <information> mirserver: (Unsupported by system environment)
2023-07-04T09:36:17Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:17.969616] <information> mirserver: Selected rendering driver: mir:gbm-kms (version 2.13.0)
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.024427] < -warning- > gbm-kms: Unable to determine the current display mode.
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.030470] <information> gbm-kms: DRM device details:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.030916] <information> gbm-kms: /dev/dri/card0: using driver vc4 [Broadcom VC4 graphics] (version: 0.0.0 driver date: 20140616)
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057017] <information> gbm-kms: 	Output: HDMI-A-1 (connected)
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057410] <information> gbm-kms: 		Mode: 1024×600@60.04
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057537] <information> gbm-kms: 		Mode: 1920×1080@60.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057605] <information> gbm-kms: 		Mode: 1920×1080@59.94
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057667] <information> gbm-kms: 		Mode: 1920×1080@30.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057727] <information> gbm-kms: 		Mode: 1920×1080@29.97
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057805] <information> gbm-kms: 		Mode: 1920×1080@50.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057865] <information> gbm-kms: 		Mode: 1920×1080@25.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057927] <information> gbm-kms: 		Mode: 1280×1024@75.02
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.057987] <information> gbm-kms: 		Mode: 1280×1024@60.01
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058050] <information> gbm-kms: 		Mode: 1440×900@74.98
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058111] <information> gbm-kms: 		Mode: 1440×900@59.90
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058173] <information> gbm-kms: 		Mode: 1360×768@59.94
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058234] <information> gbm-kms: 		Mode: 1152×864@75.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058305] <information> gbm-kms: 		Mode: 1280×720@60.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058367] <information> gbm-kms: 		Mode: 1280×720@59.94
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058427] <information> gbm-kms: 		Mode: 1280×720@50.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058533] <information> gbm-kms: 		Mode: 1024×768@75.02
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058595] <information> gbm-kms: 		Mode: 1024×768@70.06
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058658] <information> gbm-kms: 		Mode: 1024×768@60.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058718] <information> gbm-kms: 		Mode: 832×624@74.55
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058793] <information> gbm-kms: 		Mode: 800×600@75.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058856] <information> gbm-kms: 		Mode: 800×600@72.18
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058914] <information> gbm-kms: 		Mode: 800×600@60.31
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.058976] <information> gbm-kms: 		Mode: 800×600@56.25
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.059034] <information> gbm-kms: 		Mode: 720×576@50.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.059092] <information> gbm-kms: 		Mode: 720×576@25.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.059150] <information> gbm-kms: 		Mode: 720×480@60.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.059211] <information> gbm-kms: 		Mode: 720×480@59.94
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071466] <information> gbm-kms: 		Mode: 720×480@30.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071634] <information> gbm-kms: 		Mode: 720×480@29.97
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071699] <information> gbm-kms: 		Mode: 640×480@75.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071770] <information> gbm-kms: 		Mode: 640×480@72.80
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071830] <information> gbm-kms: 		Mode: 640×480@60.00
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071893] <information> gbm-kms: 		Mode: 640×480@59.94
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.071952] <information> gbm-kms: 		Mode: 720×400@70.08
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.072114] < - debug - > miral: Display config using layout: 'default'
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.072512] <information> miral: Display config:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: 8>< ---------------------------------------------------
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: layouts:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:   default:                         # the current layout
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:     cards:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:     # a list of cards (currently matched by card-id)
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:     - card-id: 0
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:       HDMI-A-1:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # This output supports the following modes: 1024x600@60.0, 1920x1080@60.0,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 1920x1080@59.9, 1920x1080@30.0, 1920x1080@30.0, 1920x1080@50.0, 1920x1080@25.0,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 1280x1024@75.0, 1280x1024@60.0, 1440x900@75.0, 1440x900@59.9, 1360x768@59.9,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 1152x864@75.0, 1280x720@60.0, 1280x720@59.9, 1280x720@50.0, 1024x768@75.0,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 1024x768@70.1, 1024x768@60.0, 832x624@74.5, 800x600@75.0, 800x600@72.2,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 800x600@60.3, 800x600@56.2, 720x576@50.0, 720x576@25.0, 720x480@60.0,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 720x480@59.9, 720x480@30.0, 720x480@30.0, 640x480@75.0, 640x480@72.8,
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # 640x480@60.0, 640x480@59.9, 720x400@70.1
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         #
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # Uncomment the following to enforce the selected configuration.
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         # Or amend as desired.
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         #
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         state: enabled	# {enabled, disabled}, defaults to enabled
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         mode: 1024x600@60.0	# Defaults to preferred mode
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         position: [0, 0]	# Defaults to [0, 0]
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         orientation: normal	# {normal, left, right, inverted}, defaults to normal
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         scale: 1
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]:         group: 0	# Outputs with the same non-zero value are treated as a single display
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: 8>< ---------------------------------------------------
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.133734] < -warning- > gbm-kms: drmModeCrtcSetGamma failed: Function not implemented
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.157363] <information> gbm-kms: Detected single-GPU DisplayBuffer. Rendering will be sent directly to output
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.343903] <information> mirserver: Using hardware cursor
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8"
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.430379] <information> GLRenderer: EGL vendor: Mesa Project
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.430745] <information> GLRenderer: EGL version: 1.4
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.430900] <information> GLRenderer: EGL client APIs: OpenGL OpenGL_ES
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.431055] <information> GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.431224] <information> GLRenderer: GL vendor: Broadcom
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.432400] <information> GLRenderer: GL renderer: VC4 V3D 2.1
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.432576] <information> GLRenderer: GL version: OpenGL ES 2.0 Mesa 21.2.6
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.432664] <information> GLRenderer: GLSL version: OpenGL ES GLSL ES 1.0.16
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.433024] <information> GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_depth_texture GL_AMD_performance_monitor GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_EXT_occlusion_query_boolean GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_separate_shader_objects GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_KHR_parallel_shader_compile GL_MESA_tile_raster_order GL_MESA_bgra
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.433245] <information> GLRenderer: GL max texture size = 2048
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.438219] <information> GLRenderer: GL framebuffer bits: RGBA=0000, depth=0, stencil=0
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.440439] <information> gbm-kms-buffer-allocator: Enabled linux-dmabuf import support
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.442735] <information> mircommon: Loading modules from: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.443558] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.444181] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.444561] <information> mircommon: Loading module: /snap/ubuntu-frame/5795/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.515902] <information> mirserver: Selected input driver: mir:evdev-input (version: 2.13.0)
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.517848] <information> mirserver: Mir version 2.13.0
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.525777] <information> GLRenderer: EGL vendor: Mesa Project
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526268] <information> GLRenderer: EGL version: 1.4
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526484] <information> GLRenderer: EGL client APIs: OpenGL OpenGL_ES
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526679] <information> GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526768] <information> GLRenderer: GL vendor: Broadcom
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526834] <information> GLRenderer: GL renderer: VC4 V3D 2.1
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526893] <information> GLRenderer: GL version: OpenGL ES 2.0 Mesa 21.2.6
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.526953] <information> GLRenderer: GLSL version: OpenGL ES GLSL ES 1.0.16
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.527251] <information> GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_depth_texture GL_AMD_performance_monitor GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_EXT_occlusion_query_boolean GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_separate_shader_objects GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_KHR_parallel_shader_compile GL_MESA_tile_raster_order GL_MESA_bgra
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.527454] <information> GLRenderer: GL max texture size = 2048
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.527563] <information> GLRenderer: GL framebuffer bits: RGBA=8880, depth=0, stencil=0
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.550367] <information> mirserver: Initial display configuration:
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.550646] <information> mirserver: * Output 1: HDMI-A connected, used
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.550799] <information> mirserver: . |_ EDID monitor name: LEN L1950wD
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.550881] <information> mirserver: . |_ EDID manufacturer: LEN
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.550951] <information> mirserver: . |_ EDID product code: 4230
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551034] <information> mirserver: . |_ Physical size 19.1" 410x260mm
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551099] <information> mirserver: . |_ Power is on
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551164] <information> mirserver: . |_ Current mode 1024x600 60.04Hz
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551225] <information> mirserver: . |_ Preferred mode 1024x600 60.04Hz
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551370] <information> mirserver: . |_ Orientation normal
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551456] <information> mirserver: . |_ Logical size 1024x600
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551517] <information> mirserver: . |_ Logical position +0+0
2023-07-04T09:36:18Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:18.551576] <information> mirserver: . |_ Scaling factor: 1.00
2023-07-04T09:36:22Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:22.330231] <information> frame: New surface for snap="wpe-webkit-mir-kiosk" with title="Cog"

2023-07-04T09:36:49Z ubuntu-frame.daemon[1839]: [2023-07-04 09:36:49.650809] <information> evdev-input: Added /dev/input/event4
  • The last line (<information> evdev-input: Added /dev/input/event4) in the log appears when I press/touch the screen for the first time, but it only happens once.

And this appears when I insert and unplug the USB device:

2023-07-04T09:38:23Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:23.702881] <information> evdev-input: Added /dev/input/event1: USB Receiver
2023-07-04T09:38:23Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:23.732095] <information> evdev-input: Added /dev/input/event3: USB Receiver
2023-07-04T09:38:23Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:23.761088] <information> evdev-input: Added /dev/input/event0: USB Receiver
2023-07-04T09:38:23Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:23.792201] <information> evdev-input: Added /dev/input/event2: USB Receiver
2023-07-04T09:38:28Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:28.758818] <information> evdev-input: Removed /dev/input/event0: USB Receiver
2023-07-04T09:38:28Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:28.845109] <information> evdev-input: Removed /dev/input/event1: USB Receiver
2023-07-04T09:38:29Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:29.888147] <information> evdev-input: Removed /dev/input/event2: USB Receiver
2023-07-04T09:38:29Z ubuntu-frame.daemon[1839]: [2023-07-04 09:38:29.889832] <information> evdev-input: Removed /dev/input/event3: USB Receiver
  • The USB keyboard was not attached when ubuntu-frame was restarted

EDIT: Quoted the wrong line about the log entry about first press/touch

Yes. (But that doesn’t mean it is never needed.)

That isn’t strange, libinput only needs to add each device once (unless it is removed). The timing suggests it is seeing the touchscreen as an input device.

It is possible to get some more detail by adding input-report=log to the Ubuntu Frame config. That ought to tell us what is being reported to Mir.

Added input-report=log with snap set, and did a restart of the daemon. By pressing somewhere at the display, these lines comes into the log:

2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.130322] <information> evdev-input: Added /dev/input/event0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.132691] <information> input: Input device opened  name=event0 platform=evdev-input
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.133323] <information> input: Received event time=13385323206000 (3.462052ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.147065] <information> input: Received event time=13385335152000 (5.272546ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.154500] <information> input: Received event time=13385347260000 (0.573155ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.166091] <information> input: Received event time=13385359038000 (0.409107ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.214533] <information> input: Received event time=13385407143000 (0.683604ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.225869] <information> input: Received event time=13385418929000 (0.306089ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.239200] <information> input: Received event time=13385431230000 (1.202367ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.250156] <information> input: Received event time=13385443113000 (0.391186ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.261926] <information> input: Received event time=13385454955000 (0.331211ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.274162] <information> input: Received event time=13385467028000 (0.450598ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.286131] <information> input: Received event time=13385479082000 (0.400287ms ago) type=EV_SYN code=0 value=0
2023-07-04T13:55:13Z ubuntu-frame.daemon[3484]: [2023-07-04 13:55:13.295822] <information> input: Received event time=13385488235000 (0.770417ms ago) type=EV_SYN code=0 value=0

But nothing seems to happen…

Sliding my finger around in a circle, produces similar lines with different time-values, but these have always the same value type=EV_SYN code=0 value=0

That’s all that gets logged for touch events. (There are separate up/down/motion and sync events from libinput, but only the sync is being logged by Mir when it collates everything that happened since the last sync.)

At least that proves libinput is presenting your touchscreen as a touch device.

On a classic system it would be possible to use libinput debug-events to list what’s actually happening. I don’t think there’s a snap with that utility included. (Yet - obviously this could be useful, not just here.)

For touch display at RasPi, I use these settings:

The config changes I did to Raspberry Pi OS:

sudo nano /boot/config.txt

Add to bottom:

# USB Type-C Host for Nexdock.com

dtoverlay=dwc2,dr_mode=host

I don’t think these settings are helpful in this case at all.

I’ll make a card with Ubuntu Server and try do replicate the issue. Thanks!

@joachimmg I’ve created a snap of libinput tools:

Get it from the Snap Store

You should be able to see the input events with:

sudo libinput.debug-events

[edit]

You’ll need to connect the hardware-observe and raw-input plugs, at least for the time being

Hi @alan_g,

Thank you so much. I started the other day to install Ubuntu Classic, but didn’t get enough time to make it ready for testing.

This helps a lot!

Here’s an output from the command:

giaever-online@ubuntu:~$ sudo libinput.debug-events
-event0   DEVICE_ADDED            ADS7846 Touchscreen               seat0 default group1  cap:t ntouches 1 calib
 event0   TOUCH_DOWN              +0.000s	-1 (0) 86.13/53.42 (3528.00/2188.00mm)
 event0   TOUCH_FRAME             +0.000s	
 event0   TOUCH_MOTION            +0.011s	-1 (0) 85.94/53.76 (3520.00/2202.00mm)
 event0   TOUCH_FRAME             +0.011s	
 event0   TOUCH_MOTION            +0.023s	-1 (0) 85.60/53.61 (3506.00/2196.00mm)
 event0   TOUCH_FRAME             +0.023s	
 event0   TOUCH_MOTION            +0.036s	-1 (0) 85.60/53.74 (3506.00/2201.00mm)
 event0   TOUCH_FRAME             +0.036s	
 event0   TOUCH_MOTION            +0.048s	-1 (0) 85.60/53.83 (3506.00/2205.00mm)
 event0   TOUCH_FRAME             +0.048s	
 event0   TOUCH_MOTION            +0.060s	-1 (0) 85.72/53.83 (3511.00/2205.00mm)
 event0   TOUCH_FRAME             +0.060s	
 event0   TOUCH_MOTION            +0.072s	-1 (0) 86.52/53.64 (3544.00/2197.00mm)
 event0   TOUCH_FRAME             +0.072s	
 event0   TOUCH_MOTION            +0.088s	-1 (0) 85.77/53.47 (3513.00/2190.00mm)
 event0   TOUCH_FRAME             +0.088s	
 event0   TOUCH_MOTION            +0.100s	-1 (0) 85.99/53.44 (3522.00/2189.00mm)
 event0   TOUCH_FRAME             +0.100s	
 event0   TOUCH_UP                +0.109s	-1 (0)
 event0   TOUCH_FRAME             +0.109s	
 event0   TOUCH_DOWN              +0.828s	-1 (0) 88.09/54.44 (3608.00/2230.00mm)
 event0   TOUCH_FRAME             +0.828s	
 event0   TOUCH_MOTION            +0.840s	-1 (0) 87.99/54.17 (3604.00/2219.00mm)
 event0   TOUCH_FRAME             +0.840s	
 event0   TOUCH_MOTION            +0.852s	-1 (0) 88.01/53.86 (3605.00/2206.00mm)
 event0   TOUCH_FRAME             +0.852s	
 event0   TOUCH_MOTION            +0.864s	-1 (0) 88.72/54.03 (3634.00/2213.00mm)
 event0   TOUCH_FRAME             +0.864s	
 event0   TOUCH_MOTION            +0.875s	-1 (0) 88.79/53.91 (3637.00/2208.00mm)
 event0   TOUCH_FRAME             +0.875s	
 event0   TOUCH_MOTION            +0.888s	-1 (0) 88.92/54.03 (3642.00/2213.00mm)
 event0   TOUCH_FRAME             +0.888s	
 event0   TOUCH_MOTION            +0.900s	-1 (0) 88.89/54.10 (3641.00/2216.00mm)
 event0   TOUCH_FRAME             +0.900s	
 event0   TOUCH_MOTION            +0.912s	-1 (0) 89.33/54.27 (3659.00/2223.00mm)
 event0   TOUCH_FRAME             +0.912s	
 event0   TOUCH_UP                +0.921s	-1 (0)
 event0   TOUCH_FRAME             +0.921s	
 event0   TOUCH_DOWN              +2.992s	-1 (0) 23.36/60.86 (957.00/2493.00mm)
 event0   TOUCH_FRAME             +2.992s	
 event0   TOUCH_MOTION            +3.003s	-1 (0) 24.32/60.79 (996.00/2490.00mm)
 event0   TOUCH_FRAME             +3.003s	
 event0   TOUCH_MOTION            +3.016s	-1 (0) 25.37/60.67 (1039.00/2485.00mm)
 event0   TOUCH_FRAME             +3.016s	
 event0   TOUCH_MOTION            +3.028s	-1 (0) 26.71/60.28 (1094.00/2469.00mm)
 event0   TOUCH_FRAME             +3.028s	
 event0   TOUCH_MOTION            +3.040s	-1 (0) 27.88/60.03 (1142.00/2459.00mm)
 event0   TOUCH_FRAME             +3.040s	
 event0   TOUCH_MOTION            +3.052s	-1 (0) 29.57/59.81 (1211.00/2450.00mm)
 event0   TOUCH_FRAME             +3.052s	
 event0   TOUCH_MOTION            +3.064s	-1 (0) 31.59/59.59 (1294.00/2441.00mm)
 event0   TOUCH_FRAME             +3.064s	
 event0   TOUCH_MOTION            +3.075s	-1 (0) 33.64/59.40 (1378.00/2433.00mm)
 event0   TOUCH_FRAME             +3.075s	
 event0   TOUCH_MOTION            +3.087s	-1 (0) 35.50/59.03 (1454.00/2418.00mm)
 event0   TOUCH_FRAME             +3.087s	
 event0   TOUCH_MOTION            +3.099s	-1 (0) 37.60/58.74 (1540.00/2406.00mm)
 event0   TOUCH_FRAME             +3.099s	
 event0   TOUCH_MOTION            +3.112s	-1 (0) 39.31/58.98 (1610.00/2416.00mm)
 event0   TOUCH_FRAME             +3.112s	
 event0   TOUCH_MOTION            +3.124s	-1 (0) 41.09/58.35 (1683.00/2390.00mm)
 event0   TOUCH_FRAME             +3.124s	
 event0   TOUCH_MOTION            +3.136s	-1 (0) 42.80/58.01 (1753.00/2376.00mm)
 event0   TOUCH_FRAME             +3.136s	
 event0   TOUCH_MOTION            +3.148s	-1 (0) 44.65/57.67 (1829.00/2362.00mm)
 event0   TOUCH_FRAME             +3.148s	
 event0   TOUCH_MOTION            +3.160s	-1 (0) 46.26/57.47 (1895.00/2354.00mm)
 event0   TOUCH_FRAME             +3.160s	
 event0   TOUCH_MOTION            +3.172s	-1 (0) 47.66/57.13 (1952.00/2340.00mm)
 event0   TOUCH_FRAME             +3.172s	
 event0   TOUCH_MOTION            +3.183s	-1 (0) 49.00/56.86 (2007.00/2329.00mm)
 event0   TOUCH_FRAME             +3.183s	
 event0   TOUCH_UP                +3.193s	-1 (0)
 event0   TOUCH_FRAME             +3.193s	
 event0   TOUCH_DOWN              +3.208s	-1 (0) 51.17/56.30 (2096.00/2306.00mm)
 event0   TOUCH_FRAME             +3.208s	
 event0   TOUCH_MOTION            +3.220s	-1 (0) 52.44/55.93 (2148.00/2291.00mm)
 event0   TOUCH_FRAME             +3.220s	
 event0   TOUCH_MOTION            +3.231s	-1 (0) 53.22/55.64 (2180.00/2279.00mm)
 event0   TOUCH_FRAME             +3.231s	
 event0   TOUCH_MOTION            +3.244s	-1 (0) 54.59/55.54 (2236.00/2275.00mm)
 event0   TOUCH_FRAME             +3.244s	
 event0   TOUCH_MOTION            +3.256s	-1 (0) 55.88/55.37 (2289.00/2268.00mm)
 event0   TOUCH_FRAME             +3.256s	
 event0   TOUCH_UP                +3.265s	-1 (0)
 event0   TOUCH_FRAME             +3.265s	
 event0   TOUCH_DOWN              +3.604s	-1 (0) 47.12/68.85 (1930.00/2820.00mm)
 event0   TOUCH_FRAME             +3.604s	
 event0   TOUCH_MOTION            +3.616s	-1 (0) 46.19/67.38 (1892.00/2760.00mm)
 event0   TOUCH_FRAME             +3.616s	
 event0   TOUCH_MOTION            +3.628s	-1 (0) 45.12/67.16 (1848.00/2751.00mm)
 event0   TOUCH_FRAME             +3.628s	
 event0   TOUCH_UP                +3.637s	-1 (0)
 event0   TOUCH_FRAME             +3.637s	
 event0   TOUCH_DOWN              +3.759s	-1 (0) 20.61/65.41 (844.00/2679.00mm)
 event0   TOUCH_FRAME             +3.759s	
 event0   TOUCH_MOTION            +3.776s	-1 (0) 17.70/64.97 (725.00/2661.00mm)
 event0   TOUCH_FRAME             +3.776s	
 event0   TOUCH_MOTION            +3.788s	-1 (0) 15.65/64.16 (641.00/2628.00mm)
 event0   TOUCH_FRAME             +3.788s	
 event0   TOUCH_MOTION            +3.800s	-1 (0) 13.50/63.43 (553.00/2598.00mm)
 event0   TOUCH_FRAME             +3.800s	
 event0   TOUCH_MOTION            +3.812s	-1 (0) 11.33/62.52 (464.00/2561.00mm)
 event0   TOUCH_FRAME             +3.812s	
 event0   TOUCH_UP                +3.821s	-1 (0)
 event0   TOUCH_FRAME             +3.821s	
 event0   TOUCH_DOWN              +3.836s	-1 (0)  8.11/60.57 (332.00/2481.00mm)
 event0   TOUCH_FRAME             +3.836s	
 event0   TOUCH_MOTION            +3.848s	-1 (0)  6.47/59.42 (265.00/2434.00mm)
 event0   TOUCH_FRAME             +3.848s	
 event0   TOUCH_MOTION            +3.860s	-1 (0)  4.93/58.40 (202.00/2392.00mm)
 event0   TOUCH_FRAME             +3.860s	
 event0   TOUCH_MOTION            +3.872s	-1 (0)  6.32/58.84 (259.00/2410.00mm)
 event0   TOUCH_FRAME             +3.872s	
 event0   TOUCH_UP                +3.881s	-1 (0)
 event0   TOUCH_FRAME             +3.881s	
 event0   TOUCH_DOWN              +4.024s	-1 (0)  4.22/43.29 (173.00/1773.00mm)
 event0   TOUCH_FRAME             +4.024s	
 event0   TOUCH_UP                +4.033s	-1 (0)
 event0   TOUCH_FRAME             +4.033s	
 event0   TOUCH_DOWN              +4.048s	-1 (0)  6.76/41.36 (277.00/1694.00mm)
 event0   TOUCH_FRAME             +4.048s	
 event0   TOUCH_UP                +4.057s	-1 (0)
 event0   TOUCH_FRAME             +4.057s	
 event0   TOUCH_DOWN              +5.452s	-1 (0) 31.76/80.62 (1301.00/3302.00mm)
 event0   TOUCH_FRAME             +5.452s	
 event0   TOUCH_MOTION            +5.463s	-1 (0) 29.35/80.47 (1202.00/3296.00mm)
 event0   TOUCH_FRAME             +5.463s	
 event0   TOUCH_MOTION            +5.476s	-1 (0) 27.88/80.18 (1142.00/3284.00mm)
 event0   TOUCH_FRAME             +5.476s	
 event0   TOUCH_MOTION            +5.488s	-1 (0) 26.22/79.61 (1074.00/3261.00mm)
 event0   TOUCH_FRAME             +5.488s	
 event0   TOUCH_MOTION            +5.499s	-1 (0) 24.66/79.13 (1010.00/3241.00mm)
 event0   TOUCH_FRAME             +5.499s	
 event0   TOUCH_MOTION            +5.511s	-1 (0) 23.36/78.52 (957.00/3216.00mm)
 event0   TOUCH_FRAME             +5.511s	
 event0   TOUCH_MOTION            +5.524s	-1 (0) 22.39/77.71 (917.00/3183.00mm)
 event0   TOUCH_FRAME             +5.524s	
 event0   TOUCH_MOTION            +5.536s	-1 (0) 21.36/76.76 (875.00/3144.00mm)
 event0   TOUCH_FRAME             +5.536s	
 event0   TOUCH_MOTION            +5.547s	-1 (0) 20.48/75.83 (839.00/3106.00mm)
 event0   TOUCH_FRAME             +5.547s	
 event0   TOUCH_MOTION            +5.560s	-1 (0) 19.95/74.56 (817.00/3054.00mm)
 event0   TOUCH_FRAME             +5.560s	
 event0   TOUCH_UP                +5.569s	-1 (0)
 event0   TOUCH_FRAME             +5.569s	
 event0   TOUCH_DOWN              +5.595s	-1 (0) 18.41/70.63 (754.00/2893.00mm)
 event0   TOUCH_FRAME             +5.595s	
 event0   TOUCH_MOTION            +5.608s	-1 (0) 18.29/69.19 (749.00/2834.00mm)
 event0   TOUCH_FRAME             +5.608s	
 event0   TOUCH_MOTION            +5.620s	-1 (0) 18.16/67.68 (744.00/2772.00mm)
 event0   TOUCH_FRAME             +5.620s	
 event0   TOUCH_MOTION            +5.632s	-1 (0) 18.09/65.99 (741.00/2703.00mm)
 event0   TOUCH_FRAME             +5.632s	
 event0   TOUCH_MOTION            +5.644s	-1 (0) 18.16/64.40 (744.00/2638.00mm)
 event0   TOUCH_FRAME             +5.644s	
 event0   TOUCH_MOTION            +5.660s	-1 (0) 18.55/62.04 (760.00/2541.00mm)
 event0   TOUCH_FRAME             +5.660s	
 event0   TOUCH_UP                +5.669s	-1 (0)
 event0   TOUCH_FRAME             +5.669s	
 event0   TOUCH_DOWN              +6.264s	-1 (0) 66.50/31.30 (2724.00/1282.00mm)
 event0   TOUCH_FRAME             +6.264s	
 event0   TOUCH_UP                +6.273s	-1 (0)
 event0   TOUCH_FRAME             +6.273s	
 event0   TOUCH_DOWN              +6.291s	-1 (0) 66.53/29.59 (2725.00/1212.00mm)
 event0   TOUCH_FRAME             +6.291s	
 event0   TOUCH_MOTION            +6.304s	-1 (0) 66.75/28.93 (2734.00/1185.00mm)
 event0   TOUCH_FRAME             +6.304s	
 event0   TOUCH_MOTION            +6.316s	-1 (0) 66.99/28.27 (2744.00/1158.00mm)
 event0   TOUCH_FRAME             +6.316s	
 event0   TOUCH_MOTION            +6.328s	-1 (0) 66.82/27.69 (2737.00/1134.00mm)
 event0   TOUCH_FRAME             +6.328s	
 event0   TOUCH_MOTION            +6.340s	-1 (0) 67.04/26.93 (2746.00/1103.00mm)
 event0   TOUCH_FRAME             +6.340s	
 event0   TOUCH_MOTION            +6.351s	-1 (0) 67.24/26.15 (2754.00/1071.00mm)
 event0   TOUCH_FRAME             +6.351s	
 event0   TOUCH_UP                +6.361s	-1 (0)
 event0   TOUCH_FRAME             +6.361s	
 event0   TOUCH_DOWN              +6.376s	-1 (0) 66.55/24.51 (2726.00/1004.00mm)
 event0   TOUCH_FRAME             +6.376s	
 event0   TOUCH_UP                +6.385s	-1 (0)
 event0   TOUCH_FRAME             +6.385s	
 event0   TOUCH_DOWN              +6.400s	-1 (0) 64.11/23.32 (2626.00/955.00mm)
 event0   TOUCH_FRAME             +6.400s	
 event0   TOUCH_MOTION            +6.416s	-1 (0) 61.94/22.97 (2537.00/941.00mm)
 event0   TOUCH_FRAME             +6.416s	
 event0   TOUCH_MOTION            +6.428s	-1 (0) 60.30/22.68 (2470.00/929.00mm)
 event0   TOUCH_FRAME             +6.428s	
 event0   TOUCH_UP                +6.437s	-1 (0)
 event0   TOUCH_FRAME             +6.437s	
 event0   TOUCH_DOWN              +6.452s	-1 (0) 57.52/22.51 (2356.00/922.00mm)
 event0   TOUCH_FRAME             +6.452s	
 event0   TOUCH_UP                +6.461s	-1 (0)
 event0   TOUCH_FRAME             +6.461s	

Well, that looks sane: that should be working with Ubuntu Frame.

What client snap are you using? Are you sure that has touch support?

By client, you mean e.g wpe-webkit-mir-kiosk? If yes, that’s the one I’m using. :slight_smile:

I’ve tried to search a bit whether or not it should support touch screens, but I can’t find a concrete answer to it. But based on other topics on the forum, it seems to support it. I might be wrong.

Yes, IIRC wpe-webkit-mir-kiosk does work with touch - although how that manifests (if at all) would depend on the website in use.

What you could do is trace the libinput events while trying to use touch on a website and confirm that things still look sensible.

On the other side of Mir, you can trace the touch events sent to the client and see if they correspond:

snap stop wpe-webkit-mir-kiosk.cog
sudo WAYLAND_DEBUG=client snap run wpe-webkit-mir-kiosk.cog 2>&1 | grep wl_touch

Hi,

Ah, so the website itself need to add support for libinput-events? I don’t know why, but I assumed the browser itself would handle it and act like e.g a touch device (e.g a smartphone) would work.

Doesn’t seem like the service cog exists in the snap wpe-webkit-mir-kiosk. I’m running on the stable channel, revision 88, which is the same for any of the other channels. I killed the daemon.

This is the result from the run command:

giaever-online@ubuntu:~$ sudo WAYLAND_DEBUG=client snap run wpe-webkit-mir-kiosk.cog 2>&1 | grep wl_touch
[2989752.098]  -> wl_seat@6.get_touch(new id wl_touch@21)
[3014714.391] wl_touch@21.down(126, 84776294, wl_surface@13, -1, 735.500000, 45.117188)
[3014714.723] wl_touch@21.frame()
[3014725.398] wl_touch@21.motion(84776306, -1, 741.250000, 48.046875)
[3014725.614] wl_touch@21.frame()
[3014734.555] wl_touch@21.up(127, 84776316, -1)
[3014734.796] wl_touch@21.frame()
[3015245.904] wl_touch@21.down(128, 84776826, wl_surface@13, -1, 715.250000, 54.199219)
[3015246.320] wl_touch@21.frame()
[3015257.344] wl_touch@21.motion(84776838, -1, 717.250000, 54.929688)
[3015257.600] wl_touch@21.frame()
[3015266.418] wl_touch@21.up(129, 84776848, -1)
[3015266.659] wl_touch@21.frame()
[3015701.708] wl_touch@21.down(130, 84777282, wl_surface@13, -1, 754.000000, 29.445312)
[3015702.112] wl_touch@21.frame()
[3015713.291] wl_touch@21.motion(84777294, -1, 746.500000, 30.031250)
[3015713.563] wl_touch@21.frame()
[3015725.378] wl_touch@21.motion(84777306, -1, 745.250000, 25.929688)
[3015725.692] wl_touch@21.frame()
[3015737.125] wl_touch@21.motion(84777318, -1, 734.500000, 31.933594)
[3015737.420] wl_touch@21.frame()
[3015749.378] wl_touch@21.motion(84777330, -1, 746.000000, 39.257812)
[3015749.663] wl_touch@21.frame()
[3015761.256] wl_touch@21.motion(84777342, -1, 743.250000, 46.289062)
[3015761.519] wl_touch@21.frame()
[3015773.350] wl_touch@21.motion(84777354, -1, 756.000000, 54.492188)
[3015773.634] wl_touch@21.frame()
[3015785.154] wl_touch@21.motion(84777366, -1, 761.250000, 53.613281)
[3015785.472] wl_touch@21.frame()
[3015797.403] wl_touch@21.motion(84777378, -1, 764.500000, 68.703125)
[3015797.695] wl_touch@21.frame()
[3015821.597] wl_touch@21.motion(84777402, -1, 790.000000, 78.078125)
[3015821.898] wl_touch@21.frame()
[3015833.394] wl_touch@21.motion(84777414, -1, 803.250000, 79.250000)
[3015833.685] wl_touch@21.frame()
[3015845.293] wl_touch@21.motion(84777426, -1, 812.500000, 84.523438)
[3015845.528] wl_touch@21.frame()
[3015857.398] wl_touch@21.motion(84777438, -1, 825.750000, 88.183594)
[3015857.691] wl_touch@21.frame()
[3015866.436] wl_touch@21.up(131, 84777448, -1)
[3015866.635] wl_touch@21.frame()
[3015881.559] wl_touch@21.down(132, 84777462, wl_surface@13, -1, 851.000000, 90.820312)
[3015881.915] wl_touch@21.frame()
[3015893.391] wl_touch@21.motion(84777474, -1, 858.250000, 87.453125)
[3015893.661] wl_touch@21.frame()
[3015905.387] wl_touch@21.motion(84777486, -1, 864.000000, 78.222656)
[3015905.667] wl_touch@21.frame()
[3015914.547] wl_touch@21.up(133, 84777496, -1)
[3015914.774] wl_touch@21.frame()
[3015965.708] wl_touch@21.down(134, 84777546, wl_surface@13, -1, 855.250000, 41.015625)
[3015966.089] wl_touch@21.frame()
[3015977.279] wl_touch@21.motion(84777558, -1, 854.500000, 40.578125)
[3015977.529] wl_touch@21.frame()
[3015998.623] wl_touch@21.up(135, 84777580, -1)
[3015998.859] wl_touch@21.frame()
[3016089.694] wl_touch@21.down(136, 84777670, wl_surface@13, -1, 724.500000, 110.304688)
[3016090.123] wl_touch@21.frame()
[3016101.385] wl_touch@21.motion(84777682, -1, 719.250000, 118.066406)
[3016101.638] wl_touch@21.frame()
[3016122.603] wl_touch@21.up(137, 84777704, -1)
[3016122.857] wl_touch@21.frame()
[3016137.405] wl_touch@21.down(138, 84777718, wl_surface@13, -1, 775.000000, 133.007812)
[3016137.737] wl_touch@21.frame()
[3016149.266] wl_touch@21.motion(84777730, -1, 795.250000, 133.156250)
[3016149.514] wl_touch@21.frame()
[3016161.507] wl_touch@21.motion(84777742, -1, 816.000000, 131.835938)
[3016161.770] wl_touch@21.frame()
[3016173.305] wl_touch@21.motion(84777754, -1, 835.000000, 129.785156)
[3016173.544] wl_touch@21.frame()
[3016194.567] wl_touch@21.up(139, 84777776, -1)
[3016194.799] wl_touch@21.frame()
[3016221.677] wl_touch@21.down(140, 84777802, wl_surface@13, -1, 876.500000, 99.316406)
[3016222.099] wl_touch@21.frame()
[3016233.267] wl_touch@21.motion(84777814, -1, 874.500000, 93.164062)
[3016233.527] wl_touch@21.frame()
[3016245.405] wl_touch@21.motion(84777826, -1, 874.000000, 91.113281)
[3016245.762] wl_touch@21.frame()
[3016269.537] wl_touch@21.motion(84777850, -1, 833.000000, 86.425781)
[3016269.860] wl_touch@21.frame()
[3016278.747] wl_touch@21.up(141, 84777860, -1)
[3016278.980] wl_touch@21.frame()
[3016393.733] wl_touch@21.down(142, 84777974, wl_surface@13, -1, 673.000000, 125.242188)
[3016394.134] wl_touch@21.frame()
[3016405.252] wl_touch@21.motion(84777986, -1, 673.000000, 132.570312)
[3016405.496] wl_touch@21.frame()
[3016417.392] wl_touch@21.motion(84777998, -1, 675.250000, 157.324219)
[3016417.659] wl_touch@21.frame()
[3016429.419] wl_touch@21.motion(84778010, -1, 702.000000, 140.039062)
[3016429.672] wl_touch@21.frame()
[3016441.251] wl_touch@21.motion(84778022, -1, 717.250000, 144.726562)
[3016441.482] wl_touch@21.frame()
[3016453.266] wl_touch@21.motion(84778034, -1, 729.000000, 146.191406)
[3016453.585] wl_touch@21.frame()
[3016465.374] wl_touch@21.motion(84778046, -1, 743.250000, 130.078125)
[3016465.646] wl_touch@21.frame()
[3016477.416] wl_touch@21.motion(84778058, -1, 758.500000, 141.648438)
[3016477.696] wl_touch@21.frame()
[3016489.386] wl_touch@21.motion(84778070, -1, 768.250000, 132.714844)
[3016489.662] wl_touch@21.frame()
[3016501.383] wl_touch@21.motion(84778082, -1, 777.750000, 140.332031)
[3016501.671] wl_touch@21.frame()
[3016513.496] wl_touch@21.motion(84778094, -1, 788.750000, 129.929688)
[3016513.752] wl_touch@21.frame()
[3016525.231] wl_touch@21.motion(84778106, -1, 774.500000, 121.289062)
[3016525.550] wl_touch@21.frame()
[3016549.382] wl_touch@21.motion(84778130, -1, 761.250000, 120.410156)
[3016549.711] wl_touch@21.frame()
[3016561.566] wl_touch@21.motion(84778142, -1, 781.750000, 108.250000)
[3016561.822] wl_touch@21.frame()
[3016573.344] wl_touch@21.motion(84778154, -1, 761.000000, 108.398438)
[3016573.632] wl_touch@21.frame()
[3016582.565] wl_touch@21.up(143, 84778164, -1)
[3016582.785] wl_touch@21.frame()
[3016597.523] wl_touch@21.down(144, 84778178, wl_surface@13, -1, 760.250000, 98.144531)
[3016597.880] wl_touch@21.frame()
[3016606.538] wl_touch@21.up(145, 84778188, -1)
[3016606.758] wl_touch@21.frame()
[3016673.697] wl_touch@21.down(146, 84778254, wl_surface@13, -1, 633.250000, 101.218750)
[3016674.076] wl_touch@21.frame()
[3016685.354] wl_touch@21.motion(84778266, -1, 613.250000, 100.929688)
[3016685.607] wl_touch@21.frame()
[3016694.424] wl_touch@21.up(147, 84778276, -1)
[3016694.649] wl_touch@21.frame()
[3016793.736] wl_touch@21.down(148, 84778374, wl_surface@13, -1, 524.000000, 164.796875)
[3016794.147] wl_touch@21.frame()
[3016805.144] wl_touch@21.motion(84778386, -1, 501.000000, 172.117188)
[3016805.441] wl_touch@21.frame()
[3016829.647] wl_touch@21.motion(84778410, -1, 495.000000, 194.531250)
[3016829.962] wl_touch@21.frame()
[3016841.343] wl_touch@21.motion(84778422, -1, 499.250000, 194.238281)
[3016841.610] wl_touch@21.frame()
[3016850.412] wl_touch@21.up(149, 84778432, -1)
[3016850.619] wl_touch@21.frame()
[3016865.556] wl_touch@21.down(150, 84778446, wl_surface@13, -1, 504.250000, 235.109375)
[3016865.896] wl_touch@21.frame()
[3016877.387] wl_touch@21.motion(84778458, -1, 508.500000, 245.070312)
[3016877.665] wl_touch@21.frame()
[3016889.243] wl_touch@21.motion(84778470, -1, 525.750000, 247.117188)
[3016889.506] wl_touch@21.frame()
[3016901.384] wl_touch@21.motion(84778482, -1, 541.750000, 258.691406)
[3016901.669] wl_touch@21.frame()
[3016913.299] wl_touch@21.motion(84778494, -1, 563.250000, 260.156250)
[3016913.548] wl_touch@21.frame()
[3016925.431] wl_touch@21.motion(84778506, -1, 584.000000, 265.429688)
[3016925.719] wl_touch@21.frame()
[3016937.268] wl_touch@21.motion(84778518, -1, 610.500000, 268.945312)
[3016937.523] wl_touch@21.frame()
[3016949.365] wl_touch@21.motion(84778530, -1, 634.250000, 273.046875)
[3016949.657] wl_touch@21.frame()
[3016961.381] wl_touch@21.motion(84778542, -1, 662.500000, 270.265625)
[3016961.681] wl_touch@21.frame()
[3016973.417] wl_touch@21.motion(84778554, -1, 683.750000, 270.996094)
[3016973.707] wl_touch@21.frame()
[3016985.380] wl_touch@21.motion(84778566, -1, 706.000000, 266.015625)
[3016985.644] wl_touch@21.frame()
[3016997.298] wl_touch@21.motion(84778578, -1, 724.500000, 256.203125)
[3016997.553] wl_touch@21.frame()
[3017009.380] wl_touch@21.motion(84778590, -1, 740.500000, 250.343750)
[3017009.667] wl_touch@21.frame()
[3017021.424] wl_touch@21.motion(84778602, -1, 748.500000, 242.871094)
[3017021.873] wl_touch@21.frame()
[3017033.301] wl_touch@21.motion(84778614, -1, 762.500000, 240.085938)
[3017033.543] wl_touch@21.frame()
[3017045.425] wl_touch@21.motion(84778626, -1, 772.500000, 235.839844)
[3017045.690] wl_touch@21.frame()
[3017057.259] wl_touch@21.motion(84778638, -1, 771.250000, 232.031250)
[3017057.507] wl_touch@21.frame()
[3017069.352] wl_touch@21.motion(84778650, -1, 779.250000, 226.171875)
[3017069.645] wl_touch@21.frame()
[3017081.327] wl_touch@21.motion(84778662, -1, 784.000000, 220.019531)
[3017081.580] wl_touch@21.frame()
[3017090.475] wl_touch@21.up(151, 84778672, -1)
[3017090.726] wl_touch@21.frame()

PS! I do get this when running the snap run command, so it’s hard to actually see if anything happens on the display. Ending the command and restarting the daemon will bring back the website.