The LibLaserCut( https://github.com/t-oster/LibLaserCut ) had new support for the M2 Nano controller so by default that means VisiCut( http://visicut.org/ ) supports the M2 controller.
I had replaced my M2 controller a few months after getting the K40 up and running so have not tried this but when someone does, please post status here and if you find a bug, please post an issue at the liblasercut repo so it can be updated. Thomas is very willing to keep liblasercut working so feedback is very helpful to everyone.