Feeds

For Windows guest - KVM or XEN and which distro for host?

This topic was created by Bronek Kozicki .

Bronze badge

For Windows guest - KVM or XEN and which distro for host?

The time is slowly approaching for me to rebuild my home PC. Since I've been using Linux at work for the past few years (ssh only, and happy with it), I want my new machine to be running Linux as a host system, and Windows on top of it. Not full migration because I've invested good money into software which is Windows only, also want to play games (which aren't ported to Linux yet). Also I find Windows GUI more ... attractive than Linux windows managers.

Pretty standard so far. What's different:

* I want to use PCI passthrough for AMD GPU; possibly also for LSI MegaRAID (unsure about this)

* I want to be able to give exclusive access to selected USB ports to Windows (to use devices I do not need Linux to know about)

* I want Windows to start automatically "as if" it was regular Windows-only machine, with the host OS not much different (for layman - i.e. family) from BIOS. In particular: no manual interaction needed to start Windows full screen with access to all the hardware I've given it.

* I will be using Linux from Windows guest over virtual network almost exclusively, i.e. ssh and possibly X sessions (X-server being Cygwin)

* I'm fine to put good money into hardware, 32GB RAM and 2x Xeon are not out of question. Also happy to split resources in half - Windows does not need to have all the goodies.

* I will be using Linux for some performance sensitive stuff, although nothing critical. Almost always related to programming in C++ (I wrote some patch for gcc in the past, want to do more of this, and gcc build takes lots of resources).

* I'd like to be able to buy support for my Linux installation, so distros such as RHEL or OpenSUSE are in

* I'd like to be able to use btrfs with confidence (strong point for OpenSUSE but I can wait few months for official support in official release of RHEL7). Specifically, I want self healing on RAID with checksums.

* I'd like to share filesystems between Linux host and Windows guest - if there are options better than SAMBA4 I will be happy to learn.

* I do not want to run Linux full screen GUI. I dislike windows managers in general, and also prefer tools like ssh/tmux/vim for work; on the other hand running Linux full screen in text mode is just waste of space and I do not need it. Putty ssh is best tool for me, for actual physical screen I can put Linux in picture-in-picture, second input on main monitor (as long as its text only).

* I do not want second keyboard, no space on desk for it, but how will switching of focus work? My keyboard has no special functions whatsever (but I love it because it's mechanical)

* This is not for playing with or learning VMs (which is why I didn't add this to the other topic), this is for serious use where VM is supposed just to stay in background and let me do my work. I have some experience with VMware (and old license I could upgrade - but they do not support PCI passthrough last time I checked).

Question: which combination of distro + virtual machine would work best for me? Thanks!

1
1

Re: For Windows guest - KVM or XEN and which distro for host?

At no time have I seen WHAT you are trying to accomplish. As a systems guy, first you spec your mission, then detail the pieces/parts needed to reach the mission objectives.

What are you trying to do, and where the hell did you come up with the 'requirements' wish list?

9
1

Re: For Windows guest - KVM or XEN and which distro for host?

Your spec is ridiculous, and your requirements are incredibly obvious and simple (your proposals though are mental).

a) install Windows natively. As you will play games, you want the best performance there, so install that first.

b) use a combination of cygwin, and or Debian under VMware (free version). Everything works fine and you'll be able to ssh to your system etc.

c) for a more advanced Linux install that will give you everything that you want, redirect the home folder of Debian a location that is in the Windows filesystem, thus giving you completely integrated Windows and Linux. You can ssh to the debian environment and also downloads from Debian will be placed into NTFS, so Windows / Linux will work very cleanly together.

Sorry, but your own ideas about system building are bizarre and illogical.

14
3
Linux

Re: For Windows guest - KVM or XEN and which distro for host?

Opensuse and Xen.

Btrfs - Hmm, I still consider that one in RC stage and the odd bad bug is yet to drop out of the woodwork but a highly promising FS. Give it another 12 months before relying on that one.

I'm not a games player any longer as it nearly cost me a divorce so I had to kill that addiction. I use Opensuse full time and have for about the last 10 years. I think KDE4 is light years ahead of the windows GUI and just super customizable.

If you want a games machine then run windows with Linux as guest, if you want to build a work machine then run Linux with windows as a guest. Better still buy a console and just create a work machine.

However I don't fully understand what your objectives actually are and what you are really trying to build ?

Final thought - ffs don't go AMD GPU if you are using Linux as host, the NVDIA binary is far superior to AMDs and they have very long support cycles to their products.

What ever you do good luck, have fun and several large pots of coffee on the go.

4
0
Bronze badge

Re: For Windows guest - KVM or XEN and which distro for host?

Thanks for all the advices so far, even those "run Windows natively". Let me explain why I do not want to do that: I've been running Windows natively "always" but since I started using Linux, I've grown to respect its kernel. I personally believe Linux kernel is more robust and more economical than Windows one, esp. the scheduler and memory managment. I've been running Linux as guest on Windows both in VirtualBox and in (paid) VMware, and while the experience is pretty good for less demanding tasks, it is awful for full gcc build. Especially if one is actually hacking gcc, and thus has to run the build again and again - it takes an awful lot of disk IO and CPU power.

What I want to do is to let the thrifty kernel own all the resources since it's less likely to waste them, and more likely to let me utilize all the cores, memory and IO I need to run full gcc build, even from within guest Linux. It does not bother me if it's headless, in fact that's how I like Linux best. The less economical Windows is to become a kind-of front end, started automatically, with full access to keyboard, GPU, USB devices etc., but in its VM configuration I decide how much memory and cores it will be allowed to use. The plan is to setup a Xeon machine with some 10 cores, of which 4 (number which I will tweak as needed) is given to Windows, and 4 or more to sibling Linux VM and rest to host for tasks such as SAMBA.

Primary use of this is to let the family use Windows as usual (games, internet etc), while I build gcc in the bacground, having started the task over ssh from my laptop. Or while I do anything else either via ssh console or X session, from my underpowered laptop. Since games can potentially eat up all the CPU allocated to Windows, I really, really do not want Windows to be host for this. It makes much more sense the other way around. In a word, Windows is primary use only if all you can see is front-end. There will be much, much more going on behind the scenes and managed through ssh.

4
0
Anonymous Coward

Re: For Windows guest - KVM or XEN and which distro for host?

Tip - don't let the family anywhere near your work machine, kids will always find a way to screw up or break the most secure locked down system you can imagine; childrens ability to test things to destruction never ceases to amaze me. The family use a windows box hooked up to the TV - my kids are not allowed in my work den on pain of withdrawal of all electronics privileges and saved game deletions.

3
1
Anonymous Coward

Re: For Windows guest - KVM or XEN and which distro for host?

Wouldnt you be better to just build two computers?

One can run Linux and be headless with a high clock speed CPU*, with an SSD and/or a decent amount of extra RAM for storage so you can compile from/to a RAMDisk.

The other would be a decent gaming rig. More cores, more RAM, a decent GPU or two, SSD for storage and some spinning rust for bulk storage, that sort of thing. And no risk of the kids turning off the VM to get an extra couple of FPS when they're playing games.

*AFAIK, multiple cores doesnt make that much difference to a compiler compared to increasing the clock speed; it's a difficult workload to split up into different bits... This probably varies greatly depending on your compiler though

10
1
Bronze badge

Re: For Windows guest - KVM or XEN and which distro for host?

@AC

no space for two computers here, really. I could put second microATX sized machine somewhere in the corner but it would be constantly at the risk of being tripped over, disconnected from network or power, or damaged in other ways. Even if place is found away from people (I do not see how - this is London flat, aka "rabbit hutch") it would simply not have enough CPU power for things I want to do under Linux. Headless host and guest Windows taking over fair bit of peripherals (but not much of CPU/network/disk/memory) with help of PCI passthrough is what I'm aiming for.

0
1

Re: For Windows guest - KVM or XEN and which distro for host?

I agree with the posts suggesting it would be easier to use Windows as the host. What you might do is to benchmark a GCC or kernel build on a native Linux build (i.e. Linux installed on the bare metal) and on Linux running in a VM. See what the overhead really is - if it's no more than (say) 20% then the gains from running Linux as the host might not be worth the trouble.

3
1

Re: For Windows guest - KVM or XEN and which distro for host?

I really want to like a Linux desktop and your post made me go and check the status of it as it has been a couple of years. I was really excited to see your thoughts on KDE4, but yep it still looks like a fisher price toy...such a shame.

0
4
Anonymous Coward

Re: For Windows guest - KVM or XEN and which distro for host?

Just do what I do - I run Win8,1 Pro and enable Hyper-V support. Then I install Linux (Ubuntu of various flavors) in a VM. Performance is a s good as the resources I commit to it, it's invisible for family users, I can control the devices that Linux sees... Works fine for me. Not sure it meets all of you desires, but it gets most of them.

0
1
Silver badge

Re: For Windows guest - KVM or XEN and which distro for host?

> no space for two computers here, really.

I don't believe you.

http://globalscaletechnologies.com/p-57-smileplug.aspx

0
0
Silver badge

Re: For Windows guest - KVM or XEN and which distro for host?

"I agree with the posts suggesting it would be easier to use Windows as the host".

I know just how you feel, Bronek, and I would want to have Linux as the foundation of my system too. But if you decide, on reflection, that for practical purposes it's necessary to run Windows native, just grit your teeth and keep reminding yourself "This is VMS with a silly GUI on top".

1
0
Silver badge
Linux

Re: For Windows guest - KVM or XEN and which distro for host?

My thought was a small headless box for the Linux work. It's only purpose would be computation and could be a smallish box with a decent (but not terribly expensive) CPU. It would be a compute node that sits in a corner or closet somewhere out of the way. Since you're only interested in connecting to it with terminal sessions it would just be a headless "server".

Linux will play nice with Windows network protocols going either direction.

1
0
Anonymous Coward

Re: For Windows guest - KVM or XEN and which distro for host?

Two seperate computers would probably be easier. Build a mini-itx Winbox and mount to the back of the monitor to elminate the u-atx, trip hazard in the corner. There are some AMD FM 2+ and Intel LGA 1150 mini-itx mobo's, but you haven't specified which type of games you want to play in the Windows environment. Size would restrict the video card you could use.

0
0

The other way around?

Since you' ll be using Windows mostly, wouldn't you be better off running Windows with Linux in a VM? Especially the USB bit would get complicated to implement, but easy when running Linux in an VM.

22
2
Bronze badge
Windows

Re: The other way around?

Yes, I was thinking of a couple of boxes, Windows games machine and session client upstairs and Linux big box in the basement as OP likes his SSH and remote access.

6
1
Roo
Silver badge
Thumb Up

Re: The other way around?

Agreed Manolo, as much as it pains me to say it I think it would be better to have Windows hosting Linux given the requirements. I would like to add one little tip though. Install Windows and Linux on *physically* separate hard drives, it makes upgrading/re-installing risk free (if you unplug the hard drive you want untouched). Two drives also means that if you suffer a drive failure you can carry on using the machine with the remaining OS. ;)

7
1

Re: The other way around?

I agree too.

If you are using Windows as the desktop and Linux in the shell, then it doesn't make any sense to run windows in a VM.

I have never had any issues with linux vm performance on a Windows host under VMware. You can share directories between host & vm from a menu setting too.

4
1
Silver badge

Re: The other way around?

Gah! There are enough people here who've already said this and it's probably doing the OP's head in that everyone is telling him the question is wrong rather than actually giving an answer. But I do the same - Windows 8 as the host and GNU/Linux (Debian in this case) as the guest. For me that gives the best of both - the friendly and well-thought-out design of Windows with the raw capability of GNU/Linux.

I use Virtualbox and I can throw as many cores and as much RAM to the guest as I like and it works pretty bloody well. I would guess the OP (understandably enough) has the view that Linux is the solid foundation and also there may be a VM-tax on the efficiency of the guest. And as they want Windows for goofing around in the GUI and Linux for furious compilation, they think that way round is best. I've found Windows 8 to be a very solid host, I don't think there's any concern there. I can't answer with certainty about a performance hit because the machine is virtual, but I'll say it performs very well for me and modern chips have special functions to support virtualization which means the virtual machine can be quite close to running on the metal. It's virtualization, not an emulator and the days of clear distinction between bare-metal hypervisors and software hypervisors are gone.

I wish I could give the OP more of the answers to their specific questions. I could using VirtualBox with Windows as host. For example, you can set up a shared disk space which is (probably) a better way of achieving what the OP wants than Samba. You can set a USB device to only be visible by the guest (though you'll need to leave said device plugged in).

Honestly, I was going to hold off on joining the "Other way round" bandwagon, but this particular part of the OP's question persuaded me to just add my own opinion that it might be a good idea:

"I'm fine to put good money into hardware, 32GB RAM and 2x Xeon are not out of question. Also happy to split resources in half - Windows does not need to have all the goodies."

Reason that this persuaded me to join in is because it shows a misconception. If you're willing to do that sort of hardware then there is no way that you need to "split resources in half". Clearly if the OP wants to do heavy compiling, then all you would need to do would be to install Windows on that set up, tell VirtualBox to give the guest (Linux) 14 cores and 28GB RAM and you're going to have a mighty powerful compiling machine. It's not going to be held back by the Windows host doing the odd bit of USB port handling, et al.

The Intel E3, E5 and E7 chips integrate the newer virtualization technology which is worth having. Really lets the host just get out of the way of the guest and the metal. It's available in some Haswell chips as well.

Anyway, those are my thoughts.

10
1
Bronze badge
Boffin

Apologies in advance since this is going to be long

I have been running a setup like this for the past year or so. It is pretty easy if you get the right hardware. It is frustrating to the extreme if you have buggy hardware. When it works, it works fantastically well.

The setup I use is triple-seat. EVGA SR-2 with 96GB of RAM dual 6-core Xeons, 3 GPUs, 3 monitors, 3 mice, 3 keyboards. EVGA SR-2 was a terrible choice - it uses Nvidia NF200 PCIe bridges which have broken IOMMU support. I had to write a patch for Xen to work around it, but now it works like a dream. If you are not averse of spending more on hardware I would strongly advise you to buy one of the (bare-bones) HP or Dell machines certified by Citrix for VGA passthrough use and build it up from there. Having a reasonably bug-free motherboard is essential if you want it to "just work".

I use EL6, with the Xen and kernel rpm packages from http://xen.crc.id.au/.

If you get a machine with on-board graphics, use that for your host (dom0). Once you have configured it all you can just not have a console plugged into it. Alternatively invest into whatever cheap GPU you can get your hands on for dom0 - it won't matter much what you use. My advice would be to get something like an Nvidia GeForce 8400GS since it is passively cooled.

For your domUs don't even bother with ATI - they work right up to the point where you need to reboot domU, and then the whole host will need rebooting.

Go with Nvidia. A Quadro 2000, 5000, 6000, K2000, K5000 or K6000 work beautifully, but if you are aiming for something more than a Quadro 2000 they are ridiculously expensive. Instead you can modify a GeForce card. My advice would be to pick one of the following three, according to your performance requirements:

GTX480 and modify it into a Quadro 6000. This requires a minor firmware patch, no hardware modification required. Details on how to modify it are here.

GTX680 and modify it into a Tesla K10. This requires a simple hardware modification, removing one resistor off the back of the PCB. Make sure you get a non-Gainward model (they exhibit a weird limitation in what video modes they can display in domU - my modified Gainward 680 and 690 only work in SL-DVI modes. My MSI 680 works fine with DL-DVI mode).

GTX780Ti and modify it into a Quadro K6000. This requires a hardware modification, adding one resistor across specific two pins on the EEPROM. This mod is easy to reverse, but requires taking off the heatsink which on most models means voiding the warranty.

For details on how to carry out the hardware modifications on the Kepler series cards (680, 780) see the thread on the forum here: http://www.eevblog.com/forum/chat/hacking-nvidia-cards-into-their-professional-counterparts/

Whether the Nvidia card will work in a domU is purely down to the whitelist hard-coded into the driver, specifying which device IDs to initialize if the driver detects that it is running on a virtualized machine. The modifications described above simply modify the device ID, which makes the driver agree to initialize the card in domU.

Other than that, my setup is exactly like what you describe - pass specific PCI devices (USB, GPU, audio) to domU and it should all just work. With Nvidia GPUs you can reboot the domU as many times as you like and it will work fine. The only thing you will not get is the VM's BIOS POST and loading splash screen, but as soon as it goes into the GUI, you will get output on the monitor and it will work fine from there. As I said I run a triple setup, with two modified 780Tis for two virtual gaming rigs and they work beautifully even at 4K resolutions. The 3rd console is dom0 Linux.

Good luck.

7
0
Bronze badge
Boffin

Re: Apologies in advance since this is going to be long

Forgot to mention - RH only support KVM, so you are out of luck support-wise with Xen. KVM support for PCI passthrough is nowhere nearly as mature as Xen's, so your chances of success with KVM may be diminished. If you really want support with Xen, you can probably get something from Citrix for XenServer (which recently went free / open source, and the most recent version is based on CentOS 6, i.e. EL6).

Forget BTRFS - it doesn't matter whose distro you use, it is not going to make a turd into a diamond. If you want a similar FS that works, use ZFS (look at the ZoL port). I wouldn't touch BTRFS with a barge pole. If you use ZFS, you can put your VM's disk block device on a ZVOL and get a lot of advantages such as performance overhead free snapshots. Again, this is the setup that I use on my similar system.

Finally - you would probably be a lot better off asking a question like this on the Xen users mailing list rather than here.

1
1
Bronze badge

Re: The other way around?

@Manolo

There are not one but two options for passing through USB devices in Xen. You can use PCI passthrough to pass the USB controller through, of you can use USB passthrough to pass a specific device through. The former is usually a little more efficient, but the latter is more flexible (e.g. if multipler ports are on the same USB hub and you need to pass different USB devices on the same PCI USB controller to different VMs. For example, I have 2 VMs with a mouse/keyboard passed to each one via PCI passthrough, and it works extremely well.

2
0

Re: The other way around?

That shouldn't be a problem. If he uses a bridged network interface on his VM, he can just leave the machine minimized and access it via PuTTY

0
0
Silver badge

Windows 8 a solid host OS?

I thought Windows 8 to be quite solid until it completely crapped out on me after some 1/2 year of use while traveling. The second, separate installation on another HD did the same thing a day later and I had to do a quick Linux installation to remain functional.

I never had any Linux installation do anything like that and I would definitely prefer Linux as the host.

1
0
Bronze badge

Re: The other way around?

Thanks h4rm0ny; I've been running Linux under VMware and I'm unconvinced by this:

Clearly if the OP wants to do heavy compiling, then all you would need to do would be to install Windows on that set up, tell VirtualBox to give the guest (Linux) 14 cores and 28GB RAM and you're going to have a mighty powerful compiling machine.

If Windows kernel is given all the cores and memory, there is no telling how much it will actually consume, at the expense of Linux guest. This is not Windows fault, it is simply how some programs (games) behave. But if Windows is host, it simply has to be given all. I want Linux to have the primary access to resources, not the other way around.

You are right that I will most likely give more resources to Linux than to Windows - I've given more thought to it and this seems inevitable. But again, running Windows under VM gives me an option to simply tweak its configuration and restart Windows with access to extra 2 cores if something a bit more demanding needs to be done.

0
0
Bronze badge

Re: The other way around?

@Gordan

many, many thanks - your post was the most helpful in the whole thread so far. It is very likely I will go with Xen. However, since I'm not in a hurry, I will spend some more time investigating KVM as well. Apparently there are some success stories with Radeons on PCI passthrough, even though it is fiddly and not really supported. PCI hot reset feature added to kernel 3.12 is promising, too.

Also thank you for a link to xen.crc.id.au - this is exactly the kind of resources I was looking for!

0
0
Bronze badge

Re: The other way around?

I'm not sure what features KVM has and supports, I use Xen because it is far more mature and performs considerably better.

Recently the Xen guys have been working on adding an additional reset method - bus reset. This may or may not make it into the Xen 4.5 release, I'm pretty sure it isn't going to be in the upcoming 4.4 release, so you are looking at at least 6-12 months before the feature is in the release branch and available pre-packaged for your distro. That is a long time to be hanging on for something that might but is not proven to solve the problem. The Nvidia solution works perfectly now.

It is also not the only issue I have had with Radeons - there are many others. For example, the XP drivers have utterly broken and you cannot glue together multiple monitors into a spanning resolution above 3200x1600, which is completely useless when I need to stitch together two 1920x2400 stripes to get my IBM T221 to work properly. There are other issues as well that I am not going to go into now since they are off topic, but suffice to say that Nvidia suffers from none of those problems.

I would strongly advise you to stick with proven hardware and software. Anything that is bleeding edge and unproven is going to put you at a very high risk of running into bugs and regressions in hardware, firmware and software. This is another reason why I strongly recommend you get one of the Citrix approved workstations for VGA passthrough. In terms of software, something like EL6 + Xen RPMs from the source I mentioned is a good, stable, proven choice, and since you aren't going to get RH support for anything involving Xen you might as well go with CentOS or Scientific Linux, or see if you can get a vaguely reasonably support package on XenServer (based on CentOS).

2
1
Silver badge

Re: The other way around?

>>"Thanks h4rm0ny; I've been running Linux under VMware and I'm unconvinced by this:"

I see your point. I hadn't really appreciated that you wanted protection against other people using up resources to be part of this. I actually have a set-up similar to how I described and similar intense requirements (heavy database work in my case, however). However I'm the sole user of the machine so that aspect was a bit foreign to me. Happily I think Gordon has given you excellent answers.

1
0
Bronze badge

Re: The other way around?

Gordan, many thanks! I checked the article on modding Nvidia cards then checked the Quaddro prices, and my eyes almost popped out. Yes I would pay this sort of money for set of CPUs, lots of memory and server motherboard, but for GPU not faster than 780ti ... greedy b*rds!

I am not sure I want to buy their hardware, but if AMD is so much harder to get to restart properly without physical reboot .... :-/

0
0
Bronze badge

Re: The other way around?

That is pretty much the size of it. I wasted a number of days getting various ATI cards to work fully before I eventually caved in and bought a Quadro 2000 for testing. As if by magic, everything started to "just work". Modifying Nvidia cards isn't too difficult if you just want an Nvidia card that works in a VM.

0
0
g e
Silver badge
Facepalm

DOH

Just spotted KVM/XEN in the title.

Deleted the whole Virtualbox post, LOL.

2
3

Dual Boot

Personally I think that to get Windows to have the level of hardware control desired would require Windows to have direct access to that hardware. So my answer would be for either a dual boot arrangement, or to have two separate machines. If finances allow for that much memory and Xeon processors, then money for more than one machine can't be out of the question.

9
2
Bronze badge

Re: Dual Boot

[Edit] Ah, got the wrong end of the stick entirely, it's not for family guests, but a Windows Guest. Oops! :P [/Edit]

Family guest accounts can have a £80 Hudl or ex office PC, right? They only want email and internet? Why allow them access to the massive Linux Server and your vital programming files?!

PS, the level of question in the article is way above my braincell count for me to answer though.

0
2
Anonymous Coward

Re: Dual Boot

I agree; though for me, having had exposure to the healthy goodness of VirtualBox (I'm so behind the times, I only recently started playing with VMs), I think exposure to a Type 1 Hypervisor (e.g. Xen) would be an end in itself.

0
1

Sounds like they just need a KVM hypervisor with a Windows guest (and I'd recommend making various Linux guests to keep the hypervisor 'pure'). If KVM is desired then I'd suggest RHEL if support is required and the money for license fees is not a problem, however VMware should be considered.

Don't skimp on the back end VM storage.

1
0

A quick search seems to suggest that Xen would be a better choice. KVM graphics capabilities are quite limited compared to other hypervisors. I have a RHEL desktop, with a Win KVM VM, connecting via Spice, and there isn't any 3D support to start with.

Another thing to bear in mind is that RHEL is built for stability, not the latest and greatest.

eg. libgcc in fully patched RHEL 6.4: 4.4.7 20120313.

Fedora will have all the latest features.

As far as I'm aware, the VDI solution that has the best graphics support will be XenDesktop.

But I think I'm with most here, it would make more sense of give Win direct access to the HW and have a Linux VM, or have two separate physical boxes.

0
1

"Another thing to bear in mind is that RHEL is built for stability, not the latest and greatest."

Which is precisely what you want in a hypervisor. By all means play with Fedora in a VM, but don't trust it with anything serious.

OP also said they want a supported OS. Not going to happen with Fedora.

1
1
Bronze badge

I may start with Fedora and then move to RHEL7

0
0

I can't work out why the obvious 2-box solution doesn't suit you. It would even allow you to play processor-heavy games and do massive software builds at the same time. :-)

(I speak as someone having 4 computers in the house which are on all the time, plus a netbook and a tablet for occasional use.)

6
1
Bronze badge

Maybe he just doesn't have the space (he already said he has no desk space for a 2nd keyboard). Seriously creating a setup like this is not difficult if you have hardware that isn't buggy. I have a 12-core (24-thread) physical machine, with two VMs given 4 cores (8 threads) each, and I can still run big software builds in Linux dom0 while having two L4D2 or Borderlands 2 gaming sessions on the go on the same physical machine.

1
1
Silver badge

2-box configuration using Synergy and Portable-VirtualBox

I use a 2-box configuration (Windows i5 Haswell laptop, Debian running on the AMD 6-core tower). I have a 3-monitor arrangement (23" monitor for Debian, 23" monitor for Windows, and my laptop screen). I use a program called Synergy (instead of a KVM switch) that works on Linux, Mac and Windows to share my mouse and keyboard between the two systems:

http://synergy-foss.org/download/

I don't like using VM's - much better and smoother performance for me on bare metal without any configuration hassles. With this setup, I'm only having to use one keyboard and one mouse (which was one of my primary goals - separate keyboards and mice are a major hassle), and I've got access to everything.

When I travel with my Windows laptop and I need basic VM functionality for a Linux guest, I use Portable-VirtualBox and keep my Linux guest on a USB 3.0 external hard drive:

http://www.vbox.me/

Portable-VirtualBox via USB 3.0 gives me adequate performance for a Linux guest compared to running a VirtualBox instance on an internal hard drive. I can run streaming video, some simple games, compile from source in a reasonable amount of time, etc. But it allows me to keep my Windows and Linux hard drives separate.

1
1
Silver badge

If there's no space for a two-box solution, what about a two- or more-disk solution? Most BIOSes allow one to press F10 or similar to select the boot device. All but the smallest desktop cases can accomodate two 3.5 inch or 4 2.5 inch drives. Most motherboards support at least 4 x SATA, many support six or more.

(I deliberately don't suggest external USB drives even though USB3 is fast enough and most motherboards boot USB these days. My experience suggests that if a drive tests as low quality, it gets sold in a USB box. It's a good way to experiment with different multi-boot configurations, though. )

0
0
Go

Dual box

I'm basically running what Bronek is trying to achieve here, albeit at a vastly smaller price tag and want to add another voice to the 2 box setup.

I use Linux in work and for work at home and have a gaming rig running Windows. The Win box is ageing but still suitable for my needs; 3Ghz quad core, 6GB RAM. I play games on it a lot and also need to do heavy lifting - in my case it's ffmepg and kdenlive rather than compiling but the use profile is similar.

I have a Mint VM running in VirtualBox on the Windows machine and give it a stingy 1/2 core (1 virtual core) of the processor and 512MB RAM to work with. Its VDI disk image is out on the NAS box so the VM doesn't have any disk I/O overhead on the host. It runs like a slug but all I use it for is to ssh -X into my Linux laptops and get them to do all the video crunching work I need them to, all while running games as if nothing was happening. The increased network I/O for the VM doesn't impact the network and I can run MMOs and multiplayer FPS games with no lag.

I did try this config using Cygwin but found the X server to be unstable. The first remote X program I ran was fine but then further programs would refuse to start up, complaining about X on Cygwin. I've found the VM way to be far more stable.

2
1

Re: Dual box

You've been lucky to find Cygwin-X merely 'unstable', when in my experience it exhibits full-blown mania.

3
0

In the past I've tried a 'headless' esxi 5.1 on a mac mini (intel gpu gfx) with a virtualised linux, windows + osx vm (with gpu passed through it it) as it would appear to be the best solution but never got it to work properly :( esxi 5.5 appears to have the same issues I had which is a shame:-

https://communities.vmware.com/message/2330282

So instead I'd recommend Xen & Debian Stable would seem to be the way to go:-

http://linux-bsd-sharing.blogspot.co.uk/2012/10/howto-xen-413-windows-8-hvm-domu-with.html

2
0
Bronze badge

Games

When you said you wanted to play games in Windows you essentially sealed the coffin on linux host and Windows guest.

I am a long time lover of linux, but it simply isnt practical to use it as a virtualisation host and get decent gaming performance.

As said above, Windows host and linux guest is a much better option.

9
2

Re: Games

Along with others, I agree with this. I've got a games PC running Windows 7 because the majority of games I have run on Windows only and you can't virtualise for gaming as you need direct access to graphics hardware.

You might be interested in the set-up I have on my laptop. I installed Windows 7 first and encrypted using Truecrypt. Booted off a Linux installation CD and took a copy of the boot loader using dd into a file. Installed Linux (I use Slackware but any flavour would do) and created a dual-boot set-up using lilo (yes, I still use lilo) to boot from the truecrypt bootloader, allowing me to boot into Windows where needed.

I can also boot the Windows partition from within Linux using KVM, by pointing to /dev/sda for the HDD. This might sound frightening to many, but Windows cannot read the Linux partitions and Linux cannot read the Windows partitions. They don't touch each other. It works.

Then again, if you're not interested in a Linux GUI you may be better of with Cygwin and sshd.

1
2
Silver badge
Stop

Cheaper and a lot simpler in the long run - two boxes.

Seriously, having spent a fair few years trying to accomplish a similar Nirvana build, I realised it was just simpler to keep the two environments separate, especially as the tasks I actually wanted to run on Linux could be accomplished on an old P4, whereas the tasks on Windows (mostly gaming) meant heavy hardware and direct access to it (IME, Windows on KVM with games = serious hardware lag compared to native Windows). And that's before you start the fun of trying to find Linux drivers for all those top-end hardware items. The result - two environments that have zero interaction and therefore zero affect on each other - has proven much simpler to maintain and run. Sometimes the technically simpler option actually is the far better.

3
2
Silver badge
Devil

Apart from the above comments..

First of all I agree with the previous comments; you're much better of setting up a Windows host and running the VM there. However, only because you mentioned that you wanted the option of commercial support, the use of BTRFS and the issue of performance related tasks I can't help suggest something else for that part as well.

Ever heard of FreeBSD?

Just like Linux it's a Unix-like environment (in my opinion it stands closer to Unix due to the heritage of the once available BSD Unix) but the the whole hierarchy is obviously a little different. Where Linux consists of a kernel and a whole userland around it (all the tools and utilities to make things work) FreeBSD does it differently.

Instead it basically consists of a (relative) small base operating system which only provides the very basic means for a Unix-like environment (mail server, DNS resolver, several firewalls, remote access through SSH, NFS, FTP, or a VPN, etc.). Everything else you wish to install gets installed "on top". The (possible) advantage here is control. Updating the "3rd party software" is a task which is completely separated from updating the main OS. Ergo you'll never have to cope with software packages which might influence the way your OS boots and behaves. Not saying that this often happen on Linux, it doesn't, but it is a risk when updating the system.

Now, I'm not merely spouting FreeBSD propaganda; there is a very specific reason why I do so. I believe there several points you mentioned which could be filled in by FreeBSD as well. And in my opinion maybe even better than Linux can at this point. But; this is purely a matter of opinion. There's nothing between the lines where I claim that one is better of worse than the other; that's not how this works.

Performance

You mentioned performance. Although it can be quite daunting at first everything which you use on FreeBSD can be build from source (but this is not a requirement). I'm not claiming that building your own software will give you spectacular results when it comes to performance. But it will give you more control over tuning and optionally configuring said software. A very simple (but not the best) example: Apache and all its modules. It will take the system time to go over a directory which has 60 modules in it. It'll take (slightly) less time if it only has 20 or 30.

Depending on the software you're going to use you can gain performance results. For example; there is software out there which has been build with debugging information by default. It doesn't influence performance that much, but it will get you an edge if you rebuild the software without such settings.

Needless to say; building (3rd) party software in FreeBSD is extremely easy, as well as maintaining said software.

BTRFS

I'm not going into a comparison here, but I do think it's safe to say that ZFS is more suitable for production work than BTRFS at the moment. Especially considering the heavy development which is still going on. Perhaps needless to say but FreeBSD provides full (native) support for ZFS. And this isn't a "simple" port which people were working on; back in the days programmers from the ZFS division within Sun Microsystems have actually helped the FreeBSD project with the implementation. So it's not simply a "wild hack" or something.

Note that I'm also not saying that BTRFS is unusable. I'm merely referring to the issue of the file system still being under heavy development which brings in risks when being used in a production environment. I'm not making this up, simply check out the official wiki page yourself.

Support

At the risk of bordering on the edges of spam.. But let's just say that there are several commercial vendors out there which can indeed provide support for the FreeBSD environment.

And there you have it. Once again I'd like to stress out that I'm not claiming that FreeBSD will be the solution for all your problems, world peace and a sure means of keeping your system completely in shape. But I do think you should give this a serious consideration as well.

I honestly think you might be pleasantly surprised at what you're going to see.

6
1

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon