Good news everyone!
I managed to package up a proper Linux build! (including support for Raspberry Pi @KelvinShirley) There’s a build for x86_64 and arm7l (Pi 2 and 3). It’s actually just the mac version verbatim, with the native parts recompiled for linux, and packaged up into an AppImage.
EaselDriver for Linux: https://github.com/mastercactapus/easel-driver-linux/releases
If anyone has a Pi 1 (or Pi Zero – same CPU) that they want to use for CNC stuff, let me know. Neither build will work on it, but I have both devices and can try to package it up. I did try actually, but had trouble getting raspbian to boot so I just left it out for the time being.
I also made a chrome app for forwarding ports: https://github.com/mastercactapus/chrome-port-forward
At home I’ve been running easel-driver on the Pi, and forwarding from the chromebook to the Pi with good results.
I’ll try to get the chrome app into the web store this week once I get an icon made and whatnot.
As for the more portable implementation (read: rewrite) of the driver: progress has been slow due to some health issues that came up, and finding time was difficult. I have been thinking about it though, and the main benefit is losing the dependency on node, specifically the native-extension stuff (go being far easier to cross-compile), platform support, static binaries, and being able to package the full end-to-end driver into a chrome app.
However since it is ONLY for Easel (and it seems most people don’t use it exclusively) I have wondered if it’s truly worth the effort and maintenance cost of a full rewrite vs just running the driver on a Raspberry Pi (or other linux box) and just forwarding from the chromebook to use Easel for those with chromebooks.
The chrome API wrapper and the code-so-far on the driver are available on github, for those interested:
The chrome library already seems pretty solid (it powers the port-forward app) but there’s a lot of logic to go through on the driver side. The driver stuff is also a mess since it’s still just throwing stuff at a wall until I get it to POC-phase.
In any case, the best results at this time are going to be with the linux driver (linked above). It has been working pretty well for me so far (including the port-forwarding app – if you use a Pi, make sure to give it enough power!). And since there’s no shimming or code-changes necessary (just recompiling) I have a lot more confidence in it than the other approaches.
If you have any issues feel free to reach out and let me know!