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

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

Dependencies (18)

Required by (1)

Sources (4)

Pinned Comments

loredan13 commented on 2020-01-07 19:30 (UTC) (edited on 2021-05-22 22:38 (UTC) by loredan13)

README

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:

https://gist.githubusercontent.com/loredan/ec63324205d778d7d3c912533d8cd8df/raw/f43980a8cc1f29a8837746aaf52361e7fcd477e7/PKGBUILD

https://gist.githubusercontent.com/loredan/be4e00b51881a1494b93382334b13640/raw/c796a6fba98e415bcd06cf53e664bafb26f785ef/PKGBUILD

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: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller 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

OctoPrint

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

WARNING

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

MarsSeed commented on 2022-06-16 18:31 (UTC) (edited on 2022-06-16 18:32 (UTC) by MarsSeed)

This application now needs Python 3:

klipper/Makefile

bobobo1618 commented on 2021-04-04 08:51 (UTC) (edited on 2021-04-04 08:52 (UTC) by bobobo1618)

A workaround for missing python2-pyserial:

curl -O https://raw.githubusercontent.com/archlinux/svntogit-community/fa67d039a4f5c7462af38e62ceec14249f56685b/python-pyserial/trunk/PKGBUILD
makepkg
pacman -U python2-pyserial-3.5-1-any.pkg.*

wlhlm commented on 2021-04-03 20:13 (UTC)

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 (UTC)

Dependency no longer exists: python2-pyserial.

novenary commented on 2021-03-28 14:28 (UTC)

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 (UTC)

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/__init__.py
+       python2 -m compileall -d /opt/klipper/klippy klippy
+       python2 -O -m compileall -d /opt/klipper/klippy klippy
+       python2 klippy/chelper/__init__.py

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 (UTC)

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 (UTC)

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 (UTC)

Hi,

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/make_version.py ARCHLINUX > klippy/.version
+       python2 -m compileall klippy
+       python2 klippy/chelper/__init__.py
        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 (UTC) (edited on 2020-01-11 12:43 (UTC) by celogeek)

Hi,

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().
    Aborting...
Error making: klipper-git

I guess the klipper exists at this stage

FIX:

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 (UTC)

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

plutonium commented on 2020-01-08 09:38 (UTC) (edited on 2020-01-08 10:22 (UTC) by plutonium)

I just updated klipper and am unable to connect from octoprint.

[Errno 2] could not open port /run/klipper/sock: [Errno 2] No such file or directory: '/run/klipper/sock'' @ comm.py:_openSerial:2661 (hook default)

Your latest instructions tells to use /tmp/printer, but I don't have it on my system... and according to klipper.service listed in sources, the socket is still /run/klipper/sock (and it exists indeed on my RPi)...

[edit] I got it to work with /run/klipper/sock

loredan13 commented on 2020-01-07 19:30 (UTC) (edited on 2021-05-22 22:38 (UTC) by loredan13)

README

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:

https://gist.githubusercontent.com/loredan/ec63324205d778d7d3c912533d8cd8df/raw/f43980a8cc1f29a8837746aaf52361e7fcd477e7/PKGBUILD

https://gist.githubusercontent.com/loredan/be4e00b51881a1494b93382334b13640/raw/c796a6fba98e415bcd06cf53e664bafb26f785ef/PKGBUILD

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: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller 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

OctoPrint

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

WARNING

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

loredan13 commented on 2020-01-07 18:04 (UTC)

dack: the problem is with compiling ARM MCU firmware, it requires arm-none-eabi-gcc package, which is only for x86_64 architecture, and I still haven't found an alternative.

I have adopted the package, and I will try to update it as much as I can

dack commented on 2020-01-05 21:32 (UTC)

Deathwarror: Are you talking about requirements to compile the PKGBUILD, or to compile AVR microcontroller firmware?

If you are talking about the PKGBUILD, gcc and make are part of base-devel. That should not be listed as a dependency in the PKGBUILD as per the wiki page for Makepkg ("Before continuing, install the base-devel group. Packages belonging to this group are not required to be listed as build-time dependencies (makedepends) in PKGBUILD files.").

If you are talking about compiling the AVR microcontroller code, avr-gcc is already listed as a runtime dependency. Make is not listed, and should perhaps be added as a runtime dependency. Most people will probably not encounter that issue, since they would have already installed base-devel (and therefore make) in order to compile the PKGBUILD.

jade1 commented on 2020-01-04 21:16 (UTC)

Hi! Unfortunately I don't use Klipper anymore so I'm relinquishing maintainership of this package. If anyone wishes to adopt it, that would be fantastic.

I should have done this a long time ago, and I'm sorry for procrastinating flagging this unmaintained package as unmaintained.

Deathwarror commented on 2020-01-04 18:30 (UTC)

I'm using a raspberry pi 4. Two more dependencies that are needed are gcc and make gcc is apparently needed by the klipper code to compile

dack commented on 2020-01-04 05:12 (UTC)

Can you add a dependency for python2-jinja? Without it, klipper fails with the following in the log:

Unhandled exception during connect Traceback (most recent call last): File "/opt/klipper/klippy/klippy.py", line 134, in _connect self._read_config() File "/opt/klipper/klippy/klippy.py", line 129, in _read_config m.add_printer_objects(config) File "/opt/klipper/klippy/toolhead.py", line 567, in add_printer_objects
config.get_printer().add_object('toolhead', ToolHead(config)) File "/opt/klipper/klippy/toolhead.py", line 262, in init self.printer.try_load_module(config, "idle_timeout") File "/opt/klipper/klippy/klippy.py", line 116, in try_load_module self.objects[section] = init_func(config.getsection(section)) File "/opt/klipper/klippy/extras/idle_timeout.py", line 113, in load_config return IdleTimeout(config) File "/opt/klipper/klippy/extras/idle_timeout.py", line 24, in init gcode_macro = self.printer.try_load_module(config, 'gcode_macro') File "/opt/klipper/klippy/klippy.py", line 110, in try_load_module mod = importlib.import_module('extras.' + module_name) File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module import(name)
File "/opt/klipper/klippy/extras/gcode_macro.py", line 7, in <module> import jinja2
ImportError: No module named jinja2

Psych0d0g commented on 2019-09-01 15:26 (UTC)

could you add aarch64 to the architectures supported so we can use this pkg on raspi3 with the a4a rpi3 image?

jade1 commented on 2018-10-28 14:43 (UTC)

@breadman indeed that is a mistake on my part. The reason it was moved was because I wanted to privilege separate OctoPrint from Klipper. But /tmp/printer, being in a setuid directory, can't be followed by non owner users.

The socket is at /run/klipper/sock.

breadman commented on 2018-10-28 13:00 (UTC)

For some reason I do not have /tmp/printer. After flashing the MCU klipper is communicating with the printer but there's no symlink.

I think this began after yesterday's update as I tried this package two days ago and everything seemed to work fine. Now this happens both in virtualbox and on a physical machine. I do not see any warnings in klippy's log, nothing regarding /tmp/printer in journald.

I'm using Manjaro and not Arch, but I don't think this should be a problem. Any suggestions in which direction to look?

jade1 commented on 2018-10-19 05:25 (UTC) (edited on 2018-10-28 14:45 (UTC) by jade1)

README

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.

Copy the firmware out of /opt/klipper to your user directory and follow the procedure as outlined in the documentation: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller

Then, start/enable the klipper service with systemctl.

The log file is available at /var/log/klipper/klippy.log

OctoPrint

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