Sign in with
Sign up | Sign in
Your question
Closed

Full 3D gaming in virtual machine

Last response: in Graphics & Displays
Share
a b U Graphics card
December 13, 2011 8:53:48 PM

Hi everyone,
This is not a question. I just wanted to share my experience in gaming in a virtual machine.
This is for gamers with advanced knowledge in computers and linux.
My current gaming rig (from start of Nov 2011) is an Asrock Z68 Extreme4 motherboard with an i5-2500 (not K) CPU.
I currently run debian GNU/Linux testing with Xen 4.1.2 hypervisor. It's output is i5's GPU, with a Creative Audigy PCI card. This is enough for what I need under Linux.

I also use an ATI 5850 GPU with a Creative X-Fi Titanium PCIe sound card which have no drivers loaded under linux. These 2, thanks to Intel's VT-d, are controlled exclusively by the Windows 7 virtual machine. Note: VT-d is different than VT-x. VT-x allows virtual machines to run native CPU code, while VT-d maps PCI addresses to guest memory space. VT-d is not present in ix-2xxxK models. At least according to Intel website.
Just as a note, the 5850 is a secondary GPU to the virtal machine. The 1st is the emulated one. Also, input is handled by passing through the 2nd USB2 onboard controller (thank you Intel for not sticking with the 4xUSB1 virtual controllers/1 USB2 controller).

The first game I ever played under this setup is Deus Ex: HR, just 1 day before Skyrim. The next day (11-11-11) I started playing Skyrim, and over 3 week-ends+working days in between I clocked around 80 hours. That is 80 hours in a virtual machine. With some sessions more than 5 hours.

I also used a Realtek 8169 PCI network card, until I changed to the virtualized NIC. The 8169 was the 1st ever device I managed to pass to the VM.

While this is an acceptable solution for me, there are some issues:
- Creative drivers do not seem to work. After installing them, no device is seen in sound control panel (Device manager sees it ok). However, it seems the X-Fi Titanium PCIe can emulate a HDA audio device.
- Have tried onboard audio (Realtek ALC892) and 5850 HDMI audio. All of them (including the X-Fi in HDA emulation) seem to exhibit some clicks&pops, like when the no sample is given for a few 10s of ms. The onboard is the worst, but still playable. The X-Fi is the best. With the onboard audio, sometimes I lost the device completely after 30mins, but restarting the machine would allow me to play for hours.
- Onboard USB3 sort of works (tested with USB2 devices), as in after a certain point, no removals or insertions are detected.
- Marvell onboard SATA controller is detected, but I could not make any HDD visible.
All the issues except for the Marvell are probably due to how IRQs are passed to the VM. I even saw different behaviors while moving the cards around.

My reason for doing all this is that I wanted to release myself from MS OS, but I'm still addicted to games. Please refrain to comment about dual-booting and consoles because:
- dual-booting means I always have to close all apps and restart to play, eventually remaining in Windows to do everything (tried it in the past years)
- consoles do not provide the same experience I got used to for over 10 years of FPS and racing games. They also do not have some of the best racing sims (iRacing, rFactor, GTR) and do not provide the same freedom (think PS3 OtherOS).
a b U Graphics card
December 13, 2011 9:02:37 PM

One more issue I forgot to write: streaming with flash with hardware acceleration is broken. Flash player show green picture, correct audio, 100% 1CPU load and crashes in 30s. Probably also related to IRQ handling. I have not tried other video SW. But unchecking "hardware acceleration" provides good image.
a c 216 U Graphics card
a b 4 Gaming
December 13, 2011 10:16:15 PM

Would you mind giving a review of the experience of gaming under those conditions? Do you have frequent crashes or any drawbacks? You mentioned you played many hours with it, but never gave an description of that experience.
Related resources
a b U Graphics card
December 14, 2011 6:04:03 AM

No crashes whatsoever....Even when the sound had broken (it started by slowing down the sound to maybe half speed) I could still exit the game and shutdown the VM. But I needed patience because the game and some OS apps had extreme timeouts (like 2 mins on exiting the game, and 2 more on shutdown). And even this happened only about 3 or 4 times.

Regarding performance, I played with the setting Skyrim detected (High if I remember correctly), with AF pushed to 16x instead of the default 8x.
I have not done any benchmarks, so I cannot tell you what penalties are there (like 1%, 5% 10%..i have no idea). Also once I got it running, the "native" win7 never got used again.
Windows performance index shows HDD transfer rate at 6.6, everything else above 7 (I don't recall the exact scores, but there were 7.9s).
For the HDD in VM, I actually gave it a complete partition, not a file. It's available though an emulated intel IDE controller, so that would explain the 6.6 score.
a b U Graphics card
December 14, 2011 8:44:31 AM

@mathew7

Sincerely, all this trouble, problems, because you don't want to have a Windows 7 copy?

Don't get me wrong. I do love experiments, tried some VM of my own. But games are made to this OS, and they works great! Without clicks, pops, hiccups. Using native OS makes more free resources to app.. etc.. You know this better than anyone.
a b U Graphics card
December 14, 2011 9:22:40 AM

Who sais I don't have a copy? The VM runs Windows 7. Read again. I'm using the native Windows ATI drivers (catalyst 11.11). Just that linux is also running on the same PC, at the same time.
And what resources would you mean? CPU? Well I'm the only one, so I take a little care of linux cpu-hog apps. RAM? I have 8GB, with 6GB to the virtual machine. I have no 64-bit games (they are not made yet), so my games are limited by 4GB anyway, leaving also enough space for the OS. In linux 2GB is enough.

I don't spend all of my PC time in games, so the rest I don't want to spend it in Windows. And belive me, I planned this before I got the HW. It was bought with VT-d in mind. I spent a lot of time during the summer looking for any confirmed VT-d-working motherboards. But most of them were Q35, Q45 boards. I don't even recall seeing 1156 boards.

As a different application, you can think that this is 2 PCs in 1. So by sharing the CPU and MB, you could provide your sibling a gaming PC and for you a work/surf PC. Being in the same room, you could even control his language (yes, I'm talking about 2 monitors, 2 keyboards and 2 mice).

I even want to convice at least one of my friends to visit me with their GPU, so I can try the 2nd gaming VM (2-player LAN with only 1 PC anyone?).
a b U Graphics card
December 14, 2011 10:19:15 AM

@mathew7

Don't need to get harsh on commentaries. My point was running games through native Windows 7, not from VM. It would save you a lot of problems.

Isn't that an easy possibility? Since you don't play a lot of games you could boot native Windows 7 (no problems, pops, clips, etc) , play whenever you want, and them go back for linux.

Is Windows for surf/net that bad?!?
a b U Graphics card
December 14, 2011 12:00:32 PM

mathew7 said:
.... Please refrain to comment about dual-booting ....
- dual-booting means I always have to close all apps and restart to play, eventually remaining in Windows to do everything (tried it in the past years)


vitornob said:
Isn't that an easy possibility? Since you don't play a lot of games you could boot native Windows 7 (no problems, pops, clips, etc) , play whenever you want, and them go back for linux.


Need I say more?

As for the clicks and pops, they are not every second. That is why I said it's acceptable. I could have even 10 mins between succesive pops. And they are very "soft". I think it's just "turning off" because no samples have arrived followed by resuming when they do. It's not the "blow my speakers" kind. I had similar behavior during the Win95 games, in native mode.
December 29, 2011 12:26:39 AM


This has got to be the most insane coincident ever on this forum; I'm running an extremely similar setup myself (got here through a Google search a few minutes ago, details below)!

I'm in the middle of a setup of Windows Vista in my virtual machine, specs below:
CPU: i7-2600
Mobo: ASRock Z68 Professional Fatal1ty Gen3 (Extreme4 Gen3 was really hard to get where I live)
RAM: Corsair XMS3 8GB
GPU: Sapphire Radeon HD 5850 Toxic 1GB
Sound: Creative X-Fi Professional Fatal1ty PCI
(at this point you might think I just bought the Fatal1ty stuff because I wanted to "feel cool", but trust me, that's not it)
OS: Debian Sid x86_64 + Virualized Windows Vista Ultimate x86_64 (old reused license)
VM: Xen 4.1.2

Now, the problem is that when I try to boot Vista from the HDD I get this error:
Quote:
(XEN) physdev.c:170: dom15: 16:-1 already mapped to 16
(XEN) physdev.c:170: dom16: 16:-1 already mapped to 16
(XEN) <vm_resume_fail> error code 7
(XEN) domain_crash_sync called from vmcs.c:1047
(XEN) Domain 16 (vcpu#0) crashed on cpu#6:
(XEN) ----[ Xen-4.1.2 x86_64 debug=n Not tainted ]----
(XEN) CPU: 6
(XEN) RIP: 0000:[<0000000000007b3e>]
(XEN) RFLAGS: 0000000000010296 CONTEXT: hvm guest
(XEN) rax: ffff82c4801044a2 rbx: ffff83020b316000 rcx: 000000000000a100
(XEN) rdx: ffff82c4801bea90 rsi: 0000000000007be4 rdi: ffff82c4801bc34a
(XEN) rbp: ffff82c480178b29 rsp: 0000000000007c00 r8: 00000000000007bd
(XEN) r9: ffff830277a5ff18 r10: 0000000000000000 r11: ffff82c48010447b
(XEN) r12: 0000000000000000 r13: 0000000000000000 r14: 0000000000000000
(XEN) r15: ffff830277a5ff18 cr0: 0000000000000010 cr4: 0000000000000000
(XEN) cr3: 0000000000000000 cr2: 0000000000000000
(XEN) ds: 07c0 es: 09a0 fs: 0000 gs: 0000 ss: 0000 cs: 0000


I'm using this config:
Quote:
# Xen configuration file
# Written for Xen 4.1
#
# Currently boots Windows Vista from /dev/sdb

# Name of machine
name = "WinVista"

# RAM (MB)
memory = 4096

# CPU
vcpus = 4
cpus = "4-7"

# Disk drive(s)
disk = [ 'phy:/dev/sdb,ioemu:hda,w', 'phy:/dev/sr1,ioemu:hdc:cdrom,r' ]
#cdrom='/dev/sr0'

# Boot device (c = HDD, d = CDROM)
boot = 'dc'

# Chainloader and emulation layers
kernel = '/usr/lib/xen-default/boot/hvmloader'
device_model = '/usr/lib/xen-default/bin/qemu-dm'
builder = 'hvm'
vnc = 1
sdl = 0
acpi = 1
apic = 1
stdvga=0
serial='pty'

# Networking
#vif = [ 'bridge=xenbr0' ]

# PCI (the fun part)
#gfx_passthru=1 # Enable when Xen 4.2 hits the repo
pci = [ '01:00.0', '01:00.1', '09:01.0']

# Temporary solution until I've figured out mouse forwarding
usbdevice='tablet'


Installation went fine, so I'm not exactly sure why it won't boot from HDD.
It's my first time using Xen, but I'm learning fast.

Anyway, congrats on your setup, I like it a lot ;) 
a b U Graphics card
December 29, 2011 6:46:49 PM

Djhg2000 said:

Now, the problem is that when I try to boot Vista from the HDD I get this error:
Quote:
(XEN) physdev.c:170: dom15: 16:-1 already mapped to 16
(XEN) physdev.c:170: dom16: 16:-1 already mapped to 16
(XEN) <vm_resume_fail> error code 7
(XEN) domain_crash_sync called from vmcs.c:1047
(XEN) Domain 16 (vcpu#0) crashed on cpu#6:
(XEN) ----[ Xen-4.1.2 x86_64 debug=n Not tainted ]----
(XEN) CPU: 6
(XEN) RIP: 0000:[<0000000000007b3e>]
(XEN) RFLAGS: 0000000000010296 CONTEXT: hvm guest
(XEN) rax: ffff82c4801044a2 rbx: ffff83020b316000 rcx: 000000000000a100
(XEN) rdx: ffff82c4801bea90 rsi: 0000000000007be4 rdi: ffff82c4801bc34a
(XEN) rbp: ffff82c480178b29 rsp: 0000000000007c00 r8: 00000000000007bd
(XEN) r9: ffff830277a5ff18 r10: 0000000000000000 r11: ffff82c48010447b
(XEN) r12: 0000000000000000 r13: 0000000000000000 r14: 0000000000000000
(XEN) r15: ffff830277a5ff18 cr0: 0000000000000010 cr4: 0000000000000000
(XEN) cr3: 0000000000000000 cr2: 0000000000000000
(XEN) ds: 07c0 es: 09a0 fs: 0000 gs: 0000 ss: 0000 cs: 0000



I'm not a Xen expert (I could say I had good luck in making it work), so I have no idea where to start.
I don't think this relates to your problem, but I would sugest to use "01:00.*" instead of "01:00.0"+"01:00.1". In latter case, it would place 2 devices on the virtual bus "0:x.0 and 0:y.0". In my sugestion, the PCI functions are kept. I also append "@x" to force a specific PCI bus assignment. My pci= part (hint:my disk= part is similar):
Quote:

pci=[]
# Radeon 5850
pci+=['01:00.*@10']
# Realtek 8169 PCI
#pci+=['07:01.0@11']
# Intel EHCI USB controller #2
pci+=['00:1a.0@12']
# Creative XFI
pci+=['02:00.0@13']
# Intel HDA
#pci+=['00:1b.0@13']
# Marvell SATA controller
#pci+=['03:00.*']


My troubleshooting ideas are:
1. does it actually load something from HDD? Maybe a windows logo appears shortly followed by the "recovery" options on the 2nd try? I ask this because you have a "CDROM then HDD" boot order, also your CDROM is /dev/sr1 which is 2nd cdrom (ok..xen would complain if it's not there). So do you boot something from CD 1st? Try with boot = "c".
2. Does your debian GUI autoload windows partitions? I made an "unformatted" partition and that is exported as my VM drive (so it's /dev/sda2 for me). It seems my debian does not recognize a (virtual) MBR as a valid filesystem (huray!). But I wanted to avoid exposing a complete device to the VM just for this reason.
3. Make sure VT-d is working: try with only 1 device, since I said my X-Fi has issues. Also try with no passthough (comment the line).
4. I have no idea how hyperthreading can affect the virtual CPUs. My CPUID reports 4x the cache sizes (like having 4 CPUs, each with only one core active). I think it's a long shot, but you could try with 1 VCPU.
5. I don't recall when I added these, but I have msi=1 in GRUB_CMDLINE_LINUX_DEFAULT (for the dom0 kernel) and also a pci_msitranslate=1 in my VM config file. I don't know if I added them when troubleshooting for sound or troubleshooting for VM starting. But you may try these (5850 can use MSI instead of IRQs).

I can only say that the "16:-1 already mapped to 16" seems to be ok, since I also have it and it works, but it could be IRQ sharing related and the reason for my sound problems.

PS: I'm actually looking at USB sound solutions, but more because I would like an SPDIF-passthrough capable sound card with coaxial output (2nd part is where my X-Fi fails).
December 29, 2011 8:20:00 PM

mathew7 said:
I'm not a Xen expert (I could say I had good luck in making it work), so I have no idea where to start.
I don't think this relates to your problem, but I would sugest to use "01:00.*" instead of "01:00.0"+"01:00.1". In latter case, it would place 2 devices on the virtual bus "0:x.0 and 0:y.0". In my sugestion, the PCI functions are kept. I also append "@x" to force a specific PCI bus assignment. My pci= part (hint:my disk= part is similar):
Quote:

pci=[]
# Radeon 5850
pci+=['01:00.*@10']
# Realtek 8169 PCI
#pci+=['07:01.0@11']
# Intel EHCI USB controller #2
pci+=['00:1a.0@12']
# Creative XFI
pci+=['02:00.0@13']
# Intel HDA
#pci+=['00:1b.0@13']
# Marvell SATA controller
#pci+=['03:00.*']


My troubleshooting ideas are:
1. does it actually load something from HDD? Maybe a windows logo appears shortly followed by the "recovery" options on the 2nd try? I ask this because you have a "CDROM then HDD" boot order, also your CDROM is /dev/sr1 which is 2nd cdrom (ok..xen would complain if it's not there). So do you boot something from CD 1st? Try with boot = "c".
2. Does your debian GUI autoload windows partitions? I made an "unformatted" partition and that is exported as my VM drive (so it's /dev/sda2 for me). It seems my debian does not recognize a (virtual) MBR as a valid filesystem (huray!). But I wanted to avoid exposing a complete device to the VM just for this reason.
3. Make sure VT-d is working: try with only 1 device, since I said my X-Fi has issues. Also try with no passthough (comment the line).
4. I have no idea how hyperthreading can affect the virtual CPUs. My CPUID reports 4x the cache sizes (like having 4 CPUs, each with only one core active). I think it's a long shot, but you could try with 1 VCPU.
5. I don't recall when I added these, but I have msi=1 in GRUB_CMDLINE_LINUX_DEFAULT (for the dom0 kernel) and also a pci_msitranslate=1 in my VM config file. I don't know if I added them when troubleshooting for sound or troubleshooting for VM starting. But you may try these (5850 can use MSI instead of IRQs).

I can only say that the "16:-1 already mapped to 16" seems to be ok, since I also have it and it works, but it could be IRQ sharing related and the reason for my sound problems.

PS: I'm actually looking at USB sound solutions, but more because I would like an SPDIF-passthrough capable sound card with coaxial output (2nd part is where my X-Fi fails).


Thanks, it boiled down to being a Vista specific issue, XP and 7 were unaffected.
The solution is to first install XP and then install Vista on top of that.
The MBR Vista writes is too buggy for Xen to handle, and there aren't any signs of interest in fixing this since 7 makes Vista mostly obsolete.

The /dev/sr1 part leaved me puzzled as well, but I do have 2 CD drives.
Apparently it switched the order so that the SATA one became sr1 and the IDE one sr0. No biggie.

As for the part about PCI, I think it's a great idea to use wildcards, just didn't know wildcards worked :) 
Thanks!

I'm thinking of using a bridged network instead of a forwarded PCI device, looking into it now.

Thanks for your help!
a b U Graphics card
December 29, 2011 9:04:49 PM

Djhg2000 said:
The /dev/sr1 part leaved me puzzled as well, but I do have 2 CD drives.
Apparently it switched the order so that the SATA one became sr1 and the IDE one sr0. No biggie.

That's the kernel which loads IDE first and SATA after.
Djhg2000 said:
As for the part about PCI, I think it's a great idea to use wildcards, just didn't know wildcards worked :) 
Thanks!

You're welcome. It took me some time on Xen wiki to find out.
Djhg2000 said:
I'm thinking of using a bridged network instead of a forwarded PCI device, looking into it now.

I used this on Xen Wiki. But this means good-bye too NetworkManager.

Here is my /etcf/network/interfaces:
  1. # This file describes the network interfaces available on your system
  2. # and how to activate them. For more information, see interfaces(5).
  3.  
  4. # The loopback network interface
  5. auto lo
  6. iface lo inet loopback
  7.  
  8. # The primary network interface
  9. iface xenbr0 inet dhcp
  10. bridge_ports eth0


Initially it was "iface eth0 inet dhcp" (see the difference?).
Then you can use your commented "vif" line (maybe with added MAC?).
December 30, 2011 2:56:09 AM

This is very intriguing, so you were able to run games in a VM with a decent framerate? I'm assuming you need to have the specific type of cpu and motherboard to do this then...

I'd be very interested to see this kind of technology in future virtual machines and cpu's/motherboards as I would very much like to switch over to linux...
December 30, 2011 11:09:04 AM

mathew7 said:
That's the kernel which loads IDE first and SATA after.

You're welcome. It took me some time on Xen wiki to find out.

I used this on Xen Wiki. But this means good-bye too NetworkManager.

Here is my /etcf/network/interfaces:
  1. # This file describes the network interfaces available on your system
  2. # and how to activate them. For more information, see interfaces(5).
  3.  
  4. # The loopback network interface
  5. auto lo
  6. iface lo inet loopback
  7.  
  8. # The primary network interface
  9. iface xenbr0 inet dhcp
  10. bridge_ports eth0


Initially it was "iface eth0 inet dhcp" (see the difference?).
Then you can use your commented "vif" line (maybe with added MAC?).


Thanks again, got it all working now!

The thing is, before I installed Xen the SATA drive was detected first.
Not really worth looking into I'd guess, as long as they're both found and working the order doesn't really matter.


gaurdianaq said:
This is very intriguing, so you were able to run games in a VM with a decent framerate? I'm assuming you need to have the specific type of cpu and motherboard to do this then...

I'd be very interested to see this kind of technology in future virtual machines and cpu's/motherboards as I would very much like to switch over to linux...


Yes, you need both a CPU and motherboard which supports VT-d, it's a set of instructions that allows you to access physical devices through a VM.
The problem is, not too many are using the VT-d feature on their home PCs, which results is lots and lots of buggy implementations.

The motherboards we chose have been tested by some brave souls who bought them on chance and then tested the actual VT-d support.
There's no simple way to know from the specs and/or manual, you have to either do your research or take the risk of suffering from critical bugs.

As for the CPU, pretty much all of the mid to high end non-K Intel i5/i7 CPUs supports VT-d.
I think AMD Phenom II and Bulldozer has it too, but then it goes under the name IOMMU (the proper name in my opinion).

This isn't all too new, it's just that Xen has evolved enough to reach a state where it's not a pain to set up a forwarded GPU.
There are alternatives to Xen as well, I've read about similar attempts with QEMU + KVM or VMWare ESXi.

I think we need some big tech site to make an article on it, the power of VT-d is mostly unknown to the average geek.

By all means, if you have the interest and the hardware, go for it!
a b U Graphics card
December 30, 2011 11:52:41 AM

Djhg2000 said:

Yes, you need both a CPU and motherboard which supports VT-d, it's a set of instructions that allows you to access physical devices through a VM.


Actually there are no instructions, as opposed to VT-x (which is pure CPU dependent). For VT-d, just the memory controller receives a MMU for PCI(e) devices (thus IOMMU; CPU already has a MMU for applications since 386).
For Core2Duo, I think any processor could do it if you had a VT-d chipset (only Qxx chipsets, Q35 or newer) and MB BIOS implementations, even though I see the 1st CPUs with VT-d are E8xxx and Q9xxx, launched in Q1/Q2 2008, while the Q35 was Q3 2007 (...speculations begin now.....).

But for the Core ix platforms, Intel moved the memory controller to the CPU package (with which the IOMMU is directly linked), so now the CPU is the main "supporter" (HW-wise), the BIOS being responsible just for some initial configurations (and being exposed to MB maker shortcuts, even if the "option" is present).

On AMD side, I have no idea, since not many developers jump that side, unless management forces them. (Hint: I said "not many developers", not "no developers")
December 30, 2011 12:54:00 PM

I got the impression that for AMD systems, IOMMU is in the motherboard but the CPU needs to be aware of it.
This got me to the conclusion that IOMMU required additional and/or modified instructions, either in the CPU and/or the chipset.

Of course, for Intel systems VT-d is in part in the CPU, as you stated, since the memory controller is in the CPU package.

AMD has a nice illustration on page 19 in this document on IOMMU.

From what I've read, AMD boards tend to have proper enough IOMMU support more often than Intel boards have proper VT-d.
These IOMMU capable boards usually have 880, 890 or 990 series chipsets, but I think there was one with 870.
To anyone with one of above chipsets; this might already be possible for you, check dmesg for entries about IOMMU.
a b U Graphics card
December 30, 2011 1:52:24 PM

Interesting. Maybe the older i5&i7s could use a similar architecture, since the IOMMU needs to be between memory controller and PCI/PCIe bus. But the 2nd gen core-i's definitely have it in the CPU package because of the integrated PCIe lanes.
As for the "awareness", it's done by programming the other HW's (memory controller and bus controller). So no new CPU instructions are used, just some additional initializations done in SW, by BIOS and/or OS (with info from BIOS).
December 30, 2011 4:18:06 PM

I have hit another issue that previously passed by unnoticed; I have internet connection from my dom0 and my domU, but not between them.

/etc/network/interfaces
Quote:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
iface eth0 inet manual

# The xenbr0 interface, replaces eth0 for dom0
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0

# NetworkManager doesn't like Xen very much anyway
#allow-hotplug eth0
#NetworkManager#iface eth0 inet dhcp


iptables -L
Quote:
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere PHYSDEV match --physdev-out vif5.0 --physdev-is-bridged
ACCEPT all -- anywhere anywhere PHYSDEV match --physdev-in vif5.0 --physdev-is-bridged

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


Google didn't give me anything useful :( 
a b U Graphics card
December 30, 2011 5:51:59 PM

If you want a simple bridge to external network (just like a separate device on the network), then loose the "iface eth0...". Did you make those 2 iptables entries? If yes, loose those also.
Check what "vif-script" is active in /etc/xen/xend-config.xsp. I have "(vif-script vif-bridge)" uncommented. I don't recall the default, but I know I played with it.
December 30, 2011 7:17:06 PM

mathew7 said:
If you want a simple bridge to external network (just like a separate device on the network), then loose the "iface eth0...". Did you make those 2 iptables entries? If yes, loose those also.
Check what "vif-script" is active in /etc/xen/xend-config.xsp. I have "(vif-script vif-bridge)" uncommented. I don't recall the default, but I know I played with it.


Nah, I just posted the iptables output because it seemed to be useful in troubleshooting as in http://wiki.kartbuilding.net/index.php/Xen_Networking .
I'm trying to use what looks like the 1st case.

I commented the eth0 line, but I also figured out I was trying to ping the wrong IP from my domU, using the correct one works.
However, I still can't ping my domU from dom0, which has left me really puzzled this time.
Also notable is that my domU won't get an IP from DHCP, so far I've been using a static IP which gave me access to the entire network, or so it seemed.

Does Vista have ping disabled in its firewall?

P.S.
Turns out disabling Vistas firewall blocked ping.
I feel the pain of the worlds IT admins.
a b U Graphics card
December 30, 2011 9:08:34 PM

Djhg2000 said:

I commented the eth0 line, but I also figured out I was trying to ping the wrong IP from my domU, using the correct one works.
However, I still can't ping my domU from dom0, which has left me really puzzled this time.
Also notable is that my domU won't get an IP from DHCP, so far I've been using a static IP which gave me access to the entire network, or so it seemed.

Does Vista have ping disabled in its firewall?

P.S.
Turns out disabling Vistas firewall blocked ping.
I feel the pain of the worlds IT admins.

What kind of DHCP do you use? You should be aware that if you don't provide a MAC on the "vif" parameter, Xen generates a different MAC for each session. So if you have a MAC-restricting DHCP server, that would be a problem.
Regarding Vista firewall, I never actually tried ping, but one of the 1st things I installed was tightvnc (both of my video outputs go to the same monitor), and I had to disable the FW to make it work (ok...I could have put an exception, but I wanted a fast solution).
But I still don't get your P.S.: when the firewall is disabled, ping is not allowed? By default all Win firewalls disable ping responses.
December 30, 2011 9:13:37 PM

Alright, I've got everything working now, except for that I can't use Synergy for UAC dialog boxes.

I'm looking into having a dedicated mouse hidden behind the keyboard for this purpose.
The question now is; forward a single USB device or a whole controller.

Since I also want to use my Logitech G25, forwarding a controller like you did might have the advantage.
Any experience on device vs controller?
a b U Graphics card
December 30, 2011 9:58:18 PM

I played with device forwarding on virtualbox and it was a nightmare because it can only be done in SW, so a generic driver needs to be forced in the host. I would sugest using VT-d on one controller.
You can check which ports are under which controller by putting an usb device in every (2nd) port and see with lsusb on which bus they appear. Usually (have not seen any exception) 2 stacked ports will be on the same controller.
My MB has all USB2.0 on the back port and 1 (2.0) header on 1st USB controller and the other 2 (2.0) headers on the 2nd 2.0 controller.
I've had trouble with the USB3 ports (no linux driver and bad VT-d experience), so I'm not using them (I have 4).
December 31, 2011 12:11:45 AM

mathew7 said:
What kind of DHCP do you use? You should be aware that if you don't provide a MAC on the "vif" parameter, Xen generates a different MAC for each session. So if you have a MAC-restricting DHCP server, that would be a problem.
Regarding Vista firewall, I never actually tried ping, but one of the 1st things I installed was tightvnc (both of my video outputs go to the same monitor), and I had to disable the FW to make it work (ok...I could have put an exception, but I wanted a fast solution).
But I still don't get your P.S.: when the firewall is disabled, ping is not allowed? By default all Win firewalls disable ping responses.


The P.S. was a typo, it was supposed to be "Turns out disabling Vistas firewall allowed ping.", guess that's what stressful days does to my brain ;) 

The MAC address is locked, did that immediately when I found out it changed for every boot.
The router utilizes static DHCP to keep track of our IP addresses, however the virtual machine doesn't really need DHCP.
Keeping track of a single machine is easy enough.
Anyway, after adding a firewall rule for IMCPv4 (to allow ping), most issues seem to be sorted.

Now there's another issue; sometimes the domU crashes the dom0.
I have been unable to find any indirect cause, but it seems to be boot related.
It crashed on me once on a reboot while I was away, and once in the background while booting.

I would guess this is yet another Vista specific issue, in retrospect I probably should had gone with 7 instead...
December 31, 2011 8:31:34 PM

It seems I have successfully got rid of the crashing issue.
I simply disabled the sound card in device manager.
Later tests suggests that it's one of the Creative X-Fi enhancements poking around in weird memory areas.
I used the latest drivers for my card, version 2.18.0015 .

In case anyone else had thought of using this particular card, it doesn't look too good.
I will try to get a USB sound card and report the outcome.

On the topic of USB, I have now decided to use one of the controllers, but I can't find which PCI device to forward.
I have looked trough "lspci -v", "lsusb" and "lshw" and I'm either missing something obvious or looking at the wrong commands.

I could try poking out the controllers one by one over SSH, but to me that feels a bit like trying to drive an F1 car with shotgun rounds; it will eventually stop, but it might not do so in a mint condition.

Overall, I'm pretty satisfied with this setup apart from the sound and lack of USB connectivity.
Xen 4.2 will bring us the ability to get rid of that Cirrus graphics adapter as well, but for now disabling it in the device manager works well enough.
a b U Graphics card
January 2, 2012 7:45:37 AM

Here are my onboard devices show with lspci -nn:

00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0100] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
00:1c.7 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 [8086:1c1e] (rev b5)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
00:1f.0 ISA bridge [0601]: Intel Corporation Z68 Express Chipset Family LPC Controller [8086:1c44] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)

I am exporting 00:1a.0, ID 8086:1c2d.
I suppose the ID should be the same for you, since it's same chipset, same manufacturer just different BIOS.
And about the X-Fi, I had similar issues with "native" drivers. But it seems it's installed with some generic HDA drivers by default (I don't remember if it asked me to update over the net). What is most surprising is that in linux it's ID is 1102:000B (and also with the Creative drivers), but with this emulation it's 1102:000D. I have no idea how to switch between them. But maybe this can be done only under 7. Again showing how lucky I was :D .
January 2, 2012 10:08:19 PM

mathew7 said:
Here are my onboard devices show with lspci -nn:

00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0100] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
00:1c.7 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 [8086:1c1e] (rev b5)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
00:1f.0 ISA bridge [0601]: Intel Corporation Z68 Express Chipset Family LPC Controller [8086:1c44] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)

I am exporting 00:1a.0, ID 8086:1c2d.
I suppose the ID should be the same for you, since it's same chipset, same manufacturer just different BIOS.
And about the X-Fi, I had similar issues with "native" drivers. But it seems it's installed with some generic HDA drivers by default (I don't remember if it asked me to update over the net). What is most surprising is that in linux it's ID is 1102:000B (and also with the Creative drivers), but with this emulation it's 1102:000D. I have no idea how to switch between them. But maybe this can be done only under 7. Again showing how lucky I was :D .


I'm trying to forward my ASMedia USB 3.0 controller, but I get this during the process:
Quote:
# echo "0000:0a:00.0" > /sys/bus/pci/drivers/pci-stub/bind
bash: echo: write error: No such device


This is my lspci:
Quote:
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.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (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 Z68 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 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
05:00.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:01.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:04.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:05.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:06.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:07.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:08.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
06:09.0 PCI bridge: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
07:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
08:00.0 PCI bridge: ASMedia Technology Inc. ASM108x PCIe to PCI Bridge Controller (rev 03)
09:01.0 Multimedia audio controller: Creative Labs SB X-Fi
0a:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
0b:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
0c:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
0d:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
0e:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6315 Series Firewire Controller
0e:00.1 IDE interface: VIA Technologies, Inc. VT6415 PATA IDE Host Controller (rev a0)


This is the very same process that I've been using earlier to forward my Radeon and X-Fi cards, without a hitch.
The same error happens when I try to use the controller you use (yes, we really have the same ID and bus).

Google only turned up people trying to use the wrong address and a few who didn't have VT-d but tried anyway.
January 3, 2012 5:19:20 PM

Never mind, I solved it by switching to pciback instead of pci-stub, as recommended by the Xen wiki.

One odd thing I noticed is that when I move my new Razer Lachesis (5600 DPI version) a lot, it drops out for a split second before resetting.
This doesn't happen in Debian though, so I guess it's because of the ASMedia USB controller drivers.
I swapped it with my Razer Diamondback and all is great.

The USB sound card I bought (Deltaco UAC-03, cheap thing) works right away with generic drivers.
No clicks and pops, no crashing, just a bit of distortion sometimes but hardly noticeable in most games.
January 5, 2012 8:51:29 PM

Small status update, I have managed to solve pretty much every issue by now, here's how:

Razer Lachesis:
Install drivers from official website and turn down the polling rate to 125Hz (might be optional), then plug it into a powered hub.
It now works like a wonder.

Logitech G25:
Very picky about installation method, install drivers and when prompted to plug it in during install, connect directly to the motherboard.
I had a few attempts trying to get this to work, most of the time it would end up "locked" to a 200 degrees range, if working at all.
I've read about similar experiences on bare metal Windows Vista, so might not be relevant for 7.

Deltaco UAC-03:
Glitchy audio in some games, possibly related to CPU usage (would make sense).
Music in VLC is crystal clear (to the extent you can call a cheap USB sound card crystal clear, works well enough at least).

And finally a heads-up; the ASMedia USB 3.0 controller does not work with the generic drivers, trying to do so will cause minor headaches.
Don't try it.
Seriously, don't.

Again, I'd recommend any Linux user to give this a shot, the reward is really worth it. :bounce: 
Anonymous
a b U Graphics card
a b 4 Gaming
January 31, 2012 3:45:25 PM

Hello,

I just bought a new computer with the same goal: play with xen and the VGA passthrough. However I discovered too late that not all motherboard support vt-d. I asked gigabyte for a compatible BIOS and I am waiting for it. In the same time I am planning to buy an already compatible MB.

Is the Asrock z68 extreme3 gen 3 compatible or should I buy the extreme4 gen 3?
January 31, 2012 4:46:50 PM

Quote:
Hello,

I just bought a new computer with the same goal: play with xen and the VGA passthrough. However I discovered too late that not all motherboard support vt-d. I asked gigabyte for a compatible BIOS and I am waiting for it. In the same time I am planning to buy an already compatible MB.

Is the Asrock z68 extreme3 gen 3 compatible or should I buy the extreme4 gen 3?


Ouch, sorry to hear that.

As for the new mobo, I'd go with the Extreme4 Gen3 as it's been verified to work, not sure about the Extreme3 Gen3. There's a good chance it will work, but I wouldn't buy it without verified VT-d functionality.

Have a look at the ESXi forums, they have a whole section for reporting working mobos (you might even find the BIOS you're looking for in there).
February 19, 2012 3:31:26 AM

Djhg2000 said:
Alright, I've got everything working now, except for that I can't use Synergy for UAC dialog boxes.


Synergy works fine for UAC if you install the client as a windows service. Just pop an administrator console and run:
synergyc --service install --relaunch name_or_ip_of_your_server


Just don't forget to remove your normal client from autostart ;-). If it doesn't work, check under services.msc the properties of the Synergy service - it needs to run as the system user, with allowed access to the desktop. You may also want to edit your registry to allow the service to run in the Safe Mode with Network.
March 1, 2012 1:13:15 PM

mathew7 said:
Hi everyone,
This is not a question. I just wanted to share my experience in gaming in a virtual machine.
This is for gamers with advanced knowledge in computers and linux.
My current gaming rig (from start of Nov 2011) is an Asrock Z68 Extreme4 motherboard with an i5-2500 (not K) CPU.
I currently run debian GNU/Linux testing with Xen 4.1.2 hypervisor. It's output is i5's GPU, with a Creative Audigy PCI card. This is enough for what I need under Linux.

I also use an ATI 5850 GPU with a Creative X-Fi Titanium PCIe sound card which have no drivers loaded under linux. These 2, thanks to Intel's VT-d, are controlled exclusively by the Windows 7 virtual machine. Note: VT-d is different than VT-x. VT-x allows virtual machines to run native CPU code, while VT-d maps PCI addresses to guest memory space. VT-d is not present in ix-2xxxK models. At least according to Intel website.
Just as a note, the 5850 is a secondary GPU to the virtal machine. The 1st is the emulated one. Also, input is handled by passing through the 2nd USB2 onboard controller (thank you Intel for not sticking with the 4xUSB1 virtual controllers/1 USB2 controller).

The first game I ever played under this setup is Deus Ex: HR, just 1 day before Skyrim. The next day (11-11-11) I started playing Skyrim, and over 3 week-ends+working days in between I clocked around 80 hours. That is 80 hours in a virtual machine. With some sessions more than 5 hours.

I also used a Realtek 8169 PCI network card, until I changed to the virtualized NIC. The 8169 was the 1st ever device I managed to pass to the VM.

While this is an acceptable solution for me, there are some issues:
- Creative drivers do not seem to work. After installing them, no device is seen in sound control panel (Device manager sees it ok). However, it seems the X-Fi Titanium PCIe can emulate a HDA audio device.
- Have tried onboard audio (Realtek ALC892) and 5850 HDMI audio. All of them (including the X-Fi in HDA emulation) seem to exhibit some clicks&pops, like when the no sample is given for a few 10s of ms. The onboard is the worst, but still playable. The X-Fi is the best. With the onboard audio, sometimes I lost the device completely after 30mins, but restarting the machine would allow me to play for hours.
- Onboard USB3 sort of works (tested with USB2 devices), as in after a certain point, no removals or insertions are detected.
- Marvell onboard SATA controller is detected, but I could not make any HDD visible.
All the issues except for the Marvell are probably due to how IRQs are passed to the VM. I even saw different behaviors while moving the cards around.

My reason for doing all this is that I wanted to release myself from MS OS, but I'm still addicted to games. Please refrain to comment about dual-booting and consoles because:
- dual-booting means I always have to close all apps and restart to play, eventually remaining in Windows to do everything (tried it in the past years)
- consoles do not provide the same experience I got used to for over 10 years of FPS and racing games. They also do not have some of the best racing sims (iRacing, rFactor, GTR) and do not provide the same freedom (think PS3 OtherOS).


I'm a bit of a Linux noob so forgive me if this question doesn't make sense but why Xen instead of KVM? Is there an advantage/disadvantage to either with your specific hardware and/or primary host OS (debian/GNU)? It appears at present there isn't a way to do what you're doing within a Hyper-V or ESX configuration so I may end up going down a Linux path (would RedHat or SUSE work the same as you're doing with debian?).

Additionally, you started with a Creative PCI card but appears you moved to USB. You also referenced using onboard at one point. Does the onboard have significant issues and should not be used within the Windows guest/vm? As you referenced an Audigy and a X-Fi Titanium, did both/neither work, why the switch, etc?

Many thanks for your assistance!!!
March 2, 2012 6:28:45 AM

larryc23 said:
I'm a bit of a Linux noob so forgive me if this question doesn't make sense but why Xen instead of KVM? Is there an advantage/disadvantage to either with your specific hardware and/or primary host OS (debian/GNU)? It appears at present there isn't a way to do what you're doing within a Hyper-V or ESX configuration so I may end up going down a Linux path (would RedHat or SUSE work the same as you're doing with debian?).

Additionally, you started with a Creative PCI card but appears you moved to USB. You also referenced using onboard at one point. Does the onboard have significant issues and should not be used within the Windows guest/vm? As you referenced an Audigy and a X-Fi Titanium, did both/neither work, why the switch, etc?

Many thanks for your assistance!!!


It was me who moved to a USB sound card, my X-Fi PCI (not PCIe, in contrast to what mathew7 is using) wasn't stable enough and I don't recall it working with generic drivers. However, with this USB sound card only a very small range of applications show any signs of errors due to stalled I/O, and Skyrim and Serious Sam 3 has reversed stereo for some reason (might be a hardware fluke, those are about the only games I play with proper directional sound effects).

It's a bit odd how my USB3 ports are mostly stable though, only had them drop out about 3 or 4 times since the build, usually with a bluescreen and requires a reboot of the host. The driver must be doing something strange with it.

As for KVM, I've read they're working on it but last time I checked a couple of months ago it was still very experimental. There might be better support for it by now, but I'll stay with Xen for a while as it offers very advanced configurations of the virtualized hardware. I know ESXi has support for IOMMU, but I haven't read anything about using graphics cards with it.
May 15, 2012 2:03:40 PM

fascinating thread guys, as this is something i'm looking to do

I have a i7-2600K so it looks like for full VT-D support i might need to swap it out for a new Sandy/Ivy Bridge non-K.

Anyway, just a question on this VT-D


Do the host and guest systems need to be on different GPU's ?

the OP had Linux running on the Intel iGPU, and Linux on the Nvidia - is this a requirement? or could i run both on the nvidia?
a b U Graphics card
June 25, 2012 7:26:36 AM

FiL said:
fascinating thread guys, as this is something i'm looking to do

I have a i7-2600K so it looks like for full VT-D support i might need to swap it out for a new Sandy/Ivy Bridge non-K.

Anyway, just a question on this VT-D


Do the host and guest systems need to be on different GPU's ?

the OP had Linux running on the Intel iGPU, and Linux on the Nvidia - is this a requirement? or could i run both on the nvidia?


In short, different. The "controlling" OS will have complete control. So if you still want to "see" your linux, you would need 2 GPUs. There is no paravirtualization driver.....think about it: how would you tell your GPU which "screen" to show (guest or host)?

Anyway, I wanted to update regarding sound cards. Previously when trying PCI (not PCIe) devices, I kept getting a PCI sibling device 0:00.0 is not used by pciback or pci-stub. I found a few posts and saw that this is thrown by a python script. So I made changes to it and have experimented with my 2 older sound cards:
- Creative audigy - same thing from Creative drivers: device appears, but no sound (driver seems to freeze)
- Hercules Fortissimo IV (Via VT1724HT based) - great.....this is my new sound card. Played a little of Quake4, Deus Ex...and no problems till now (knock on wood). As opposed to my USB sound card, I can set this one to 24-bit, 96KHz.

So a summary of what I'm virtualizing:
- (PCIe) ATI 5850 (damn....it's so hard saving money for that 7950)
- (PCIe, onboard) 2nd USB2.0 controller
- (PCI) VT1724 sound card
- (PCI) RTL8169 network adapter (yes...I switched to real HW NIC....no issues with virtual, it's just because I can)
!