Overclock.net › Forums › Software, Programming and Coding › Operating Systems › {Guide} Create a Gaming Virtual Machine
New Posts  All Forums:Forum Nav:

{Guide} Create a Gaming Virtual Machine

post #1 of 618
Thread Starter 
Dizzy's Guide to Creating a Gaming VM
Version: 0.0.3

Virtualization is the future of computing and is already being used in many capacities today. In writing this guide I hope to educate our community to it's benefits, usage and limitations. The more support it has, the further developed it will become. That is also my goal for this guide; to see it become simplified and offer broader support for hardware and software.

Some Benefits:
  • Reset the VM without having to hard reset the system
  • Uninterrupted sessions of other VMs
  • Ability to run the latest games on a VM
  • Being able to use all that extra Memory and those Cores

Before we begin, be sure to make sure your system is VT-d or AMD-Vi (IOMMU) capable.

VT-d is an extension on top of the normal Virtualization instructions provided by intel, and IOMMU (AMD-Vi) is the AMD version. These are not the same as VT-x and AMD-V. They are extra and you need to be sure you have them on your system before attempting this guide.

For Intel this requires: VT-d (Click to show)
(www.ark.intel.com)
  • CPU with VT-x Socket 775 and newer. Vpro rated chipset with VT-d in BIOS is also required by 775 CPUs (Most likely Q45)
    or
  • Core i5/i7 or Xeon Chip with VT-x and VT-d. Only Non-K, except C2 stepping 3930k and 3960x chips have the right instructions
    and
  • Motherboard with VT-d option in BIOS. (ASrock and Zotac have a good selection)


For AMD this requires: IOMMU (Click to show)
  • Any reasonably new AMD processor (AM2 and newer or socket 940 Opteron and newer)
    and
  • Proper chipset. 880fx and 990fx or most server boards should have IOMMU. Check with the manufacturer or in the manual
  • and
  • IOMMU (AMD-Vi) option enabled in BIOS (ASrock or ASUS 880/990FX and most server boards)


Video card is your choice. I suggest using a newer Radeon for now because it has good compatibility with Xen passthrough and HD audio on the card which means you won't need to pass through the motherboard audio to get sound from the VM. Of course, you could pass motherboard or another discrete Audio device through too.

Step 1: Download Fedora 16 x86_64 (Click to show)
This is the distribution I used because I was having too many errors with Debian 6.0.3 / Ubuntu 11. I actually found Fedora 16 to be more compatible with my system and a very diversely featured distribution. I highly recommend using F16 for this guide, as I know it works.

Step 2: Enable IOMMU/VT-d in the BIOS (Click to show)
See your motherboard manual for more info. This will be in northbridge options and listed as VT-d for intel and IOMMU or AMD-Vi for AMD. (Note that VT-x and AMD-V are not enough for this tutorial)

Disclaimer -- Back up any and all data you wish to keep before attempting this guide. I am working on a version that preserves data, but for now this is where I am.

Step 3: Install Fedora 16 as the base system (Click to show)
Boot the CD which is a live cd for F16 and run the install program from the applications list. Follow the prompts. Most importantly, choose "Specialized Storage Devices" which will let you set up software/ firmware RAID or otherwise and select the install medium. Next, choose a computer name. I chose the name dom0.xenhost which means the computer is called xenhost and the operating system is called dom0. The Root account is your administrator, so be sure to set a safe password.

Step 3a: Partitioning -- Use Create Custom Layout (Click to show)
I suggest creating a /boot partition of about 1G and using ext3.

450

The next partition you set up should be a LVM physical volume of whatever size you want.

450

Make sure it is big enough to fit your host (dom0) and guest (domU) operating systems. The dom0 volume should have at LEAST 12G, but if you have room I suggest 20G.

450

Continue to create logical volumes at the sizes you want for the hardware you have.

450

Because I am using a SSD I did not set up a swap partition in an attempt to enhance the longevity of the drive. You can set up a swap partition, but place it outside the LVM. Don't fret, you can add more storage later if you will be using one of the VMs as a file server. Now just install the system and reboot into linux where you will finalize the install and create your user. I created a user called xenhost. Don't forget to check the box to add the user to administrators.

For this next session you will be using the terminal program provided with linux. You will be asked to use 'su' and 'sudo' commands which will require a password. When the prompt comes up, type your password. It is being entered even when no '*' show up.

Step 4: Update your system and install Xen (Click to show)
Updating the system is very easy. Log in and open a terminal. Type
Code:
[xenhost@dom0 ~]$ sudo yum update
and let the system update, if you want.
If you updated, reboot into the new kernel and updated system.
Open the terminal again to install Xen and type:
Code:
[xenhost@dom0 ~]$ sudo yum install xen
Update grub2:
Code:
[xenhost@dom0 ~]$ su
Password: 
[root@dom0 xenhost]# mv /etc/grub.d/10_linux /etc/grub.d/21_linux
[root@dom0 xenhost]# gedit /etc/default/grub

483

Save and exit after editing like this
Code:
[root@dom0 xenhost]# grub2-mkconfig > /boot/grub2/grub.cfg

Disable selinux:
Code:
[root@dom0 xenhost]# gedit /etc/selinux/config
change the line that says "enforcing" to "permissive"
Save and Exit.

Step 5: Reboot into Xen and install more stuff :D (Click to show)
Code:
[xenhost@dom0 ~]$ sudo yum install libxml-devel python-lxml virt-manager libvirt
[xenhost@dom0 ~]$ sudo service libvirtd start

Next we should set up SSH so that you can have remote access to your host. This is a must if you do not have another video card or controller. before being fully passed through, your display will go black and you will need access.
Go into applications and go to firewall

Make sure that port 22 is allowed to be connected to

450

Then reload the firewall

Step 5a: Create and Copy Install ISO to disk (Click to show)
This step depends on you having a windows install disk and the means to Create a .iso file of your install disk. name the file win7ult.iso (or whatever you want to call it) and transfer it to your home folder in the xenhost linux install. This is critical for the configuration file later.
Step 6: Configure Guest systems and devices (Click to show)
Code:
[xenhost@dom0 ~]$ su
Password: 
[root@dom0 xenhost]# lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation H67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: ATI Technologies Inc Cypress [Radeon HD 5800 Series]
01:00.1 Audio device: ATI Technologies Inc Cypress HDMI Audio [Radeon HD 5800 Series]
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
05:00.0 USB Controller: Device 1b6f:7023 (rev 01)
Code:
[root@dom0 xen]# gedit /etc/xen/win7a.sxp

Copy and paste this code below into the file
Code:
kernel = "hvmloader"
builder='hvm'
memory = 4096
# set your memory however you want. 4G is enough for me, and i want the
# rest for the host and the other VM
name = "win7a"
vcpus=5
# I have 8 threads, 5 was a good number for me. 4 to game, 1 to run the rest
pae=1
acpi=1
apic=1
vif = [ 'type=ioemu, bridge=virbr0' ]
disk = [ 'phy:/dev/vg_dom0/domUa,hda,w' , 'file:/home/xenhost/win7ult.iso,hdc:cdrom,r' ]
# More disks can be added later using this same method. The path to the device or a file can be added
# After the first comma is how the device will appear. "hda" is the first, "hdb" the second etc. "sda" format is also acceptable"
# had will appear as IDE, sda will appear as SCSI or SATA. After the second comma "r" means read only and "w" is for write
device_model = 'qemu-dm'
boot="dc"
sdl=0
opengl=1
vnc=1
vncpasswd=''
stdvga=0
#nographic=1 #!!! only uncomment this if you are using win8 or are trying to get a nvidia card to work
serial='pty'
tsc_mode=0
soundhw='all'
usb=1
usbdevice='mouse'
gfx_passthru=0
# Leaving this as 0 is how it works for me with Radeon HD cards
# You can change this later for iGPUs or nVdia if needed.
# Try it with 0 first
pci=[ '01:00.0', '01:00.1' , '00:1d.0'  ]
# These values are the ones you found out by doing the lspci command earlier
# I also passed through an entire USB controller for native support
Save and exit
Windows 8 Preview Only (Click to show)
I have confirmed win8 preview works well with passthough. To get it to work properly remove the pci devices from the above config file. next use the following code:
Code:
[root@dom0 xenhost]# xm new /etc/xen/win7a.sxp #or whatever you called the file
[root@dom0 xenhost]# xm start win7a #or whatever you called the VM in the config file
[root@dom0 xenhost]# virt-manager
Select the VM you just started and click open. Then click on console. From there, just follow a normal install of the OS. After you are done installing, shut down the VM from the OS. Then:
Code:
[root@dom0 xenhost]# xm shutdown win7a #domain name
[root@dom0 xenhost]# xm delete win7a #or your domain name
Now go back and edit the configuration file above, adding this line:
Code:
nographic=1

Step 6a: If you only have one video card: (Click to show)
Tunnel in using SSH and x11 forwarding

Connecting From Windows: Xming Putty (Click to show)
Start by downloading xming and putty
Follow a default install of Xming and then run putty. Then follow these steps:

Input your Xen machine's IP address

447

Then open the ssh + menu and click on x11. Make the fields look like this photo:

448

After clicking open, a terminal window will appear and ask for your login. Use xenhost like you did from within linux. Then login as su like you did before and run the virt-manager command. You should end up with something like this:

283

Allowing OSX to Connect: XQuartz/X11 (Click to show)
Install x11 or XQuartz (OSX 10.6.3 or newer, older versions or vanilla x11 will work)

Connecting from Linux or OSX: In a terminal window: (Click to show)
Replace IP with Xen host IP
Code:
Paul-Youngs-MacBook-Pro:~ paul$ ssh -X xenhost@192.168.1.3[/SPOILER]
xenhost@192.168.1.3's password: 
Last login: Tue Jan 24 22:38:03 2012 from 192.168.1.5
[xenhost@dom0 ~]$ su
Password: 
[root@dom0 xenhost]# virt-manager

Connecting from Host with Secondary Video Card: Simply (Click to show)
Make sure you are running your main display from the secondary card. If this means you have to leave the display unplugged from the primary, it is ok. In the terminal:
Code:
[xenhost@dom0 ~]$ su
Password: 
[root@dom0 xenhost]# virt-manager

Step 7: Creating VMs and passing through devices (Click to show)
From your console:
Code:
[root@dom0 xenhost]# xm new /etc/xen/win7a.sxp

No matter what you did in step 6a you should have a virt-manager window being displayed:

572

Select win7a then click Open then click Details, You should end up here:

615

Then click Add Hardware and select PCI Host Device

420

Select the Audio portion of the GPU first and click finish.
-- Ignore all errors!

435

Repeat for the GPU portion and USB host device(s) and ignore all errors.
Code:
[root@dom0 xenhost]# xm pci-list-assignable-devices
0000:01:00.0
0000:01:00.1
0000:00:1d.0

If they show up, all is good and they are ready to be used by the VM. As you can see though, the USB device is not listed in the virt-manager menu for win7a. This is not a problem, if you are missing anything there, use this command:
Code:
[root@dom0 xenhost]# xm pci-attach win7a 00:1d.0
The numbers are the device that was not passed through to the win7a domain. A check back in the virt-manager should now show all 3 being passed through.

At this point just cancel out of the menus and go back to the virt-manager. Open win7a again and click run. IF everything is right, you should follow the steps of a standard windows install. The VM will restart a few times and all you have to do to see the VM again is close the window and reopen it from the virt-manager program. Download your video driver, install and restart. If everything went well you will have fully accelerated sound and video on your system and the guest will have full control over the graphics card.

NOTE: If installing GPLPV drivers, do so before activating windows!!!
Tada!
375

Now if you had a second card, you could make a second fully functional system! You might want to create another system to use as a minecraft server. No problem, just install another VM to use for that and allocate however much you want to it. Use virt-manager or configuration scripts to create whatever you want -- the possibilities are endless.

Thanks for sticking in there! biggrin.gif Help me by trying this and reporting any errors. I want to make this easier and more compatible too, so any suggestions are welcome.

Best,
Dizzy4
Edited by dizzy4 - 1/12/13 at 10:21pm
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
post #2 of 618
Thread Starter 
Latest News:Alpha 0.0.3: Windows 8 passthough seems to work just fine! A little trickier to install, but hey it's working! Expect better support with a beta version.
Change Log (Click to show)
0.0.3 -- Added preliminary Windows 8 support and instructed to turn off selinux
0.0.2 -- Removed some unnecessary steps, development libraries and tools no longer needed
0.0.1 -- First version of guide, first alpha
Benchmarks etc. (Click to show)
Here is the emulated IDE performance on the Force3 logical volume
380

and here is my Samsung 470 series with a patriot USB 3.0 enclosure tested on the etron usb3.0 controller that was passed through
383

My system Hardware is the rig called Test Chamber ITX.

i7-2600 (non-k)
ASrock H67M ITX/HT
Reference HD5850
Xen 4.1.2
Fedora 16
Windows 7 64bit
Edited by dizzy4 - 3/6/12 at 5:28pm
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
post #3 of 618
Nice job getting it fully running thumb.gif +rep
Too bad not many people here seem interested in things like this.

I've been thinking about doing this too but I'm still waiting on the Radeon 7950 or 7870. Really hoping the new cards work.
kvmhost
(17 items)
 
  
CPUMotherboardRAMHard Drive
E3-1245v2 Supermicro X9SAE-V Kingston 8GB ECC x4 Samsung F4 2TB x6 raid6 
Hard DriveHard DriveCoolingOS
Samsung 830 128GB Samsung 840 pro 256GB Prolimatech Samuel 17 Gentoo 
PowerCase
Seasonic X750 Chenbro RM42300 
  hide details  
Reply
kvmhost
(17 items)
 
  
CPUMotherboardRAMHard Drive
E3-1245v2 Supermicro X9SAE-V Kingston 8GB ECC x4 Samsung F4 2TB x6 raid6 
Hard DriveHard DriveCoolingOS
Samsung 830 128GB Samsung 840 pro 256GB Prolimatech Samuel 17 Gentoo 
PowerCase
Seasonic X750 Chenbro RM42300 
  hide details  
Reply
post #4 of 618
Nice guide. Bookmarked for sure. thumb.gif

One thing though is that the bright green, red and yellow texts hurts my eyes and is slightly hard to read, so i'd suggest you set it black. Or just make them all red and make them bold as well. And maybe use spoilers in your guide to conceal most of it till the user expands it for use? As an example you can refer to my Windows 7 Install guide if it would help.
Sean's Sandy!
(15 items)
 
Terrorbyte
(15 items)
 
Le Papa's
(10 items)
 
Reply
Sean's Sandy!
(15 items)
 
Terrorbyte
(15 items)
 
Le Papa's
(10 items)
 
Reply
post #5 of 618
Thread Starter 
Quote:
Originally Posted by evermooingcow View Post

Nice job getting it fully running thumb.gif +rep
Too bad not many people here seem interested in things like this.
I've been thinking about doing this too but I'm still waiting on the Radeon 7950 or 7870. Really hoping the new cards work.

They should work no problem. The components within the new cards have improved, but the way they work is pretty much the same so I would be 99% sure they would work just fine.
Quote:
Originally Posted by Sean Webster View Post

Nice guide. Bookmarked for sure. thumb.gif
One thing though is that the bright green, red and yellow texts hurts my eyes and is slightly hard to read, so i'd suggest you set it black. Or just make them all red and make them bold as well. And maybe use spoilers in your guide to conceal most of it till the user expands it for use? As an example you can refer to my Windows 7 Install guide if it would help.

Thanks for the advice! I hope this cleans it up a little. Of course I will be cleaning it up slowly as I go and I am hoping to revise the guide and even make this about 4 steps less if I can.
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
post #6 of 618
Quote:
Virtualization is the future of computing and is already being used in many capacities today. In writing this guide I hope to educate our community to it's benefits, usage and limitations. The more support it has, the further developed it will become. That is also my goal for this guide; to see it become simplified and offer broader support for hardware and software.

And yet no one seemed enthused about my proposed dedicated VM sub-forum...sorry, still bitter.

Awesome guide btw. If I hadn't been randomly browsing forums I would never have seen it. Too bad there's no way to "sym link" it to the servers forum. I bet a lot of people in there would love this thumb.gif
 
VM Server
(17 items)
 
 
CPUGraphicsRAMHard Drive
Intel Ivy Bridge Core i7-3630QM nVidia GeForce GTX 680M 16GB DDR3 1600MHz Dual Channel Memory (2 SODIMMS) Hard Drive: Serial-ATA II 3GB/s 
Hard DriveOSMonitorPower
Hard Drive: Serial-ATA II 3GB/s Windows 7 Ultimate x64 17.3" FHD 16:9 (1920x1080) Battery: Smart Li-ion Battery (8-Cell) 
Audio
Sound Blaster Compatible 3D Audio 
CPUMotherboardGraphicsRAM
Intel Core i7 860 Biostar T5 XE Radeon HD 5870 Corsair 16GB  
Hard DriveHard DriveOptical DriveOS
Western Digital hard drive wd1001fals-00e8b0 Maxtor 300GB I don't need no stinking optical drive Microsoft Windows 7 Ultimate x64 
MonitorMonitorKeyboardPower
HP ZR24w 24'' Samsung SyncMaster 24" logitech wireless k360 Seventeam ST-850ZAF 850W ATX 
CaseMouseAudioAudio
Thermaltake V9 Black Edition Logitech G500 Programmable Gaming Mouse FiiO E7 USB DAC and Portable Headphone Amplifier Sennheiser HD555 Professional Headphones 
  hide details  
Reply
 
VM Server
(17 items)
 
 
CPUGraphicsRAMHard Drive
Intel Ivy Bridge Core i7-3630QM nVidia GeForce GTX 680M 16GB DDR3 1600MHz Dual Channel Memory (2 SODIMMS) Hard Drive: Serial-ATA II 3GB/s 
Hard DriveOSMonitorPower
Hard Drive: Serial-ATA II 3GB/s Windows 7 Ultimate x64 17.3" FHD 16:9 (1920x1080) Battery: Smart Li-ion Battery (8-Cell) 
Audio
Sound Blaster Compatible 3D Audio 
CPUMotherboardGraphicsRAM
Intel Core i7 860 Biostar T5 XE Radeon HD 5870 Corsair 16GB  
Hard DriveHard DriveOptical DriveOS
Western Digital hard drive wd1001fals-00e8b0 Maxtor 300GB I don't need no stinking optical drive Microsoft Windows 7 Ultimate x64 
MonitorMonitorKeyboardPower
HP ZR24w 24'' Samsung SyncMaster 24" logitech wireless k360 Seventeam ST-850ZAF 850W ATX 
CaseMouseAudioAudio
Thermaltake V9 Black Edition Logitech G500 Programmable Gaming Mouse FiiO E7 USB DAC and Portable Headphone Amplifier Sennheiser HD555 Professional Headphones 
  hide details  
Reply
post #7 of 618
so ... how does it actually perform?

from what i've heard, the fps and such is all pretty decent. the problem is the input thread lags a few ms behind the display ... so your inputs aren't really in sync with what you see on the screen. any thoughts on that?

i didn't know xen had this feature ... will take a look. i wonder when we'll see the same thing on the kvm side. Spice is still quite unstable and so far has been a disappointment, but has some promise.
untitled
(30 items)
 
  
CPUMotherboardGraphicsGraphics
2x E5-2687W ASUS Z9PED8-WS EVGA GTX 570 (Linux host) ASUS 7870HD (win7 VM) 
RAMHard DriveHard DriveCooling
64GB G.SKILL 2133 2x Crucial M4 256GB raid1 2x (2x 1TB raid1) 2x Apogee HD  
CoolingCoolingCoolingCooling
2x RX 480 2x MCP 655 RP-452x2 rev1 (deprecated.) 16x AP-29  
CoolingOSOSOS
EK FC 580 Gentoo + around 14 other VMs + windows 7 gaming VM 
MonitorMonitorKeyboardPower
Viewsonic 23" 1080P Viewsonic 19" Logitech G510 Corsair AX 1200 
CaseMouseAudioAudio
Case Labs TH10 Logitech G500 Onboard (Linux host) Usb sound adapter (win7 VM) 
AudioOtherOtherOther
2 sets of Logitech speakers (Linux host / win7 VM) 2x Lamptron FC-5 IOGEAR 2 way HDMI KVM Switch Sonnet USB2 controller (win7 VM) 
  hide details  
Reply
untitled
(30 items)
 
  
CPUMotherboardGraphicsGraphics
2x E5-2687W ASUS Z9PED8-WS EVGA GTX 570 (Linux host) ASUS 7870HD (win7 VM) 
RAMHard DriveHard DriveCooling
64GB G.SKILL 2133 2x Crucial M4 256GB raid1 2x (2x 1TB raid1) 2x Apogee HD  
CoolingCoolingCoolingCooling
2x RX 480 2x MCP 655 RP-452x2 rev1 (deprecated.) 16x AP-29  
CoolingOSOSOS
EK FC 580 Gentoo + around 14 other VMs + windows 7 gaming VM 
MonitorMonitorKeyboardPower
Viewsonic 23" 1080P Viewsonic 19" Logitech G510 Corsair AX 1200 
CaseMouseAudioAudio
Case Labs TH10 Logitech G500 Onboard (Linux host) Usb sound adapter (win7 VM) 
AudioOtherOtherOther
2 sets of Logitech speakers (Linux host / win7 VM) 2x Lamptron FC-5 IOGEAR 2 way HDMI KVM Switch Sonnet USB2 controller (win7 VM) 
  hide details  
Reply
post #8 of 618
Thread Starter 
Quote:
Originally Posted by lloyd mcclendon View Post

so ... how does it actually perform?
from what i've heard, the fps and such is all pretty decent. the problem is the input thread lags a few ms behind the display ... so your inputs aren't really in sync with what you see on the screen. any thoughts on that?
i didn't know xen had this feature ... will take a look. i wonder when we'll see the same thing on the kvm side. Spice is still quite unstable and so far has been a disappointment, but has some promise.

When the USB controller is passed through to the VM as well there is actually no more lag then there would be natively in windows. Maybe you are thinking of using a virtualized USB port, which I would not suggest for a VM. The performance hit is very slight because the video card is actually being fully controlled by the guest operating system so there is no need for spice at that point.

On another note, this guide is about to get a lot simpler. I am working on a custom Linux Live USB image to boot from that will let anyone try this without installing anything. I am also writing a shell script that will walk users through VM setup and pass the devices through properly while being easy to understand from a beginner's perspective. So look for a huge update in a few days biggrin.gif
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
Test Chamber ITX
(13 items)
 
CPUMotherboardGraphicsGraphics
AMD FX-8350 ASRock Fatal1ty 990FX Professional Sapphire Radeon HD 7970 GHz Edition 3GB AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Trident X Series 32GB (4 x 8GB) DDR3-1866 Seagate Barracuda 1TB 3.5" 7200RPM x2 RAID 1 Corsair Force Series GT 120GB x2 RAID 0 NZXT Kraken X60 
PowerCaseOther
SeaSonic Platinum 860W 80 PLUS Platinum Lian-Li PC-100 (Black) ATX Mid Tower Case RaspberryPi 
CPUMotherboardGraphicsGraphics
i7-3930k ASrock X79 EXTREME4-M SAPPHIRE Radeon HD 7870 GHz Edition 2GB  AMD FirePro W5000 
RAMHard DriveHard DriveCooling
G.Skill Ripjaws Z Series 32GB (4 x 8GB) DDR3-1866 2x Corsair Force Series 3 180GB RAID 0 2x Western Digital Red 2TB RAID 1 Noctua NH-D14 SE2011 
PowerCaseOther
SeaSonic 660W 80 PLUS Platinum Silverstone TJ08B-E Integrated RaspberryPi 
CPUMotherboardGraphicsRAM
i7-2600 ASrock H67M-ITX/HT Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveOSPowerCase
Corsair force GT 120gb Xen 4.2.0 -- CentOS dom0 / Win8 domU FSP 80+ Micro-ATX 450w modified Lian Li PC-Q11W 
  hide details  
Reply
post #9 of 618
I absolutely love the concept, but I'm a little confused as to why someone would want to do this as opposed to running Windows natively when you need physical access to the machine anyway.

Something like this would have been handy when I was trying to get Netflix working on Linux, but alas I just couldn't get the performance I wanted (albeit I never tried Xen and had very modest graphics cards so it was all software rendering). I might give Netflix / LoveFilm another try via this method if I get any spare time in the future
post #10 of 618
"why someone would want to do this as opposed to running Windows natively"

Well, obviously _if_ it works just as well there's no need to boot into windows. I never cared for a dual boot, huge waste of time. This way everything is kept in linux, and you have some throw away windows VM for gaming. If the performance is as good as the OP is claming, this is 1000 times better than wine, and 100000 times better than a dual boot. So if it works, i don't know why you wouldn't want to do this. Really this is HUGE news - how many linux users crawl back to windows entirely or dual boot just for gaming. And wine .. it hurts to say this, but it's practically impossible for that project to keep up with the crazyness that the MS developers create.


Apparently KVM does offer the VT-D PCI pass through ... but i'm a little fuzzy on whether or not it actually works right yet. I'll be trying to get one of my gentoo vms with xorg on it to use this... and if that actually works I should be able to get my XP VM showing good FPS as well.

I guess maybe I don't understand this - if I give a windows guest pass through access to my graphics card, and install the windows nvidia drivers package etc - what happens to the host (and the 12 other VMs) using the same graphics card?
Edited by lloyd mcclendon - 2/7/12 at 9:42am
untitled
(30 items)
 
  
CPUMotherboardGraphicsGraphics
2x E5-2687W ASUS Z9PED8-WS EVGA GTX 570 (Linux host) ASUS 7870HD (win7 VM) 
RAMHard DriveHard DriveCooling
64GB G.SKILL 2133 2x Crucial M4 256GB raid1 2x (2x 1TB raid1) 2x Apogee HD  
CoolingCoolingCoolingCooling
2x RX 480 2x MCP 655 RP-452x2 rev1 (deprecated.) 16x AP-29  
CoolingOSOSOS
EK FC 580 Gentoo + around 14 other VMs + windows 7 gaming VM 
MonitorMonitorKeyboardPower
Viewsonic 23" 1080P Viewsonic 19" Logitech G510 Corsair AX 1200 
CaseMouseAudioAudio
Case Labs TH10 Logitech G500 Onboard (Linux host) Usb sound adapter (win7 VM) 
AudioOtherOtherOther
2 sets of Logitech speakers (Linux host / win7 VM) 2x Lamptron FC-5 IOGEAR 2 way HDMI KVM Switch Sonnet USB2 controller (win7 VM) 
  hide details  
Reply
untitled
(30 items)
 
  
CPUMotherboardGraphicsGraphics
2x E5-2687W ASUS Z9PED8-WS EVGA GTX 570 (Linux host) ASUS 7870HD (win7 VM) 
RAMHard DriveHard DriveCooling
64GB G.SKILL 2133 2x Crucial M4 256GB raid1 2x (2x 1TB raid1) 2x Apogee HD  
CoolingCoolingCoolingCooling
2x RX 480 2x MCP 655 RP-452x2 rev1 (deprecated.) 16x AP-29  
CoolingOSOSOS
EK FC 580 Gentoo + around 14 other VMs + windows 7 gaming VM 
MonitorMonitorKeyboardPower
Viewsonic 23" 1080P Viewsonic 19" Logitech G510 Corsair AX 1200 
CaseMouseAudioAudio
Case Labs TH10 Logitech G500 Onboard (Linux host) Usb sound adapter (win7 VM) 
AudioOtherOtherOther
2 sets of Logitech speakers (Linux host / win7 VM) 2x Lamptron FC-5 IOGEAR 2 way HDMI KVM Switch Sonnet USB2 controller (win7 VM) 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Operating Systems
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › {Guide} Create a Gaming Virtual Machine