It's been more about getting a GUI and other non GUI code like the CAN bus module to play together although this looks like it may become the serial module instead. I knew that OSes are not real time but I thought a slimmed down version of linux on 4x 2.4 GHz processors would do better than 3ms

.
It won't really matter for my end application of making a machine HMI but for diagnostics it would be nice to have good timestamping. The Bosch M CAN controller that is in any decent microcontroller (not the cheap ST shit) will give a timestamp in CAN bus bit times so potentially to the µs at 1Mbaud.
This also makes it more universal as it can run on any computer with a serial port. This was my original intention but I wanted to get something working a bit more quickly than the time it will take to write the code for a micro controller and get a board spun.