The price of freedom

The humble chimera, Windows and Linux playing nice with eachother

The “Year of the Linux Desktop” is touted a lot in the space of linux enthusiasts, but as of the past decade it’s been more of a joke than anything else; particularly with regards to gamers: Linux systems can’t play many famous games on the PC.

Until now.

It’s called VFIO, and it allows you to pass hardware into virtual machines, including PCI-e cards, such that it is sometimes called PCI-e Passthrough or VGA Passthrough. What does this mean for linux users? It means that it’s now possible to have a virtual machine that runs windows at almost native performance, including GPU acceleration. It means that it’s now possible to play modern games at 4K resolution inside a Windows Virtual Machine, while performing tasks on your linux host.

Whoa whoa whoa, hold up, what’s the catch?

Well, this setup is relatively new, and requires a great deal of effort to get working. For me it took around 4 days to get it at the performance level that I would come to expect from the hardware inside the Virtual machine. Additionally, you also need to have some pretty decent hardware to pull it off. Video games like to run on 4 cores, so your average quad-core processor isn’t going to cut it.

Personally, I have an Intel 5960X so I just set up 4 cores on the Windows VM (no hyperthreading) and 4 cores (with hyperthreading) on the Linux Host. Now these resources are isolated, as with the graphics cards and the RAM, the Host cannot access those cores, RAM or the GPU that the VM uses and vice-versa. A Ryzen 8-core should do the same job just as well.

You need two graphics cards, either by having 2 dedicated cards (like my setup) or by using an inbuilt card like the built-in ones on Intel CPUs.

Likely you will have to use an Arch based distribution, which adds to the complexity of setup, but they have great documentation and an incredible wiki. The key is just not giving up when things break; it’s almost always possible to get out of a bad situation.

But what is the point of all this “Linux” business anyway?

Well, that’s a complicated question to answer. There’s a lot of reasons why people choose to use Linux, but the most popular reasons are as follows:

  • Freedom – Linux offers total freedom to the user when it comes to setting up their Operating System, most of the software is open sourced and GPL licensed.
  • Security – Linux desktops are not targets for malware, it’s also more difficult for malware to cause damage to a machine. Malware written for windows (which encompasses the vast majority of malware) will have zero effect on a Linux machine.
  • Power – The terminal interface for Linux machines is exceptionally powerful along with a large list of written command line tools. Software written for Linux can often have better performance than running on Windows.
  • Package Management – Linux distributions typically come with package managers, which take care of the entire process of locating packages, installing them and updating them. Under Windows, each individual application has to manage either updating itself (resulting in each application needing its own updater program) or the user has to update it manually. On Linux, all software can be updated with a single command.
  • No ads or tracking – Windows has come under a lot of flak lately for presenting adverts in the software that comes with the expensive operating system as well as on the lock screen. There is also extreme controversy over the forced telemetry, where Windows refuses to allow you to disable your data being sent to Microsoft under the label of “Debugging purposes”. In this way, Windows has more similarities to malware than anything else and we shouldn’t have to put up with it.

I do it for all the reasons listed above, and also to make a statement that it’s completely possible to get Microsoft’s software out of being your host operating system. When Windows runs now, it does so when I tell it to, and when I need to use it. I don’t perform any action that requires security on the Windows side, and I have started to migrate to free open source software on the right side. It’s a matter of switching out expensive, proprietary software like:

  • Adobe Photoshop – This can be replaced with the GIMP, which has lots of released plugins that can make it work on par with photoshop. Recently it has received GPU acceleration and is soon going to incorporate enhancement layers in an upcoming version. Howeever, the painting features of Photoshop are better handled by Krita.
  • Adobe Illustrator – Use Inkscape! It’ll do the job just fine.
  • Adobe InDesign – Scribus has got you there.
  • Adobe After Effects – This one isn’t so simple, you can use Natron to perform compositing work and Kdenlive to do traditional video editing, but the workflow is different compared to After Effects. The results that people have achieved with Natron however are visually stunning.
  • Microsoft Office – Replace directly with LibreOffice, job done. A little setup needed for the dictionary support but once that is completed you no longer need to be bound by an Office 365 subscription.
  • Sublime Text 3 – Now I bought this software, and I am very grateful to it, but I’ve been migrating to Emacs as of late, specifically Spacemacs and I feel that it’s just a far more powerful editor.
  • 3DS Max – Blender. It’s really not as terrifyingly difficult to learn as it was 10 years ago and it works exceptionally as an industry-quality tool.
  • Fruity Loops – They operate differently, but Ardour and LMMS are fully featured DAWs that will get the job done.

Why don’t you try it out? With the recent “Software as a Service” business model used by many of the above tools you could be saving money every month by switching to free, open source software for your workflow.

 

The price of a linux desktop is time. Are you willing to pay that price in return for your freedom?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.