What if I want everything?

1. What if I want safety and stability and features of linux, but I also want Windows for playing games and running Abobe stuff?

2. What if I have a dual core or quad core, but BF4 is optimized for 8 cores and I don't want to buy a new machine?

3. What if I need fast graphics with all the proprietary trimmings but I want a completely free and open source system because I want to take control over my own PC, instead of being a marionette for some big corporation and a bunch of hackers?

THEN:

1.

- You install the linux distro of your preference on your PC as the only operating system on bare metal.

- You install virt-manager, and QEmu-kvm from your distro's trusted repos.

- You start the virtualization service in terminal by typing as root "systemctl enable libvirtd.service", and check to make sure that it's running with "systemctl status libvirtd.service".

- You reboot the machine.

- You start virt-manager (shows up as "Virtual Machine Manager" in your application menu), and enter the root password to let it access system functionality).

- You click "new virtual machine", select install from DVD, insert the Windows DVD of your choice, and install windows as you would normally.

- Set set the virtual machine preferences to use the maximum system resources virt-manager allows you to (which would be all except about 500 MB of RAM if you have VT-d/AMD-Vi, and all-1 cores and all-a little GPU memory if you don't).

- You set the network interface of the virtual machine to bridged.

- If it runs too slow, you turn up the KSM a bit, probably not necessary at all.

- You take a snapshot of the virtual machine for when it breaks. You can also set up an overlay file to restore data to the virtual machine to save space and have extra flexibility.

- Enjoy Windows the way it should have been from the start, fast, secure, instant-repairable.

 

2.

- You're already running Windows in a virtual machine in linux, so you're good to go for conning Windows into thinking it's running on an octocore machine;

- You set QEMU in virt-manager to eight cores;

- You start your Windows virtual machine and open system info, and see that you are now running on an octocore machine;

- You play BF4 in Windows on an octocore machine.

 

3.

- You don't need to do anything, because you have already got Windows running in a secure virtual machine in linux.

- You tell others to do the same.

 

Any further questions or remarks?

19 Likes

Just bought another SSD yesterday to run Debian off of it, as Windows 8.1 is breaking my balls.

I'll try that one I get the time to do so :D

[and once Nvidia drivers stop breaking my ballz -.-]

 

*btw could you recommend an audioplayer in the likes of Foobar? Don't like Rythmbox and Banshee is ok but not that awesome ^^'

This is something I might look at, but what would the difference be from dual-booting? I kinda want to find out more about that in case a good solution is boot into windows for a gaming session, or boot into linux for web browsing, productivity etc.

As mentioned before, the benefits of running Windows in a linux virtual container are:

- It runs faster. It has been running faster than Windows on bare metal since about 2011, but with the performance gains linux has shown in the last months, there is a clearly visible difference now;

- You can snapshot Windows, so that when WIndows breaks again, you can easily restore it in a matter of seconds. The reason why linux can snapshot better and faster is because it reduces the files that Windows writes, which often consist mostly of "dead space", or just a bunch of zeros. Linux uses overlay files and an intelligent algorithm to reduce the size of these files and in case of restore, write them back again with the dead space Windows wants. Often the reduction in size by reducing the "dead space" of windows files is about 90%, so you'll save a lot of storage space;

- Windows isn't running on bare metal, and you can set the network connection of the Windows virtual machine to "bridged", in which case it passes through all the netfiltering that is done by linux. This enhances both safety and CPU load, because the dozens of Windows TSRs that keep doing things behind your back just don't work because they get no connection. Another advantage of not running Windows on bare metal is that the protection mechanisms of the hardware aren't made function of the software quality in Windows, so your thermal profile will not crash anymore, because there is always the linux protection that will not crash. In linux, you can rip out the graphics card on a running system, and the system will not crash. At most, X will stop and restart instantly, but the system will just carry on working as it should. In Windows, if your graphics card has a little dip in current, the whole system bluescreens. Big difference in the way to treat your expensive hardware;

- You don't have to set anything manually in Windows anymore. Some games or apps require this or that setting, others this or that application to run or not run. You don't have to waste time on those things anymore, you can just load different virtual machines with different settings and use what works best;

- When you get a malware infection in Windows, it will not be able to infect your data, because your data will be safe on the linux filesystem, which can't be read or written by Windows, and the container Windows runs in doesn't have access to it;

- You don't have to reboot to use your Windows console or use your computer, Windows runs in a Windows just like any ordinary application, and you can minimize it, maximize it, fullscreen it, fullscreen it on a virtual desktop, fullscreen it on a second monitor, anything you like;

- You can keep your linux install completely open source, no need for proprietary graphics drivers anymore, no need for Steam for linux, no need for any of that closed source untrustworthy crap, as you can run the untrustworthy crap in Windows like before, just not on bare metal;

- You can enjoy the comfort, ease of use, performance and capabilities of open source software for all of your productivity and communication, and only use Windows for the closed source crap, and you can allow drag and drop between the Windows container and the linux base system, so that you can communicate whatever you output in Windows through your linux basesystem;

- With QEmu, you can emulate different processors, not only ARM or Sparc or whatever, but also different x86-CPUs, like for instance, you have an i5 but need an octocore, well, you just set QEmu to give the Windows container an octocore, and Windows will think it has an octocore, it's like the linux version of Intel Hyperthreading, just for free. But you can emulate whatever you want, and it works really fast, because it uses kvm and VT-x/AMD-V as a backbone;

- etc...

5 Likes

not to throw a wrench in your machine but you can't really have a completely foss system and have windows now can you, i believe they are rather exclusive from one another

semantics aside i'll have to try this when i have time, by which i mean think to myself i should really do that sometime about once a week

On the subject of encapsulating crap proprietary software, I would imagine there would be some small additional value in encapsulating each Windows app separately, so they can't interact.  So each game for example would have its own C drive.  This prevents one Windows app from messing up other Windows apps.

It is also nice to be able to run Chrome or Facebook within a virtual box and when it says, "I want to access your contacts" you say Sure and give it your virtual contacts of Bart, Lisa, and Marge.  You make a sandbox for each untrusted app to play in.

I laughed at the description of how Windows goes faster under virtualization, because of all those TSRs.  You get control of your computer back, and it gets faster too!  It's amazing that it all works.

 

1 Like

I recommend Audacious as a music player on the *nix. Great stuff :)

What kind of hardware does this work on? 

Anything that runs linux, from x86 to ARM to PowerPC.

You can for example have a PowerPC system, run linux with kvm, run QEMU, emulate a x86 CPU, run Windows x86_64 in a virtual container on it.

Performance for gaming is best on a x86_64 machine with both VT-x/AMD-V and VT-d/AMD-Vi, because then you can do hardware virtualization and use the proprietary graphics drivers in windows while keeping your linux system clean and open source. That again works best with AMD or Intel graphics cards, because there are no really functional open source drivers for nVidia GPUs. If you want the most compute performance out of your graphics card, AMD is the only option, because a 200 USD AMD GPU performs about 2.5 to 5 times better than a 400 USD nVidia card in the compute department.

1 Like

What if I want everything?

Didn't your parents ever tell you that you can't have everything?  :P

Thanks, I think I'll be giving this a go soon

Hmm.. I think it's definitely something I'll try on my laptop, and if I like how it runs might set it up on my desktop when it's built.

Windows is a guest OS in a virtual machine, so it's not part of the system, in fact it's completely isolated in a folder in the /home directory, which is different from the / directory. So yes, it's possible to have a fully FOSS system, even when running non-FOSS applications like Windows. See Windows as a commercial application with plug-in, and those plug-ins are games or windows applications.

Of course, if you use Oracle Virtualbox or VMWare vmplayer or ESX, that will compile proprietary modules into the kernel, and your kernel will be tainted, so kvm is definitely the better way to go, but on systems without hardware virtualization, virtualbox and vmplayer have the advantage of having DirectX extensions for gaming in the Windows container. That's why hardware virtualization is arguably the most important feature of any gaming machine, because it allows for a big performance boost overall just by being able to run Windows in a container on a clean linux system, using the Windows graphics drivers with direct access to the graphics card. The performance boost you'll get from running Windows in a kvm container on an i7-4770 non-k on an H87 motherboard with VT-d, is much greater than the performance boost that is attainable by overclocking the crap out of the hardly overclockable Haswell i7-4770k on a Z87 motherboard with extreme VRM assembly, but without VT-d, and often, even without the virtualization, just running Windows on bare metal, the H87 motherboard will perform the crap out of a Z87 motherboard when it comes to framerate in GPU-intensive games.

just a tip QEmu-kvm is all lowercase in the ubuntu repositories, dunno if that will bother anyone or not... also systemctl isn't used on ubuntu, though its not neccesary either...

My laptop is on ubuntu and doesnt run systemd. I dont have the systemctl command. how would I enable the service?

Yes, thanks for talking about virtualization.  I'm much more interested in it now.  I'm not keen on buying a Windows license but if I run it I'll run it under KVM.

Ubuntu uses upstart and sysv init for legacy stuff so either use start/stop/status or use the scripts in /etc/init.d/

All hail zoltan.

Thankyousir. 

I got an error about it not being able to connect to a monitor. Ill post the exact error later. Also isnt detecting my x64 installation, which is weird. I tried using virtualbox, but had no direct hardware support. Which i knew would happen. Lame.

I'd give this a try if I could be certain my NTFS 1tb hard disk won't be wiped and could still be used (read and write) by ubuntu. Is ubuntu better at partitioning hard drives itself? I haven't tried it since 9.04.