12 KiB
Supported Hardware
This document contains an incomplete list of device and display hardware combinations that have already been tested.
The release page has builds exclusively for arm64 and x64, but custom builds for other architectures can be made (see development), allowing the application to operate on any hardware. At least the minimal features, such as displaying a kiosk window (which doesn't necessarily need to be Home Assistant) will work.
Hardware
If you are running Linux with a graphical user interface (Wayland or X11), you should be well equipped to use the application. Additionally, any single board computer (SBC) clones of the Raspberry Pi that operate on Raspberry Pi OS (64-bit) are likely to function as well.
| Status | Notes | |
|---|---|---|
| 🟩 | Fully operational | Working display power, brightness and keyboard control via MQTT. |
| 🟨 | Partially operational | Display brightness control is not available via MQTT. |
| 🟧 | Partially operational | Display brightness and keyboard control is not available via MQTT. |
| 🟥 | Partially operational | Display power, brightness and keyboard control is not available via MQTT. |
| ⬜ | Somehow operational | Issues can occur and the overall performance is very slow. |
| ⬛ | Not operational | The house is on fire. |
DSI
| Device | System | Display | Status |
|---|---|---|---|
| Raspberry Pi 3 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 1 (800x480) | ⬜ |
| Raspberry Pi 3 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 2 (720x1280) | ⬜ |
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 1 (800x480) | 🟩 |
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 2 (720x1280) | 🟩 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 1 (800x480) | 🟩 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Official 7" Touch Display 2 (720x1280) | 🟩 |
HDMI
| Device | System | Display | Status |
|---|---|---|---|
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | LAFVIN Touch Display 5" (800x480) | 🟨 |
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Waveshare 7EP-CAPLCD 7" (1280x800) | 🟨 |
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Waveshare CAPLCD 8" (768x1024) | 🟨 |
| Raspberry Pi 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Hannspree HT225 21.5" (1920x1080) | 🟨 |
| Raspberry Pi CM 4 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Lenovo ThinkCentre 23.8" (1920x1080) | 🟨 |
| Raspberry Pi 400 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | UPerfect Vertical Touch 15.6" (1920x1080) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | GeeekPi Capacitive Touch 10.1" (1280x800) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | ELECROW Portable Monitor 10.1" (1280x800) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Waveshare Capacitive Touch 14" (2160x1440) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Akntzcs Portable Touch HD 16" (1920x1200) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Prechen Portable Touch FHD 18.5" (1920x1080) | 🟨 |
| Raspberry Pi 5 (arm64) | Raspberry Pi OS (64-bit), Wayland, X11 | Generic Non-Touch | 🟨 |
| Generic PC (x64) | Debian KDE (64-bit), Wayland, X11 | Generic Non-Touch | 🟧 |
| Generic PC (x64) | Ubuntu XFCE (64-bit), X11 | Generic Non-Touch | 🟧 |
| Generic PC (x64) | Ubuntu GNOME (64-bit), X11 | Generic Non-Touch | 🟧 |
| Generic PC (x64) | Ubuntu GNOME (64-bit), Wayland | Generic Non-Touch | 🟥 |
Features
Minimal features are designed to run on any system without issues:
- A webview kiosk window launched in fullscreen mode and loading the specified
--web-urlwebsite should not cause any problems. - When connecting to an internal HTTPS site with a self-signed certificate, ensure the specified FQDN matches. Using the
--ignore-certificate-errorsflag is not recommended for browsing external sites.
Extended features become available when the --mqtt-* arguments are provided and the hardware is supported:
- The following commands are currently implemented to modify the display status. Make sure that one of these works for your display when you run it directly on the terminal, otherwise the MQTT switch will not work either.
wlopm --[on,off] \*(Raspberry Pi OS, Wayland)kscreen-doctor --dpms [on,off](Debian KDE, Wayland)xset dpms force [on,off](Generic, X11)
- If your hardware is not fully compatible there should be no crashes, but you may miss some sensors.
- On some Debian based systems (e.g. Ubuntu GNOME), the display status control is only available when using X11 (
xset).
- On some Debian based systems (e.g. Ubuntu GNOME), the display status control is only available when using X11 (
- There are certain HDMI screens (e.g. Viewsonic) where the display status command doesn't work as expected.
- The screen immediately turns on again, which may be caused by incompatible HDMI cables being used.
- On Raspberry Pi OS the display command may fail with
ERROR: Setting power mode for output '[DSI-*,HDMI-*]' failed.- This can happen if you have
wayvncrunning for remote access and is caused by a known bug.
- This can happen if you have
- Certain commands from the MQTT integration may require elevated privileges to work correctly.
- Ensure that your local user has the necessary permissions to run
sudowithout being prompted for a password.
- Ensure that your local user has the necessary permissions to run
Hardware support is verified during application startup and can be seen in the terminal or in the log file under the Supported section.
The necessary requirements for MQTT sensors to work are listed here:
| Name | Requirements | References |
|---|---|---|
| App (Update) | Requires sudo rights, .deb install and touchkio.service running . |
#70, #77 |
| Display (Status) | Working wlopm, kscreen-doctor or xset command. |
#38, #57 |
| Display (Brightness) | Device under /sys/class/backlight/*/brightness exists. |
#30, #32 |
| Keyboard | Raspberry Pi OS (Wayland) with squeekboard running. |
#7, #85 |
| Battery | Device under /sys/class/power_supply/*/capacity exists. |
#33 |
| Volume | Device (non-dummy) pactl get-default-sink exists. |
#82 |
| Reboot | Requires password-less sudo rights. |
#39 |
| Shutdown | Requires password-less sudo rights. |
#39 |
Contributions
In case your hardware is not listed above don't worry, give it a try.
Running touchkio --web-url=https://demo.home-assistant.io will most likely just work.
The only problems that may arise are when controlling the display via the Home Assistant integration.
- If you encounter any problems, please create a new issue.
- If you encounter any problems and are able to fix it yourself, feel free to create a pull request.
- If everything works as expected and your hardware is not yet listed, you are welcome to report it or create a pull request.