Looking at the source code, it uses Qt, Gtk, Gtk+, PyQt. (Gtk and Gtk+ seems to be optional). This is a heavy task and roadbumps can hide behind every corner. They insist to use patched linux kernel, is that optional?
I would open an issue at HaikuPorts, link it here, so we can collect the informations / dependencies somewhere to see if it is actually possible to make this thing work.
The linux RT kernel is real time (it’s in the name). And of course x86 CPUs use an interrupt to switch between threads. That’s pre-emptive multitasking and is not related to realtime.
You can write realtime software with or without preemptive multitasking.
What does realtime mean? It just means you have guarantees that some threads will be able to run at a given time, no matter what else is happening. It doesn’t say anything about how you guarantee that. In Linux, the RT patches are focusing on a few places where it’s known that the kernel can sometimes fail at this. For example, it may be stuck on disk i/o or something like that.
Is it needed for 3D printing? Maybe, maybe not. It depends what kin of device you are driving and how you drive it. If you are just sending commands over a serial link, you probably don’t need a realtime kernel. If, however, you are directly controlling motors and actuators, you probably need it.
On Haiku, you can set threads to “realtime” priorities, but I wouldn’t say there are strong guarantees. Don’t trust your hardware on us if you are directly driving motors and things like that.
in the traditional sense of realtime, you have a hard loop interrupt driven specifically by a external pin on the cpu clock. as is the case with motora 68hc11 mcu, I know the old isa and some pci hardware did uave fixed hardware interrupt registers that were in fact assignable at the bios level.
yes, linux cnc would be driving real motors on real machines, the good news is that a few roller switches a
in the servo amplifier enable cirxut can disable those servos if need be and a sime ink pen atrached to a spindle can sraw endless circles.
the debian prebuilt linux cnc iso images are somewhat preconfigured, but they are very difficult to work and install is buggy.
and it’s a multiuser system, I don’t know about you, but I’m not sharing my mill with other people.
Now lets elaborate this a bit more. I don’t know anything about linuxcnc but i do have experience with CNCs (but only older ones). The CNCs i know werent really driven by the attached computer. The computer only sent the G-code program on serial port to the cnc, the program would run in this case on the CNC’s own controller, so the desktop computer does nothing during this time. Is this how linux cnc works?
I can imagine an pimped up analog lathe, where the handle bars got replaced by stepper motors and the motors driven by a desktop computer. Is this how linux cnc works?
First one obviously don’t need realtime kernel, but the second one should. We don’t want distorted fillets because the machine was busy with compiling the different official 3d accelerated gpu driver sources. We demand perfect circle-interpolations!
Linux cnc controls machine motion, via parallel port, add in PCI card etc, and it’s driving those motors via dc voltage, step/dir etc. Stepper motors, DC and AC servos, most the cards are driving controllers which actually do the control of the servos and steppers, but Linux CNC is issuing the commands to do so, often with some form of encoder feedback.
and I am using linux cnc with a hurco km3 mill and a Trionics Handyman mill both with a controls Refit