Working in VMs

Published April 20, 2020

Using Linux is generally pretty good. It has a unified way to update everything. Programs integrate well into each other. The terminal presents a great way to use the system, even if it is somewhat archaic. The problem comes when you have to use software which isn’t supported.

For better or for worse, most of the world uses windows as its desktop OS of choice, which means that’s where most of the desktop development goes. I had to write an essay last week, which was to be submitted as a docx or rtf file, so I was faced with a choice. I could write in Libreoffice, which is ok, but I don’t think its nearly as good as word. I could write in latex and use pandoc to generate the submission file. Or I could use word, which is the most straightforward path. The problem with that is that word isn’t natively supported in Linux. While I could try to fool around with wine, I find wine very temperamental, some things work and others just don’t, and I don’t have the inclination to go and tinker with its config to try and get it to work if it doesn’t out of the box. So I’m left to working with a VM.

Using KVM/QEMU as the virtualisation platform, as I find it provides better performance than Virtualbox, brings its own host of problems. There are additional drivers that need to be installed in order to achieve the best performance and to have some niceties working, like automatic resolution based on window size. Thankfully I have already gone through the pain of setting it up, but from this stint I found the benefit of increasing the video memory. Just do it, it makes the whole thing run smoother.

Once the VM is set up, it can be used as if it were a normal windows PC, although it presents a little lag. I set up a samba server on my host to share my home directory with the VM, not hard but definitely less convenient than Virtualbox’s shared folders, but it works. Using word wasn’t to bad, although there was some lag between pressing a key and seeing it appear on the screen, as if it took 0.1s instead of being its usual instant. It was a little disconcerting at first, although I got used to it eventually. The whole experience was almost what it normally is, and better than the alternatives. I can definitely see myself continuing to use a VM for office products, especially as I don’t use them that much. It annoys me that they’re some of the last things I haven’t been able to find a good equivalent for on Linux. There just isn’t anything that does what they do as well. So for the foreseeable future, when I need to use office, I’ll do so in a VM, cause the alternative is going back to windows. I’m not sure why I don’t like windows, it just feels worse. I should try to quantify it, maybe I’ll get around to it eventually.

Anyway, it is definitely viable to work in a windows VM for office, at least as long as you don’t mind a little lag here and there. I’ll have to look for a better alternative, but for the moment I guess this’ll be what I’m doing.