Kivy – Moderne Touch-UIs mit Python
Erstellen Sie leistungsstarke, multitouch-fähige Benutzeroberflächen direkt in Python – ohne C++ Overhead. Mit unserem Ezpire-Baustein für Kivy nutzen Sie die Hardwarebeschleunigung unserer i.MX 8M Plus Plattformen voll aus, während Sie Ihre Applikationslogik bequem in Python schreiben. Sparen Sie sich die aufwendige Konfiguration von Display-Treibern und Grafik-Stacks: Wir bieten Ihnen eine lauffähige Demo-Implementierung und Designvorlage auf dem i.MX 8M Plus, die Hardwarebeschleunigung und Touch-Support bereits perfekt vereint.
Was ist Kivy?
Kivy ist ein Open-Source Python-Framework für die Entwicklung von Multitouch-Applikationen. Es eignet sich ideal für Embedded Systems, da es kein schwergewichtiges Fenstersystem (wie X11 oder Wayland) zwingend benötigt, sondern direkt via OpenGL ES 2.0 auf den Framebuffer rendern kann. Das ermöglicht eine flüssige, GPU-beschleunigte UI mit minimalem Ressourcenverbrauch und maximaler Designfreiheit ("Natural User Interfaces"), komplett gesteuert durch einfachen Python-Code.
Unsere Leistung: Python-GUI out-of-the-box
Mit Ezpire nehmen wir Ihnen die Hürde, Python und Hardwarebeschleunigung zu verheiraten. Unser Kivy-Support umfasst:
Vorkonfiguriertes Yocto-Image: Starten Sie sofort mit einem Image, in dem Python 3, Kivy und alle notwendigen Grafik-Treiber (GLES, DRM/KMS) bereits integriert sind.
Hardware-Beschleunigung aktiviert: Wir haben sichergestellt, dass Kivy die GPU (Vivante) des i.MX 8M Plus nutzt, statt die CPU zu belasten.
Sofort startklare Demo: Unser phytec-kivy-demo Image zeigt Ihnen exemplarisch, wie Touch-Input, Widgets und Performance-Optimierung auf unserer Hardware funktionieren und ermöglicht Ihnen einen schnellen Start in Ihr Projekt.
Umfassender Integration-Guide: Unsere Dokumentation führt Sie Schritt für Schritt: Vom Flashen des Images über den ersten "Hello World"-Button bis hin zum Bauen Ihres eigenen Yocto-Layers mit meta-kivy.
Mehr Technische Details (Expandable)
Wir haben Kivy nicht nur installiert, sondern für den industriellen Einsatz auf dem i.MX 8M Plus optimiert.
Wir nutzen und pflegen Yocto-Rezepte, die Kivy nahtlos in unser BSP integrieren. Wir setzen dabei auf meta-kivy und erweitern es um PHYTEC-spezifische Anpassungen in meta-phytec. Im Rezept python3-kivy_%.bbappend stellen wir sicher, dass die korrekten EGL- und GLES-Bibliotheken des i.MX-Treibers gelinkt werden, damit die Hardwarebeschleunigung greift.
Kivy läuft auf unseren Images standardmäßig im performanten EGLFS-Modus (oder direkt auf DRM/KMS), ohne den Overhead eines Desktop-Managers. Das ermöglicht einen schnelleren Boot, weniger RAM-Verbrauch und direkten Zugriff auf die GPU. Außerdem haben wir die Umgebungsvariablen (KIVY_BCM_DISPMANX_ID, KIVY_GL_BACKEND) so vorkonfiguriert, dass Multitouch-Events unserer kapazitiven Displays (phyCAM/Display-Kits) korrekt an die Python-App durchgereicht werden.
Unsere Demo-Applikation auf GitHub ist mehr als nur Spielerei und kann Ihnen als Architekturvorlage dienen. Sie:
Zeigt eine saubere Trennung von UI (KV-Language) und Logik (Python).
Demonstriert den Umgang mit Screen-Managern für mehrseitige UIs.
Dient als Test, ob Ihre Toolchain korrekt aufgesetzt ist.
Empfohlene Hardware
Für Python-basierte GUIs mit Kivy empfehlen wir leistungsstarke Plattformen mit dedizierter GPU, wie unser phyBOARD-Pollux (i.MX 8M Plus). Die integrierte NPU und die starke GPU des i.MX 8M Plus machen das Board ideal für moderne HMI-Anwendungen mit Python (z.B. KI-gestützte Bilderkennung direkt in der UI).
Links & Ressourcen / Getting Started
Starten Sie jetzt durch: Laden Sie das fertige Image für Ihr phyBOARD-Pollux herunter oder bauen Sie Ihre eigene Distribution.