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

Sorry, you’re right: it is the .daemon service that I meant to stop.

It looks like touch events are being passed through by Mir and any problems are in the client snap or the website you are loading in it.

No, the website has no need to know anything about libinput. Mir converts libinput events into Wayland events which are passed to the client (WPE in this case). From your investigations above, this is all working fine.

So far as I know WPE will act like any browser on any platform: i.e. the website can process touch (or ignore it)

You may get some visual feedback by adding enable-touchspots= to the Ubuntu Frame config.

Is it enough like this:

sudo snap set ubuntu-frame enable-touchspots=

or do I have to do something like this:

sudo snap set ubuntu-frame config="$(snap get ubuntu-frame config)
enable-touchspots=

The website I’m trying with is the default, that the WPE client has set (their website), so I would expect it to work.

I tried to set my home assistant instance as the url, just to see if that acts differently, but now the screen is only showing up black. (Yes, its accessible through HTTPS on the web). But I might have to enable more stuff in cog for it to work. It’s «Javascript-extensive» if I could say it like that. :slight_smile:

Does anyone know a website that is confirmed working, that I can try with?

I tend towards:

snap get ubuntu-frame config > uf.config
vi uf.config
snap set ubuntu-frame config="$(cat uf.config)"

Hi,

Unfortunately, I dont see any difference after adding this configuration property.

image

Can I ask what I could expect to happen?

Also, do you happen to know why I get the error [..] install glib-networking when I try running cog directly and not as a service?

PS! I found out if I enable debug=true in the configuration of wpe-webkit-mir-kiosk it also reports the touch events:

2023-07-08T22:24:32Z -[4472]: CLIENT[0xaaaafcdb65e0]: the TLS connection has been closed successfully
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984890.952] wl_touch@21.down(214, 1294286, wl_surface@13, -1, 370.500000, 372.949219)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984891.545] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984901.996] wl_touch@21.motion(1294298, -1, 413.250000, 376.171875)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984902.301] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984914.693] wl_touch@21.motion(1294310, -1, 414.750000, 365.187500)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984915.053] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984926.238] wl_touch@21.motion(1294322, -1, 435.250000, 370.019531)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984926.557] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984942.299] wl_touch@21.motion(1294338, -1, 460.000000, 371.046875)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984942.629] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984954.431] wl_touch@21.motion(1294350, -1, 463.250000, 366.796875)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984954.791] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984966.672] wl_touch@21.motion(1294362, -1, 481.750000, 372.804688)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984967.039] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984982.842] wl_touch@21.motion(1294378, -1, 481.250000, 366.945312)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984983.214] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984991.520] wl_touch@21.up(215, 1294388, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [984991.798] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985010.575] wl_touch@21.down(216, 1294406, wl_surface@13, -1, 506.000000, 367.675781)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985011.096] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985019.486] wl_touch@21.up(217, 1294416, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985019.754] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985034.637] wl_touch@21.down(218, 1294430, wl_surface@13, -1, 529.250000, 369.433594)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985035.127] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985043.378] wl_touch@21.up(219, 1294440, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985043.626] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985058.357] wl_touch@21.down(220, 1294454, wl_surface@13, -1, 547.250000, 366.359375)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985058.787] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985070.293] wl_touch@21.motion(1294466, -1, 548.500000, 365.187500)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985070.627] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985082.775] wl_touch@21.motion(1294478, -1, 547.250000, 360.351562)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985083.118] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985094.252] wl_touch@21.motion(1294490, -1, 546.500000, 358.156250)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985094.640] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985103.568] wl_touch@21.up(221, 1294500, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985103.885] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985138.919] wl_touch@21.down(222, 1294534, wl_surface@13, -1, 393.000000, 321.386719)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985139.562] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985151.393] wl_touch@21.up(223, 1294544, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985153.216] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985164.235] wl_touch@21.down(224, 1294558, wl_surface@13, -1, 545.000000, 343.652344)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985164.618] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985171.369] wl_touch@21.up(225, 1294568, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985171.590] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985239.005] wl_touch@21.down(226, 1294634, wl_surface@13, -1, 593.250000, 358.886719)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985239.597] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985250.656] wl_touch@21.motion(1294646, -1, 569.000000, 342.480469)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985250.983] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985259.544] wl_touch@21.up(227, 1294656, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985259.803] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985274.556] wl_touch@21.down(228, 1294670, wl_surface@13, -1, 609.250000, 358.886719)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985275.047] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985286.343] wl_touch@21.motion(1294682, -1, 612.500000, 358.886719)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985286.683] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985298.837] wl_touch@21.motion(1294694, -1, 611.750000, 363.574219)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985299.215] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985310.269] wl_touch@21.motion(1294706, -1, 614.000000, 362.109375)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985310.639] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985319.473] wl_touch@21.up(229, 1294716, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985319.735] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985398.930] wl_touch@21.down(230, 1294794, wl_surface@13, -1, 614.000000, 359.179688)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985399.532] wl_touch@21.frame()
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985407.987] wl_touch@21.up(231, 1294804, -1)
2023-07-08T22:25:40Z wpe-webkit-mir-kiosk.daemon[4464]: [985408.238] wl_touch@21.frame()

So I have no idea why it wouldn’t work…

I don’t know why it doesn’t work either.

I have a touchscreen plugged in (and working) today, here’s the libinput.debug-events:

-event14  DEVICE_ADDED            QDtech MPI7003                    seat0 default group5  cap:t ntouches 5 calib
-event6   DEVICE_ADDED            Integrated Camera: Integrated C   seat0 default group6  cap:k
-event12  DEVICE_ADDED            Synaptics TM3072-003              seat0 default group7  cap:pg  size 97x53mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event13  DEVICE_ADDED            TPPS/2 IBM TrackPoint             seat0 default group8  cap:p left scroll-nat scroll-button
-event3   DEVICE_ADDED            AT Translated Set 2 keyboard      seat0 default group9  cap:k
-event5   DEVICE_ADDED            ThinkPad Extra Buttons            seat0 default group10 cap:k
-event14  TOUCH_DOWN              +0.000s	0 (0) 93.85/51.25 (962.00/308.00mm)
 event14  TOUCH_FRAME             +0.000s	
 event14  TOUCH_MOTION            +0.159s	0 (0) 93.76/51.08 (961.00/307.00mm)
 event14  TOUCH_FRAME             +0.159s	
 event14  TOUCH_MOTION            +0.170s	0 (0) 93.56/50.92 (959.00/306.00mm)
 event14  TOUCH_FRAME             +0.170s	
 event14  TOUCH_MOTION            +0.180s	0 (0) 92.88/50.75 (952.00/305.00mm)
 event14  TOUCH_FRAME             +0.180s	
 event14  TOUCH_MOTION            +0.191s	0 (0) 91.32/50.25 (936.00/302.00mm)
 event14  TOUCH_FRAME             +0.191s	
 event14  TOUCH_MOTION            +0.202s	0 (0) 90.15/50.08 (924.00/301.00mm)
 event14  TOUCH_FRAME             +0.202s	
 event14  TOUCH_MOTION            +0.212s	0 (0) 89.07/49.92 (913.00/300.00mm)
 event14  TOUCH_FRAME             +0.212s	
 event14  TOUCH_MOTION            +0.223s	0 (0) 88.29/49.92 (905.00/300.00mm)
 event14  TOUCH_FRAME             +0.223s	
 event14  TOUCH_MOTION            +0.233s	0 (0) 87.41/49.92 (896.00/300.00mm)
 event14  TOUCH_FRAME             +0.233s	
 event14  TOUCH_MOTION            +0.244s	0 (0) 86.54/49.75 (887.00/299.00mm)
 event14  TOUCH_FRAME             +0.244s	
 event14  TOUCH_MOTION            +0.255s	0 (0) 85.66/49.58 (878.00/298.00mm)
 event14  TOUCH_FRAME             +0.255s	
 event14  TOUCH_MOTION            +0.265s	0 (0) 84.68/49.58 (868.00/298.00mm)
 event14  TOUCH_FRAME             +0.265s	
 event14  TOUCH_MOTION            +0.276s	0 (0) 83.80/49.42 (859.00/297.00mm)
 event14  TOUCH_FRAME             +0.276s	
 event14  TOUCH_MOTION            +0.286s	0 (0) 82.93/49.25 (850.00/296.00mm)
 event14  TOUCH_FRAME             +0.286s	

I do see that this is reporting a touch ID of 0, whereas you are seeing -1. I have no idea if or why that would be significant.

Hi,

Yeah… Me neither. I did a test to boot up a fresh Ubuntu Core, without changing any parameters in the config.txt file. But that resulted in no devices found.

I received an RPi4 today. Just got curious if that changed anything. I’ll report back.

Add: I see that your display is connected through MIPI port, while mine is connected through the HDMI + the GPIO pins. I don’t know if the setup will be different in my case.

Update: No change on the RPi4, except that the resolution is a lot higher. The libinput.debug-events reports the same, and it doesn’t react to it. Can it be a bug in wpe-webkit-mir-kiosk? @tobias

Hi @alan_g,

So I’ve invested in a ned display: 10.1inch Capacitive Touch Display for Raspberry Pi, 1280×800, IPS, DSI Interface

I’m just wondering if the display you’re using is connected the same way as this, and if any overlays are required to get this to work?

I just booted a fresh Ubuntu Core 22 setup but nothing shows on the display. (I haven’t yet installed WPE Kiosk app, is that required or should I see the Ubuntu splash screen and the setup screen?)

There’s a text configuration process for Ubuntu Core on first boot.

Once you install Ubuntu Frame and it starts, any screens should light with a grey gradient background.

Hi, Yes, I’m aware. At the moment I’ve set up the device and plugged in the Display as shown in Method 1: Back Lock Installation

But the display appear to be off except the lights on the back.