Package Details: klipper-git r3853.338bc82d0-1

Git Clone URL: (read-only, click to copy)
Package Base: klipper-git
Description: 3D printer firmware with motion planning on the host
Upstream URL:
Licenses: GPL3
Conflicts: klipper
Provides: klipper
Submitter: jade1
Maintainer: loredan13
Last Packager: loredan13
Votes: 3
Popularity: 0.001273
First Submitted: 2018-10-19 05:10
Last Updated: 2021-05-22 22:29

Dependencies (18)

Required by (1)

Sources (4)

Pinned Comments

loredan13 commented on 2020-01-07 19:30


Packages python2-pyserial and python2-greenlet were removed from [community] repository and due to bug in AURweb I couldn't create an AUR package for those, so you'll have to install those manually. Here are links to PKGBUILD files for those packages:

After you have this package installed, copy an example config from /opt/klipper/config to /etc/klipper/klipper.cfg and adjust the values to suit your printer.

If needed, build and flash firmware as outlined in the documentation: keeping in mind that klipper is placed in /opt/klipper directory

Then, start/enable the klipper service with systemctl.

Logs can be seen at /var/log/klipper/klippy.log


Use the socket /run/klipper/sock. OctoKlipper is highly recommended.


If you have ARM MCU on your printer you won't be able to compile firmware on ARM PC (which is the case for most computers running klipper). You will have to compile firmware on x86_64 PC

Latest Comments

1 2 3 Next › Last »

bobobo1618 commented on 2021-04-04 08:51

A workaround for missing python2-pyserial:

curl -O
pacman -U python2-pyserial-3.5-1-any.pkg.*

wlhlm commented on 2021-04-03 20:13

Small suggestions: Klipper needs numpy and matplotlib for resonance measurements 1. python2-numpy and python2-matplotlib could be added as optional dependencies.

patlefort commented on 2021-03-29 10:09

Dependency no longer exists: python2-pyserial.

novenary commented on 2021-03-28 14:28

The AVR toolchain, libusb and ncurses should all be optional dependencies as they are only necessary for building and flashing the MCU firmware, and are not required during normal operation. stm32flash is also not x86_64-specific, the PKGBUILD includes ARM in its arch array.

celogeek commented on 2020-01-24 18:13

hi, thanks for the patch

also I have dig more, and compile all have alert on build directory that appear in the binary package.

I have fix this way (also the way to bundle python package):

-    python2 -m compileall klippy
-    python2 klippy/chelper/
+       python2 -m compileall -d /opt/klipper/klippy klippy
+       python2 -O -m compileall -d /opt/klipper/klippy klippy
+       python2 klippy/chelper/

So I add an optimize compilation after the usual one, and include the final destination in the compile process.

loredan13 commented on 2020-01-21 08:12

Okay, thank you everyone, everything you said seems valid, I will include your changes in the package.

dack, about the logs, I removed that option with the intention of letting systemd-journal take care of it, but I wasn't aware of thread handling in klipper. I'll revert it to log file

dack commented on 2020-01-21 07:38

Apologies for repeating myself - I accidentally deleted my previous comment.

I think it would be better to go back to logging to a file (via the -l option), rather than letting systemd/journald do the logging. When logging to stdout (journald), klipper warns "No log file specified! Severe timing issues may result!". From looking at their code, logging to a file is handled completely differently. It uses a separate thread to log asynchronously to file. This would prevent log buffer issues from affecting time critical tasks. Logging to stdout is done in the main thread, which has the potential to cause issues.

celogeek commented on 2020-01-13 20:43


The packaging also fail to include compile file and version file resulting in FIRMWARE_VERSION: ? in the log

I applied this change to fix this:

+        python2 scripts/ ARCHLINUX > klippy/.version
+       python2 -m compileall klippy
+       python2 klippy/chelper/
        GLOBIGNORE=.git cp -r * "$pkgdir/opt/klipper"
-       chown -R klipper:klipper "$pkgdir/opt/klipper"

This way the package contains precompiled files and starts faster.

celogeek commented on 2020-01-11 10:09


I want to install this package and got this errors:

==> Starting pkgver()...
==> Updated version: klipper-git r2748.2f8ad5e6-1
==> Sources are ready.
==> Making package: klipper-git r2748.2f8ad5e6-1 (Sat 11 Jan 2020 11:04:18 AM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Entering fakeroot environment...
==> Starting package()...
chown: invalid user: ‘klipper:klipper’
==> ERROR: A failure occurred in package().
Error making: klipper-git

I guess the klipper exists at this stage


instead of chown inside the install process, add this to your tempfile:

d /etc/klipper 0755 klipper klipper - -
z /etc/klipper/klipper.cfg 0644 klipper klipper - -
d /run/klipper 0755 klipper tty - -
Z /opt/klipper - klipper klipper - -

It will adjust automatically the right on config and opt directory

loredan13 commented on 2020-01-09 10:09

Sorry, I made a mistake of updating instructions without properly testing everything myself. I ended up reverting to /run/klipper/sock because /tmp/printer is not accessible by octoprint in current setup