If someone knows a way to keep using a Linux desktop environment on a MacBook I'm all ears! I've tried several ways, using Parallels, VirtualBox, QEmu, Docker Machine; using rdp, vnc, x2go/nx but all aren't snappy enough for my liking.
https://www.vmware.com/products/fusion.html
From your list I've only tried VirtualBox and the experience wasn't so good, bad performance and many outright crashes.
Fusion was quite pleasant to use for my main work system. Make sure you give it enough RAM _and_ that you keep enough for the host, especially if you intend to also use it at the same time (I used to do 8GB and 8GB).