$500 to anyone who can port linux cnc and the qt gui to haiku with the mesa driver

If this is a hard requirement for you, then you may have to wait for a while. Haiku may be currently multi-user capable underneath the GUI, but it isn’t exposed yet and won’t be until prolly post-R1 (for now).

it’s just all the bs that comes with multiuser the linux forces onto you that is obnoxious.

afaict, haiku isn’t multiuser in the sense that linux is.

I’ll investigate this a bit, I know Linux cnc is production capable.

Wow, you made me laugh. Good job!

1 Like

That’s your definition, but it is not at all what I learnt at school. I remember it very well because my teacher had a very good example.

Let’s say you are studying continental drift. You put a set of sensors all over the earth to measure it. This is realtime processing: you process the data as it arrives. But, it is slow, and you only need a measurement per month or something like that. So you can have someone hike to where you put your sensor once a month, get the data, and send it to you by mail, and it will be fine.

So the definition we used is: a process is realtime when its output has an influence on its future input.

A friend of mine had another definition: a process is realtime if there can be a problem such as sending the output either too late, or too early.

None of these definitions say anything about how you implement it, what specific hardware you need, or anything like that. In fact there are realtime processes that don’t involve computers at all, say, a person riding a bike?

Modern hardware still has assignable interrupts and we use it for task switching and many other things in Haiku. Interrupts are needed for pre-emptive multitasking, but that is not necessarily related to realtime processing. And both Linux and Haiku are using preemptive multitasking already (as are any modern OS since Unix, AmigaOS and Windows 95).

2 Likes

The common definition of a real time firmware was typically that the hardware clock is the loop timer, forcing a rigid execution cycle.The cpu cycle clock " all instructions and data to be calculated" had to fit inside this very specific loop. the way a Auutomotive Engine control module used to work, back when only 8mhz CPU’s has a few kb of ram and rom.

Obviously hardware advancement has changed that in every sector since the ideas of “real time” were implemented.

if we are all being honest “RT” is kind of a marketing term anyways.

I think the Haiku kernel is entirely up to the task, particularly if the machine in question, is ONLY running milling software and nothing else. I don’t know about you, but if I am machining a $15,000 piece of titanium, I’m not going to risk scraping it by playing tetris while the machine runs, I can go in the house and let me robot do it’s job, alone, uninterrupted.

The biggest issue for me is that

Debian is painful to use, Haiku offers the same software in many many cases, personal preference towards Haiku. not a big fan of linux in general, I’ll spare the well hashed out bryan lunduke, why linux sucks talk, we all know.

If I was machining expensive things like this I wouldn’t trust Haiku to do it reliably. If only because I still get a kernel panic once a month or so, and that’s not even looking at how good or bad it actually is at precise timing, something I never had to research until now.

I’m certainly not saying that haiku is ready, right now, but I’m willing to fund the initial port with what I have.

the good news, is that this might help discover bugs !!!

the better news, it might help pull in deveolpers and users, who are computer savy and willing to throw money at the problem.

@SCollins, in case you haven’t, it might be a good idea to open a ticket here, since all porting related discussion and development happens over Github.

Hopefully someone picks it up from there. :slight_smile:

Also, you can make a request to the project developers, it might be helpful as well.

Any statistics what panics happens most often?

No pattern identified so far and I’m also suspecting my hardware could have problems.

i had issues with AMD bulldozer and piledriver era cpus and what looked like cache corruption. there were some cache patches to help that with windows update iirc and also the linix mainline kernel.

not sure what hardware you are using but i saw it frequently with 8350 family cpus, the ryzen 2 haven’t seen it at all.

It’s a 10 year old Thinkpad x220 with some Intel core i3 in it, donated by an Haiku user. It’s getting a bit old and lately I had strange things like glitches on the display that I don’t think are because of software, random compiler internal errors that go away when I reboot, and as mentioned, sometimes kernel panics. I suspect some problems with the RAM but so far it has not crashed hard enough for me to chase the problem.

I have the same but and i5, I use linux on it but so far I haven’t had these problems except on the touchpad. it could be some driver issue in the haiku that causes this in your x220

i always had my kernel panics while building, i did sone tracing on this long ago. i wanted to try disabling sse instructions at the compiler, I never did figure out how to do this.

don’t ask my how i got to sse2 being a possibility, it’s been years

If you use the 32bit version of Haiku, it is not configured to use SSE instructions. In fact, gcc2 pre-dates SSE instructions and does not know how to generate them.

If you use the 64bit version, SSE is part of the base set of instructions supported by every 64bit CPU so it is not possible to disable it.

that rules out sse, all the crashes i was able to trace were memory corruption issues, and I’ve strongly suspected that the disk cache on stored in ram was the culprit, but it seems to act up with heavy float fpu type loads, from my observations

Can you upload a photo of KDL? I had disk cache related memory corruptions before, but it seems fixed.

there’s a ticket with my name on it in tracker

Actually that is GRBL, there is no software called MiniCNC, so the title was a bit confusing.
So you already have something to work with for older machines.
And that is an old video, GRBL now also already has backlash compensation.
I might use this to do something for my small lathe.

1 Like