16 January 2017 CamBam on Linux


This page contains download and installation resources for the CamBam Linux port using the Mono .NET framework.

There is currently no package install available so the application will need to be manually installed by expanding the downloads into the appropriate folders. You will also need to ensure all dependent libraries are installed on your system.

NEW! CamBam V1.0 development releases

The Development Release section contains binaries including the new CamBam V1.0 features as well as a number of improvements to make CamBam more stable with older X11 versions.

The development release now also supports Raspberry Pi

Comments and feedback...


These downloads are based on the older, latest stable release of CamBam (V0.9.8)

There are known problems running this version on some older Linux versions including crashes when opening files.

We recommend trying the new V1.0 Development Release. Although still in testing, this version contains a number of changes to increase stability with older Linux versions.

CamBam binaries

Released 5 August 2014 build 0.9.5330.21906 Rev P beta 2

For 32bit Linux...

CamBam0.9.8P-mono-beta2.tgz (2.59 MB)

For 64bit Linux...

CamBam0.9.8P-mono-beta2-64bit.tgz (2.59 MB)

Changes in this version

  • Bug fixes and changes to bring in line with the latest development 0.9.8P Windows version.
  • Bug fixes to get working with Ubuntu 13, 14 and other later Linux distributions.
  • Inclusion of the lathe machining operation plugin.
  • New Excellon file handler V1.5.

CamBam system folders

Released 5 August 2014

CamBam0.9.8P-mono.system.tgz (188 KB)


Make sure the Mono Framework dependencies are installed.

Extract the CamBam binaries archive into the root of your home folder : ~/CamBam0.9.8

Extract the CamBam system folders archive, then copy the folders contained in this archive to the
~/.config/CamBam plus 0.9.8 folder under your home folder.

If you have a CamBam license file (CamBamPro.lic) this can be copied into the same folder as the binaries.


From a terminal window or a shell script, execute the following:

mono ~/CamBam0.9.8/CamBam.exe

For the new V1.0 development release...

CamBam should be started using the shell script cambam.sh, which is contained in the binary package.



For maximum compatibility we recommend installing Mono Framework 4.6 or later libraries.
Older libraries can work, but there are known problems with scripting and printing when using older mono libraries.
If you are not sure which mono libraries are installed, use the following command:

dpkg --list | grep libmono

For Debian/Ubuntu systems, getting the latest libraries may involve adding the mono sources to the list of repositories by using the following commands, then reinstalling the mono-complete package:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update

If an older version of mono is already installed, the following command may be needed to first remove it to allow an upgrade.

sudo apt-get remove mono-runtime

Dependencies for maximum compatibility...

For maximum compatibility, we recommend installing the mono-complete package.

On distributions that support aptitude / apt-get, the following commands can be used to install mono and the required libraries:

sudo apt-get install mono-complete

Minimal dependencies...

For a minimal installation, the following packages may suffice...

  • mono-runtime
  • libmono-system-windows-forms4.0-cil
  • libmono-system-web4.0-cil
  • libmono-system-design4.0-cil
  • libmono-system-numerics4.0 (for python scripting)

The following commands can be used to install the minimally required libraries...

sudo apt-get install mono-runtime
sudo apt-get install libmono-system-windows-forms4.0-cil
sudo apt-get install libmono-system-web4.0-cil
sudo apt-get install libmono-system-design4.0-cil
sudo apt-get install libmono-system-numerics4.0-cil

Limitations / Problems we are aware of

  • Alt+Dragging for 3D rotation often conflicts with Linux window dragging modes. See distribution specific notes to disable these modes or change them to use the Windows key.
  • Cut/Paste seems flaky on KDE. Invoking Klipper SHIFT+CTRL+V then clear clipboard history seems to fix. Gnome seems OK.
  • Python Scripting is working, but JScript and VBScript are currently not available.
  • Currently no 40 free evaluation uses. CamBam will run as though in expired evaluation mode unless a license file is detected in the program directory. This will restrict gcode output to around 1000 lines for unlicensed use.
  • Crashes when opening files on older Linux systems - please try the V1 development release

NEW! CamBam V1.0 Development version (alpha 16)

WARNING! These versions are still under development or undergoing periods of public testing. These releases should be used with caution as they may contain bugs or give unexpected results. It is strongly recommended to use a simulator or run air-cuts before running g-code generated from these versions on any CNC machinery.

Released 28 June 2018 build 1.0.6753.24057 alpha 16

Release notes...

CamBam binaries

64bit Linux...

CamBam1.0-mono-alpha16-64bit.tgz (4.2 MB)

32bit Linux...

CamBam1.0-mono-alpha16-32bit.tgz (4.2 MB)

Raspberry Pi...

CamBam1.0-mono-alpha14-raspi.tgz (3.8 MB)
Raspberry Pi installation notes...

CamBam System folders

Extract the following to the ~/.config folder

CamBam1.0-mono.system.tgz (253 KB)

Changes in this version

Use the new cambam.sh start script to run CamBam to maximize compatibility, particularly with older Linux versions.

More new V1.0 features...

Previous development releases

CamBam1.0-mono-alpha14-64bit.tgz (4.2 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha14-32bit.tgz (4.2 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha14-raspi.tgz (3.8 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha12b-64bit.tgz (3.96 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha12b-32bit.tgz (3.97 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha12b-raspi.tgz (3.55 MB)
Released 16 January 2017 build 1.0.6223.39436 (alpha 12b)

CamBam1.0-mono-alpha12-64bit.tgz (3.96 MB)
Released 13 January 2017 build 1.0.6222.19258 (alpha 12)

CamBam1.0-mono-alpha12-32bit.tgz (3.97 MB)
Released 13 January 2017 build 1.0.6222.19258 (alpha 12)

CamBam1.0-mono-alpha12-raspi.tgz (3.55 MB)
Released 13 January 2017 build 1.0.6222.19258 (alpha 12)

CamBam1.0-mono-alpha11b-64bit.tgz (3.12 MB)
Released 5 January 2017 build 1.0.6214.22916 (alpha 11b)

CamBam1.0-mono-alpha11c.tgz 32bit (3.12 MB)
Released 12 January 2017 build 1.0.6214.22916 (alpha 11b)


To disable ALT+Drag window dragging:

Applications -> Configure Desktop -> Window Behaviour -> Window Behaviour -> Window Actions
On bottom section: Inner Window, Titlebar & Frame
Modifier key : Alt (default)
Set Left button: Nothing

Linux Mint 18.* (with cinnamon)

From the system menu navigate to Preferences > Windows

In the 'Behaviour' section, under 'Moving and Resizing Windows', change the 'Special key to move and resize windows' to '<Super>'

Ubuntu 12.*

To disable ALT+Drag window dragging:

Install the dconf-editor package

Start dconf-editor the browse to the following key:

org » gnome » desktop » wm » preferences » mouse-button-modifier

Change the value to '<Super>' or perhaps '<Alt> + <Super>'

Ubuntu 11.10 (Oneiric Ocelot)

To disable ALT+Drag window dragging:

To disable alt dragging...

gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string disabled

Or to use the Windows key rather than Alt...

gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string '<SUPER>'

To restore the behaviour to the Alt key...

gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string '<Alt>'

Alternatively, install the graphical GConf tool : gconf-editor to change the above setting.


The latest version of Ubuntu installs the core Mono packages.

Use the apt-get methods listed above to install the other required libraries.

Ubuntu 10.04 (Lucid Lynx)


The default source repositories for this release have out of date versions of the Mono framework and libraries so an alternative repository needs to be specified.

Open the 'Ubuntu Software Center' application.

Edit - Software Sources

Click the Other Software tab, then the Add button.

Add the following apt line, then click Add Source:

deb http://badgerports.org lucid main

Next we need to authenticate this source.

The following link contains more details on using the badgerports repository as well as a link to a key file that needs to be downloaded:

In the Ubuntu Software Center, Software Sources section, select the Authentication tab, then Import Key File and select the PGP key you downloaded : (directhex.ppa.asc)

Close the software sources window and the packages cache should then rebuild.

Now click 'Get Software' then search for and install the following packages: (Before you click install, select the More info button. The version reported should read ... if not then the adding the new source repository didn't work).

  • mono-runtime
  • libmono-system-windows-forms4.0-cil
  • libmono-system-web4.0-cil
  • libmono-system-design4.0-cil
  • libmono-system-numerics4.0-cil

To disable ALT+Drag window dragging:

System - Preferences - Windows

Then set the Movement key to use the Super (Windows Logo) key, rather than Alt. This will allow you to use Alt - Dragging for rotation in CamBam.

Forum Comments


To disable ALT+Drag window dragging:

Computer -> System Settings -> Window Behaviour -> Window Behaviour -> Window Actions
On bottom section: Inner Window, Titlebar & Frame
Modifier key : Alt (default)
Set Left button: Nothing


Use the apt-get methods listed above to install the mono-runtime and other required libraries.

Linux Mint

Use the same instructions as Ubuntu

To disable ALT+Drag window dragging:

Use the gconftool-2 as per Ubuntu. Note, if using the graphical configuration editor, metacity is not listed so the command line tool still needs to be used. There is a similar setting under marco but this seems to be ignored.

Raspberry Pi

Use the V1.0 raspberry pi development release above.

Make sure the latest 4.6+ libmono framework libraries are installed.

OpenGL mode does not work at the moment (We will investigate using OpenGL ES for later releases). Change the System – Configuration – Display Mode to GDI for now, then restart CamBam. OpenGL_Legacy says it works, but is slow and horrible (it is likely using software emulation).

To disable ALT+Drag window dragging:

For Raspbian with openbox lxde window manager, edit the following configuration file:

nano ~/.config/openbox/lxde-pi-rc.xml

Use CTRL+W to search for 'A-Left'.
You should find the following section. Change the three "A-Left" texts to "W-Left"
(W stands for the Windows key).

<context name="Frame">
      <mousebind button="W-Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      <mousebind button="W-Left" action="Click">
        <action name="Unshade"/>
      <mousebind button="W-Left" action="Drag">
        <action name="Move"/>

Save the file then run the following command or just restart your raspberry pi.

openbox --reconfigure

Revision History

0.9.8N Beta 5

Released 21 May 2013 build 0.9.4889.20625 Rev N beta 5

For 32bit Linux...

CamBam0.9.8N-mono-beta5.tgz (2.59 MB)

For 64bit Linux...

CamBam0.9.8N-mono-beta5-64bit.tgz (2.59 MB)

0.9.8N Beta 4

Released 24 December 2012 build 0.9.4740.33740 Rev N beta 4

For 32bit Linux...

CamBam0.9.8N-mono-beta4.tgz (2.56 MB)

For 64bit Linux...

CamBam0.9.8N-mono-beta4-64bit.tgz (2.56 MB)

WARNING! One of the bug-fixes in 0.9.8N rc7 was to reduce the 3D waterline boundary to be consistent with the scanline method. If you use 3D waterline operations, please double check they have enough clearance for finishing passes with this new release.
  • Bug fixes and changes to bring in line with 0.9.8N rc-7 windows version
  • 64bit text support.
  • Bug fix: was not saving 'cached' default values, so was not reporting property cache changed messages.
  • G-code output limit increased to 1000 lines!

0.9.8N Beta 3

Released 5 December 2012 build 0.9.4722.21101 Rev N beta 3

download - CamBam0.0.9N-mono-beta3.tgz (2.56 MB)

  • Bug fixes and changes to bring in line with 0.9.8N rc-6 windows version
  • Browse samples and system folder now working.
  • Added text drawing object support (quadratic fonts only such as TrueType at the moment).
  • Bug fixes for some property grid errors.
  • Right click 'Holding Tabs' menu should now be visible.

Released 29 November 2012 build 0.9.4716.27423 Rev N beta 2

download - CamBam0.0.9N-mono-beta2.tgz (2.56 MB)

0.9.8N Beta 1

Released 19 November 2012 build 0.9.4706.25664 Rev N beta 1

download - CamBam0.0.9N-mono-beta1.tgz (2.55 MB)

Changes in this version

  • Update to 0.9.8N release. See 0.9.8N release notes.
  • Bug fixes for Polyline Points and Entity Transform property editor.
  • Bug fixes for drawing window losing focus after 'thinking' message displayed.

0.9.8M Beta 6

  • OpenGL DisplayMode is now working although without hardware acceleration, GDI mode may be faster.
    If 'Requested GraphicsMode not available' error reported, try turning anti alias off.
  • Fixes to property grid for drop down and expandable properties.

Released 6 April 2012 build 0.9.4479.35428 Rev M beta 6

download - CamBam0.0.9M-mono-beta6.tgz (2.52 MB)

download - CamBam0.0.9M-mono.system.tgz (92 KB)

0.9.8M Beta 5

  • PolyRectangles can now be read from .cb files. Rectangles saved with the Linux version currently can't be read by Windows version. This will be fixed in the next Windows version update (0.9.8M beta 4).

Released 1 April 2012 build 0.9.4474.42162 Rev M beta 5

download - CamBam0.0.9M-mono-beta5.tgz (2.12 MB)


<< 1 >> 
#  Ken Sribnick 13/11/2013 18:34:11
I recently made a CNC mill for home woodworking.
For the last three weeks, I have been 'learning'
to install CamBam0.9.8N on my Linux laptop hoping
to later pass files to Windows/Mach3 when milling.

CamBam just loaded for the first time, but
indicates: "Your evaluation has expired," "Some
functionality will be disabled," and "Plugins

Do you have a way for a first-time user to get
a current release Linux evaluation copy?
To be honest, if I buy your software and don't
end up using it, my wife will be hard to face.

Thank you in advance,

Ken Sribnick
Amateur Ukulele Maker
Dallas, Texas USA
Reply Quote   12  
#  anon 18/11/2013 10:25:31
CamBam just loaded for the first time, but
indicates: "Your evaluation has expired," "Some
functionality will be disabled," and "Plugins

I am sorry about this Ken, but the Linux version currently does not support the 40 fully functional evaluation sessions due to incompatibilities with the code we use to make this happen in Windows.

In recognition of this, we have increased the free g-code limit from 500 to 1000 lines, which may be adequate for many small jobs and to get an idea if CamBam will work for you.

You are welcome to install CamBam on other Windows machines or a VM to test the full functionality. However, other than the g-code line limit, the only other difference should be the ability to use plugins.
Reply Quote   10  
#  anon 20/02/2014 14:54:11
Seems the package is broken on Ubuntu 13.10. Cambam opens fine, but if you select a .cb file the program crashes. Strangely, if you continue to try open the file sometimes it suddenly works. I would really appreciate if this could be fixed. Surely it can be only a minor bug.
Kind regards,
Reply Quote   11  
#  Mike Kirkpatrick 07/01/2018 00:19:19
To disable Alt+Drag window dragging on Linux XFCE (Jessie) go to Applications Menu->Settings->Window Manager Tweaks and choose the Accessibility tab. Choose a different key from the choice gadget referenced by "Key used to grab and move windows".

Reply Quote   10  
#  Bill Stoner 05/06/2018 17:36:05
Linux version of 1.0 alpha. When attempting to exit a point collection edit screen using the cancel button, received an "Error setting value" Warning message. Seems reasonable since I did leave a blank field, however, clicking 'OK' does not put you back in the edit screen and you are stuck there. Tried several different escape methods, but nothing works. Can't even kill the app. The Point Edit screen and the warning message appear to be separate processes that don't shutdown when you kill the main app. I did finally get the edit screen to update the errant field by continually entering a 0 on the keyboard and banging on the OK button in the warning screen. Not a game stopper, just an annoyance.

Worth noting that I am have good results drawing 2d objects and generating g-code for linuxcnc. No problems so far.
Reply Quote   11  
#  Kimokee 11/01/2019 17:06:11
Greetings, I have tied running in Linux but no icons appear on the tool bar.
Reply Quote   5  
#  kimokee 11/01/2019 21:40:04
OK I got Icons with version 1.0 but the menu is extremely faint to see any Ideas I am running a Debian machine LMDE 3 with the latest mono any ideas?
Reply Quote   5  

name: Rate this article

Name, url and e-mail are optional. E-mail addresses will NOT be displayed, but please provide one if you would like a reply.
If your comment or url is not displayed immediately, it may be awaiting approval.
The following BBCode formatting codes are supported : [b], [i], [u], [code], [quote], [list], [*]
Your comments...

Submit Comment