For years I've used VirtualBox to successfully run XP and Vista clients on my Ubuntu box, and am considering taking the next step to either Qemu/KVM or Xen. Have always toyed with the idea, but never made the switch because VirtualBox is so easy to use whereas KVM has always suffered from the typical Linux obscurity/learning curve. Reason: AFAIK VirtualBox is a type 2 virtualizer which runs on ring 1 whereas KVM and Xen are type 1 virtualizers running on ring 0. This allows KVM and Xen to at least theoretically pass through PCI devices to the virtualized client, thus bypassing the translation layer that type 2 virtualizers like VirtualBox must use. At least, this is what I've been able to gather from Wikipedia and some research on the net. I may be totally off base here and spouting meaningless nonsense.

My goal is to pass through client video demands to physical hardware rather than the emulated virtual graphics adapter. I understand that Xen now does this (with a lot of blood, sweat and tears), but wonder if KVM is there yet (or will ever be). I also have the impression that KVM is more tightly tied into the Kernel than Xen and runs faster (with the important exception of graphics). I assume I'm not the only one interested, as one of the biggest attractions of virtualization for the average user is running Windows games in a VM without having to sacrifice major gaming features or video performance. My knowledge at this point is all full of holes and second-hand, and I welcome enlightenment from the assembled gurus here.

So my question is actually twofold:

1. Is my understanding of type1/ring0 vs type2/ring1 correct? And if so,

2. Which is the better virtualizer for graphics pass-through? KVM or Xen?