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 779
Thread Starter 
Dizzy's Guide to Creating a Gaming VM
Beta version 0.20.1

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 (WIP)
  • 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 20 (Click to show)
Fedora 20 Download -- Choose your flavor (Warning! LXDE does not currently have GUI bluetooth support)

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 20 as the base system (Click to show)
Boot the CD which is a live cd for F20 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 xenhost.xenhome. The Root account is your administrator, so be sure to set a safe password.

Step 3a: Partitioning -- Simple (Click to show)
This is if you wish to contain your virtual machine disks as files, not as partitions.
  • Select the disk on which you wish to install Fedora.
  • Select other or custom partitioning
  • Select recommended layout
  • Delete the /home partition
  • Resize the / partition to the largest it will go
  • Continue the installation

Step 3b: Partitioning -- Use Create Custom Layout (Click to show)
For more advanced users:

You can create an LVM setup and manage your VMs disks this way or you could even add custom mount points for each VM. Please do not attempt unless you are a power user or want to do some research on linux partioning and LVM storage.

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.

1. Download and install my kernel + headers with passthrough built in (I find that building it into the kernel is much more reliable and simpler than loading a module)
-- Kernel 3.12.8-300
-- Kernel-headers 3.12.8-300

2. After downloading the attachments just double-click them and install both

3. Install Xen (4.3.1 currently) In a terminal:
Code:
$ sudo yum install xen

4. Update your GRUB2 bootloader UEFI (most common) (Click to show)
in a terminal:
Code:
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
BIOS (older style and functionality) (Click to show)
in a terminal:
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg

Disable selinux:
Code:
$ sudo nano /etc/selinux/config
change the line that says "enforcing" to "permissive" or "disabled" -- I suggest disabled for new users
You can use whichever text editor you want. If you run Gnome, replace nano with gedit and if you run xfce or LXDE replace nano with leafpad
Save and Exit.
-- At this point your system is able to be booted with xen as the hypervisor --

Step 5: Prepare for VMs! (Click to show)
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 5a: Create VM Storage Files (Click to show)
I have started using this method because it makes migrating and backing up virtual machines very easy.
  • Determine the size of the main disk for the VM (I keep mine on SSD and use a virtual server to host other files)
  • Create a directory to house your file(s)
    Code:
    $ mkdir ~/virtual_disks
    
    You can name it anything you want
  • Create blank files to house your VMs
    Code:
    $ cd ~/virtual_disks
    $ dd if=/dev/zero of=~/virtual_disks/VM_diskname bs=1M count=size_in_Megabytes
    
  • Repeat for all the VMs you wish to host

Step 5b: Create VM LVM Storage (Click to show)
I have started using the other method because it makes migrating and backing up virtual machines very easy. I know that LVMs are great too, but I am not an LVM master.

Please read the comments in the configuration file example to see how to use physical devices (LVM or physical partitions) as storage.
-- Virtual Drives should now be allocated --
Determine Devices for Passthrough (Click to show)
Code:
$ sudo yum install pciutils
$ 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)

That is a sample of what my PCI devices look like. You can see the first thing on each line is the address of the PCI device. Write down the devices you wish to allocate to each virtual machine. Since I run 2 graphical virtual machines simultaneously, I have given each a video device and each a USB controller. I also dedicated my extra gigabit port to my media/file server and my wireless controller to my windows guest. The network bridge can handle all this, but I wanted extra fallback and throughput.
Configure the Network Bridge (Click to show)
Code:
$ ifconfig
Take notice of the entry that is your ethernet. Mine was titled p4p1. Be sure to write down the number after ether which is the MAC address.
Code:
$ sudo nano /etc/sysconfig/network-scripts/ifcfg-p4p1
edit the file to look like this. Replace the DEVICE= with the device and HWADDR with the ether you wrote down
Code:
DEVICE=p4p1
HWADDR=94:de:80:xx:xx:xx
ONBOOT=yes
BRIDGE=xenbr0
DELAY=0
NM_CONTROLLED=no
BOOTPROTO=none
TYPE=Ethernet
then create the bridge
Code:
$ sudo nano /etc/sysconfig/network-scripts/ifcfg-xenbr0
Edit the file to look like this:
Code:
DEVICE=xenbr0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
BRIDGE_STP=on
Then restart the network
Code:
$ sudo service network restart
VM Configuration Files (Click to show)
Code:
$ gedit /etc/xen/win8.sxp

Copy and paste this code below into the file
Code:
# =====================================================================
# Example HVM guest configuration
# =====================================================================

# This configures an HVM rather than PV guest
builder = "hvm"

# Use this device model! Upstream qemu has poor support for GFX passthrough -- esp. intel
device_model_version = "qemu-xen-traditional"

# Guest name
name = "VM_name"

# Enable Microsoft Hyper-V compatibile paravirtualisation /
# enlightenment interfaces. Turning this on can improve Windows guest
# performance and is therefore recommended
viridian = 1

# Initial memory allocation (MB)
memory = 8224

# Number of VCPUS
vcpus = 7
acpi=1
apic=1
#pae=1 
#PAE is 32-bit only

# Network devices -- You can leave this vif = [ '' ] if you want DHCP to do the work
vif = [ 'bridge=xenbr0,ip=192.168.40.41' ]

# Disk Devices -- Replace filename and OS_install.iso with the names you chose earlier
disk = [ '/home/xenhost/virtual_drives/filename,raw,hda,rw', '/home/xenhost/OS_install.iso,hdb:cdrom,rw' ]
boot = "dc"

#Passthrough devices are inserted, but will be commented out for the time being because we need to install first.

#gfx_passthru=1
#pci = [ '01:00.0', '01:00.1', '00:1a.0', '04:00.0' ]

#nographic = 1
vnc = 1
Save and exit

Step 6: Installing Virtual Machines (Click to show)
No PCI devices will be passed through for the install phase of this, step 7 will instruct on how to install drivers and pass devices through properly.
Install a VNC viewer.
Code:
$ sudo yum install tigervnc
Start the VM and connect to its VNC port.
Code:
$ sudo xl create win8.sxp
$ vncviewer localhost
Complete the install of the VM (in this case windows) and make sure it's stable (fully cycled through the reboots)

Repeat this for each VM
Hide PCI devices at boot (Click to show)
This step may cause you not to have graphical access to the Domain-0 anymore. Especially if you have only 1 video card or plan on assigning them all. This can easily be solved by connecting to the computer from another network device via SSH. Enable SSH:
Code:
$ sudo chkconfig sshd on
Network Connect (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

[B]Connecting from Host with Secondary Video Card:[/B]
[SPOILER=Simply]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
Code:
$ sudo nano /etc/default/grub
Insert a line:
Code:
GRUB_CMDLINE_XEN="iommu=1"
Add onto the end of the line GRUB_CMDLINE_LINUX=
Code:
xen-pciback.hide=(01:00.0)(01:00.1)
Add all the entries for devices you wish to pass through. Remember, if you want direct access to the computer, leave one video device unhidden and one USB PCI controller unhidden (unless you use PS/2).
Code:
$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
When you reboot, be sure to select the proper entry for fedora WITH xen from the GRUB menu

Step 7: Polishing VMs and Installing Video Drivers (Click to show)
Connect to your Domain-0 after rebooting (directly or over the network as laid out)
Radeon HD2xxx and later (Click to show)
Start your windows virtual machine and connect via VNC:
Code:
$ vncviewer localhost
Pass through the radeon GPU and Audio device with this command:
Code:
$ sudo xl pci-attach VM_name 01:00.0
$ sudo xl pci-attach VM_name 01:00.1
Replace VM_name with the name you gave it in the configuration file.
Download the latest catalyst driver and install. Then shutdown windows from the VM and turn it off from the console:
Code:
sudo xl destroy VM_name
Edit your configuration and uncomment the pci = [] line (remove #)

Be sure to reboot the entire system and restart the VM. Wait a few minutes for windows to update the devices and you should have a fully graphical VM!
Integrated Intel HD graphics (Click to show)
This is MUCH easier. All you have to do is uncomment (remove #) in the pci = [] line and the gfx_passthru=1 line

Then start the VM:
Code:
$ sudo xl create win8.sxp

You can actually complete a full install with the integrated chips because they are able to be reset without a hard reboot. Continue using this VM normally.

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

P.S. If you are a linux mint user, please take a look at PowerHouse's guide

It might be more complex than this, but it seems to work very well. Either guide when used properly will give good results.
Edited by dizzy4 - 1/27/14 at 12:22pm
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
post #2 of 779
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
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
post #3 of 779
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.
post #4 of 779
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.
ROG Rig
(14 items)
 
Test Bench
(8 items)
 
Terrorbyte V2
(17 items)
 
CPUMotherboardGraphicsRAM
i7-4790 Asus Maximus VI Extreme MSI GTX 660 Ti PE OC 32GB Kingston HyperX Beast 2400MHz 
Hard DriveHard DriveHard DriveHard Drive
256GB Micron M600 1TB Micron M600 250GB Samsung 840 EVO  1TB WD Blue WD10EZEX 
Hard DriveHard DriveCoolingOS
3TB Toshiba DT01ACA300 256GB Plextor M6e Cooler Master T4 Windows 8.1 Pro 64-Bit 
PowerCase
Corsair RM650 Thermaltake Core v51 
CPUCPUMotherboardRAM
Intel Xeon L5520 Intel Xeon L5520 SuperMicro X8DTi-F 48GB Nanya 1066MHz ECC RDIMM 
Hard DriveHard DriveHard DriveHard Drive
128GB Samsung 830 480GB SanDisk Extreme II 2TB WD Red 2TB Samung Spinpoint F4 
Hard DriveHard DriveHard DriveHard Drive
2TB Hitachi Deskstar 7K3000 1TB Samsung Spinpoint F3  3TB Toshiba DT01ACA300 Seagate Barracuda 7200.14 
OSPowerCaseOther
Windows Server 2012 R2 Datacenter  Corsair 650TX  Norco RPC 4224 LSI 9261-8i 
Other
Intel RES2CV240 
  hide details  
Reply
ROG Rig
(14 items)
 
Test Bench
(8 items)
 
Terrorbyte V2
(17 items)
 
CPUMotherboardGraphicsRAM
i7-4790 Asus Maximus VI Extreme MSI GTX 660 Ti PE OC 32GB Kingston HyperX Beast 2400MHz 
Hard DriveHard DriveHard DriveHard Drive
256GB Micron M600 1TB Micron M600 250GB Samsung 840 EVO  1TB WD Blue WD10EZEX 
Hard DriveHard DriveCoolingOS
3TB Toshiba DT01ACA300 256GB Plextor M6e Cooler Master T4 Windows 8.1 Pro 64-Bit 
PowerCase
Corsair RM650 Thermaltake Core v51 
CPUCPUMotherboardRAM
Intel Xeon L5520 Intel Xeon L5520 SuperMicro X8DTi-F 48GB Nanya 1066MHz ECC RDIMM 
Hard DriveHard DriveHard DriveHard Drive
128GB Samsung 830 480GB SanDisk Extreme II 2TB WD Red 2TB Samung Spinpoint F4 
Hard DriveHard DriveHard DriveHard Drive
2TB Hitachi Deskstar 7K3000 1TB Samsung Spinpoint F3  3TB Toshiba DT01ACA300 Seagate Barracuda 7200.14 
OSPowerCaseOther
Windows Server 2012 R2 Datacenter  Corsair 650TX  Norco RPC 4224 LSI 9261-8i 
Other
Intel RES2CV240 
  hide details  
Reply
post #5 of 779
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.
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
post #6 of 779
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 779
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 4x 3TB raid 10 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 4x 3TB raid 10 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 779
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
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
Test Chamber ITX
(14 items)
 
Dream Rig (AMD)
(11 items)
 
Dream Rig (Intel)
(11 items)
 
CPUMotherboardGraphicsRAM
i7-2600 Gigabyte H77N-wifi Radeon HD 7750 16GB Corsair DDR3 1600 CL 10 (@1333 CL 8) 
Hard DriveHard DriveOSPower
Corsair Force 3 180gb Seagate Barracuda STBD2000101 2x in RAID1 Lubuntu / Win 8.1 / CentOS 6.4 -- Xen 4.3 FSP 80+ Micro-ATX 450w 
Case
Fractal Node 304 
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 
  hide details  
Reply
post #9 of 779
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 779
"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 4x 3TB raid 10 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 4x 3TB raid 10 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