Kiosk Mode for Raspberry Pi with Touch Display

even using the IP, you need to put http(s):// otherwise it is much more likely to error out.

Running into dependency issues on a fresh install of Raspberry Pi OS (32-bit), when using the install script:

Unpacking touchkio:arm64 (1.1.0) over (1.1.0) ...
dpkg: dependency problems prevent configuration of touchkio:arm64:
 touchkio:arm64 depends on libgtk-3-0.
 touchkio:arm64 depends on libnotify4.
 touchkio:arm64 depends on libnss3.
 touchkio:arm64 depends on libxtst6.
 touchkio:arm64 depends on libatspi2.0-0.
 touchkio:arm64 depends on libdrm2.
 touchkio:arm64 depends on libgbm1.
 touchkio:arm64 depends on libxcb-dri3-0.

dpkg: error processing package touchkio:arm64 (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1.1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Errors were encountered while processing:
 touchkio:arm64
Installation of .deb file failed.

From the readme

This guide assumes that you are using a Raspberry Pi with the latest version of Raspberry Pi OS (64-bit) , along with a desktop environment (preferred using labwc).

So do a retry with a fresh 64 bit version of the OS

Didn’t think 32 vs. 64 would create dependency issues, but will retry with 64bit. Thanks.

Edit: 64bit worked just fine!

Is there a way to modify the existing code to expose a PIR sensor to the MQTT client running in your script? Then ultimately have it discovered by HA?

I am currently using the kiosk mode by using the tutorial by Mark Watt Tech, on a Pi400 with HDMI and USB Cable on a UPerfect Vertical Monitor

As this is Chromium in kiosk mode, when trying to view 1080p camera feeds they do not seem to work and I have been unsuccessful in enabling hardware acceleration.

Will this application improve video rendering?

As mentioned above it would be easier to use a sensor that is already directly integrated in Home Assistant.

But, If your goal is to learn how to add a custom sensor via MQTT you can use the TouchKio code base. It will take some time and programming experience but I outlined the basic steps under Development > Extensions in the README file:

The Electron application is also based on Chromium and doesn’t have dedicated improvements for hardware acceleration on Raspberry Pi’s.

I tried loading a 1080p video using touchkio --web-url=https://youtube.com on a DSI display and it just works fine and lag free, but I’m using a RPi 5.

No problems, I will try load it up on a fresh SD Card and see how it works. The Pi400 should play 1080p video fine. It is feeds from my arlo cameras.

Maybe consider running a separate test using the official Raspberry Pi OS image, as it could perform better that custom minimal installs, since some GUI improvement may be added there.

1 Like

I will try that.

Where do I enter the data for MQTT afterwards? I actually entered it properly in the Arguments.json, but then Touchkio doesn’t start anymore. Reboot etc. of course everything done, sure. I successfully tested the connection from the Raspberry Pi to my Home Assistant server with mosquitto_sub, connection is fine. Thanks in advance!

As mentioned in the README you can re-run the setup any time by using touchkio --setup. This will guide you through the setup procedure, where you can also change the MQTT settings. Alternatively (or for testing) you can also start it directly. e.g.:

touchkio --web-url=http://192.168.1.42:8123 --mqtt-url=mqtt://192.168.1.42:1883 --mqtt-user=kiosk --mqtt-password=password
1 Like

Yes, but there will probably be a configuration file where the access data will be entered, or not? But I will try it, thanks.

Is there any option to go back to desktop?

Yes, use the side panel to minimize the window as explained here:

1 Like