Klipper-Touch is an alternative web-based UI for Klipper3d/Moonraker that focuses on small touch screens without keyboard or mouse.
This is currently nothing more than a personal experiment and a project to learn - even if it works.
First of all, and as always with my other posts and projects. I am not a company. I'm doing this in my spare time and mostly because I'm really excited about making these things work and improving them.
I have tested all this stuff only with my own printer and the constellation around it. I have done my best to make it all work without problems. However, this is a work in progress. There is no guarantee. Be careful, watch your printer, double check things. Use it as is. I am not responsible for any damage or consequences of any kind.
And yes, help and improve if you find something.
-
Install Btt image with panfrost support. >= v 2.3.3
-
Update to debian bookworm
-
sudo nano /etc/apt/sources.list
replace bullseye by bookworm, add non-free-firmware to all entries
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware # deb-src <http://deb.debian.org/debian> bookworm main contrib non-free non-free-firmware deb < http://deb.debian.org/debian > bookworm-updates main contrib non-free non-free-firmware # deb-src <http://deb.debian.org/debian> bookworm-updates main contrib non-free non-free-firmware deb < http://deb.debian.org/debian > bookworm-backports main contrib non-free non-free-firmware # deb-src <http://deb.debian.org/debian> bookworm-backports main contrib non-free non-free-firmware deb < http://deb.debian.org/debian-security > bookworm-security main contrib non-free non-free-firmware # deb-src <http://deb.debian.org/debian-security> bookworm-security main contrib non-free non-free-firmware
-
Upgrade system from bullseye to bookworm
sudo apt update sudo apt dist-upgrade sudo apt autoremove
-
Install xinit and input drivers sudo apt install xinit xf86-input-evdev
-
Download it from https://github.com/freakydude/klipper-touch/releases
-
Install Klipper-Touch
-
Go to your manual downloaded package directory and run
sudo apt install ./klipper-touch_0.1.0_arm64.deb
-
-
Configure your
cors_domains
inmoonraker.conf
to allow Klipper-Touch to access the moonraker apis -
Run Klipper-Touch
- exclusive:
/usr/bin/startx /usr/bin/klipper-touch -- -nocursor
or - in a window manager:
/usr/bin/klipper-touch
- exclusive:
-
Klipper-Touch listen on url:
http://127.0.0.1/
andws://127.0.0.1/websocket
for a moonraker api connection.-
To use another url, use the commandline parameters
-h <Moonraker-HTTP-URL> eg. `http://192.168.1.1/` -w <Moonraker-Websocket-URL> eg. `ws://192.168.1.1/websocket`
-
To start in fullscreen mode
-f
-
-
Common
-
Docker & Docker Compose see: https://docs.docker.com/get-docker/
-
NPM Package manager (nodejs installation) see: https://github.com/nodesource/distributions#installation-instructions
-
Tauri see: https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
If you are using Archlinux, you can skip the rust paragraph
-
Install docker and docker-compose
pacman -S docker docker-compose
-
Install rust (if skipped before)
pacman -S rustup rustup default stable
-
Install dependencies in the project root folder with
npm install && npm install --save-dev @tauri-apps/cli
-
Run:
npm run tauri dev npm run tauri dev -- -- -- -h http://<moonraker-ip> -w ws://<moonraker-ip>/websocket
-
Build:
npm run tauri build
-
CrossCompile:
pacman -S qemu-user-static docker-buildx
-
Build debian bullseye arm32v7 package (RPi 32 bit)
docker compose up klipper-touch_build_arm32v7
-
Build debian bullseye arm64v8 package (RPi 64 bit)
docker compose up klipper-touch_build_arm64v8
Feel free to create pull requests and discussions. I can't solve anything alone.
Have fun!
If you like, buy me a coffee
freakyDude