Installing Cura on Linux

From Ultimaker Wiki
Jump to: navigation, search

Contents

Cura on linux

There are a few things you should know when installing cura on Linux.

Serial device access rights

When connecting your printer a device file gets automatically populated, for example on Ubuntu 12.04: /dev/ttyACM0 can be something like this;

 crw-rw---- 1 root dialout 166, 0 Jan 30 20:56 /dev/ttyACM0

In the Ubuntu example this device file is owned by the group "dialout" which users might not belong to by default. Cura's connection attempts will inexplicably fail if you do not belong to the correct group. Fixing this is thankfully very easy, be sure to use your own username and the group that the device is owned by in your distribution;

 sudo gpasswd -a yourusername dialout

After logging out and back in the connection should work fine.


Baud rate

Cura used to have issues with the default 250000 baud rate. These days Linux installations should gracefully downgrade the baud rate to 115200 to allow proper operation out of the box. If you still encounter connection issues try skipping the wizard and manually setting the baud rate first, then retrying the wizard.

First run

If you run into issues during the first time wizard and need to wiggle settings first, just cancel out of the wizard, you can always re-run it from the Expert -menu.

If you completely skip the wizard you might lose out on some calibration settings but should still be able to continue just fine.

Running on 64bit platform

There might be an issue running Cura (in the moment of writing it is Cura RC4) on the x86_64 system using tgz package provided by download link. The problem manifests itself when pushing "Slice to GCode" button. There will be an error message saying that PyPy can not load libssl.so.0.9.8 or something similar. The problem could be fixed with the following two steps:

  1. In the directory where Cura is uncompressed (for example ~/linux-Cura-RC4) rename pypy directory to something different (for example: $ mv pypy pypy-orig).
  2. Install 64bit version of PyPy from your distribution package set. In my case I was running Ubuntu 12.04 LTS, so I did apt-get install pypy.

After that, restart Cura and slicing process should work now.

Update: It is still impossible to print because the connection to the printer could not be established. Cura.sh just silently keep print buttons disabled in the print dialogue after pushing "Connect" button. Running pronterface.sh and pushing "Connect" button generates error messages in the console saying

 Connecting...
 Traceback (most recent call last):
   File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665, in <lambda>
     lambda event: event.callable(*event.args, **event.kw) )
   File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 1850, in AppendText
     return _controls_.TextCtrl_AppendText(*args, **kwargs)
   File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
     return codecs.utf_8_decode(input, errors, True)
 UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 0: invalid continuation byte

There is an issue submited on Cura's github page.

Conclusion

Most of the bigger issues plaguing Cura on Linux have been fixed and for most people it should work fine-ish out of the box. Make sure you have all the pre-requisites and access to your serial device and you should be fine.

notes

This article is (mostly) valid as of February first 2013. Cura 12.12.