Linuxcnc 2.10 [updated]
Developing for LinuxCNC 2.10: What’s New and How to Adapt
LinuxCNC 2.10 is a major release with significant internal changes. If you are developing hal components, user interfaces, or real-time modules, this guide highlights what you need to know.
3. Improved Lathe Support (For Real This Time)
If you’re turning, 2.10 finally fixes long-standing pain points:
- Proper CSS (Constant Surface Speed) now works reliably, even on lower-cost VFDs.
- Threading with encoder feedback is more robust at low RPMs.
- New "Lathe View" in Axis and QtDragon shows the tool nose radius and clearance angle.
I tested threading on an old 12x37 lathe with a 100-line encoder. Previous versions would occasionally skip a step at spindle reversal. 2.10 held perfect pitch across 20 passes.
Method 2: Install on Existing Ubuntu/Debian
If you have an existing Linux setup:
sudo apt update
sudo apt install linuxcnc-uspace
Note: You will need to manually configure your kernel for real-time. The ISO method is strongly recommended for beginners.
5. G-Code and Interpreter Fixes
The heart of any CNC controller is the G-code interpreter. Version 2.10 includes numerous bug fixes and patches submitted by the community over the last few years.
- Canned Cycles: Improvements to drilling and tapping cycles ensure better compliance with standard G-code specifications.
- Cutter Compensation (G41/G42): This has historically been a tricky area. 2.10 includes updates to the cutter compensation algorithms, handling tricky corner cases that previous versions might have choked on.
- Variable Handling: Better handling of #variables and parameters makes writing macros and parametric G-code programs more reliable.
4. Real-Time Kernel Flexibility
Older versions of LinuxCNC demanded a specific, patched real-time kernel (usually RTAI or PREEMPT-RT). This made installation on modern hardware or new Linux distributions a nightmare. linuxcnc 2.10
LinuxCNC 2.10 has cleaned up the real-time abstraction layer:
- Supports PREEMPT-RT (included in standard Debian/Ubuntu kernels).
- Supports RTAI (for legacy systems).
- Supports "uspace" (user-space) threading for testing or low-speed applications (e.g., DIY pen plotters).
For most users, this means you can install LinuxCNC 2.10 on a standard Ubuntu 22.04 LTS or Debian 12 without hunting for deprecated kernel patches.
Stay on 2.8 (for now) If:
- Your machine is a production-critical system running 24/7 without issues.
- You use a very old PCI parallel port setup with RTAI kernel.
- You have a highly custom HAL written by a consultant who is no longer available.
- You rely on a third-party plugin or GUI that hasn't been updated for Qt.
Note: 2.8 will continue to receive critical security patches, but no new features. Developing for LinuxCNC 2
Method 1: The New Official ISO (Easiest)
- Download the
linuxcnc-2.10.0-amd64.isofrom the official site. - Flash it to a USB drive using
ddor Rufus. - Boot from the USB. You can run a fully functional live session without installing.
- If satisfied, click "Install" on the desktop.
This ISO comes pre-configured with the PREEMPT-RT kernel, QtDragon GUI, and sample configurations for common machines (Sherline, Tormach, MESA 7I92, etc.).
4. Better Real-Time (RTAI is Dead, Long Live PREEMPT_RT)
LinuxCNC 2.10 officially drops RTAI (good riddance—painful to compile). The recommended real-time kernel is now PREEMPT_RT (part of standard Linux) or EtherCAT for industrial setups.
Benefits:
- Easier installation – Use a standard Ubuntu 22.04 or Debian 12 kernel.
- Better multi-core performance – you can assign CPU cores.
- USB and network don't break real-time as badly as before.
For most users: just install the pre-built linux-image-rt-amd64 and you’re done.