[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] VGA/PCI Passthrough of Secondary Graphics Adapter

Hi Gordan,

Sorry for not getting back to you sooner, it's a lot of information to sift through.
The lack of FLR, to my understanding, prevents the virtual machine from
resetting the card state, leaving it initialized when switching or
rebooting your DomU. ÂAs a result the card is activated multiple times,
creating various issues with a range of problems.

You see, I'm not actually convinced FLR is such a vitally important feature. All you are really doing with FLR is pushing the re-initialization responsibility onto the BIOS of the PCI device. Without it, the driver has to do it. What is it that the driver cannot do to reset the device? Think low-level - all you are really doing is putting values into the registers of the GPU.

The problems I encountered during my tests would point to the fact that the card state is not being reset, and FLR happens to exist to do just that for virtualization. ÂIt seems like a fairly logical assessment to say that because FLR is not available for consume cards that this is a problem. ÂIt is very possible that it could be something else, but I am just pointing at the most likely cause using what I know personally.

During my tests, I broke down the steps logically to resolve the issues
I had installing and updating drivers. ÂIn general, anytime I update or
install AMD drivers I would reboot the entire physical machine to ensure
the graphics card state was proper.

Interestingly, the one thing that various people have been saying about ATI cards is that they get slower and slower on every guest reboot, unless you reboot the host. I haven't seen any evidence of this on my 6450. The fps I get in the likes of OCCT and Furmark are the same after the guest has been rebooted a few times. The problem I have is that an application entering full-screen mode causes a crash.

When I reboot my system the card still works just fine for Windows, but will perform very poorly when I run a 3D application. ÂTo resolve this I eject the device which causes it to reset and restores the performance, for the duration it runs. ÂRebooting again will require the same steps. ÂHowever, I have not experienced a gradual decrease in performance from continual reboots, possibly because I eject and reset it after rebooting.
The tests I mentioned were a large number of fresh Windows installations and AMD driver installations during the 11.x-12.x versions.

Out of the first 16 installations 13 failed to install AMD drivers when faced with a rebooted Windows and a card with a state that had not been reset. ÂThe 3 that succeeded BSoD'd on reboot or randomly shortly after login.

Another 30 installations with a fresh system, only rebooted during the installation process claimed to work successfully but roughly 15% of the time would experience video tearing and BSoD without warning (on first boot), and almost always on reboot.

The final 22 installations I rebooted the whole machine during both stages of installation, and ran Windows 7 with that for four months without a problem, the migrated to Windows 8 which has been running for three months.

ÂFrom my experiences this required a freshly installed Windows system,
if you are working on a system you already attempted driver installation
on and it failed (BSoD's or otherwise) uninstalling the failed drivers
and trying again loops back to the same failures for mostly unknown
reasons. ÂPresumable it has to do with the use of the .NET framework for
installation, and leaving bits of data behind on failure, but I never
confirmed the exact details.

I don't know if that helped in any way, but I uninstalled anything remotely .NET-ish, including the client profile.

I spent three days trying to figure out the specifics, and did the same as you, and that did not solve the problems. ÂIn using .NET it either left something else on the system or I missed something, but I was more concerned with getting the system working than figuring out why it was breaking, and three days was enough time to reinstall several times.

For me, once the drivers are properly installed, rebooting the system
still leaves the card in a pre-initialized state, which to avoid
performance degradation I would manually reset the card using eject
media from the lower right icon. ÂThis is not a perfect solution, and I
do not rely on it when performing driver installation or updates.

Where is this "eject" for a PCI device? What distro are you actually running?

The ejection process has nothing to do with Linux or Dom0. ÂI call it a "manual ejection" as it does not occur automatically. ÂThe ejection takes place from inside the running Windows virtual machine, after it has restarted. ÂThere is an icon to eject media in the bottom menu, when clicked it displays any passed devices. ÂMy understanding is this triggers a hot-plug ejection on the device, if you know how to reproduce that in Linux let me know.

I point my fingers at FLR because its described responsibility is to reset device state in virtual environments, and every one of the problems I have encountered appear to be linked to the state of the card. ÂHowever, other users have posted very different experiences, leading me to believe that it could well be hardware specific.

I started with a consumer nVidia card, it didn't work that's why I switched to AMD. ÂIf you can share the model of a $180 USD consumer nVidia card with HDMI out and onboard audio that can be converted to a working Quadro model card and is equal to or outperforms my AMD I would gladly switch. ÂFrom what I have seen the Quadro 2000 is the earliest model with onboard audio, and none of them have HDMI out so you would need a DisplayPort to HDMI adapter, plus they cost double what I paid for my card. ÂIf you compare passmark benchmarks my card has a 60% performance gain over a Quadro K2000, and 30% over the Quadro 4000 which costs four times as much. ÂGoing back to the lack of demonstration videos really makes me wary of throwing that much money into a "possible" alternative, especially one that performs worse than my current. ÂWhile I have seen emails mentioning Quadro, that's about it. ÂNo instructions or demonstration videos or performance comparisons. ÂMakes me a bit wary about dropping four times the cost of my current card for less performance when the only supporting documents are various emails and a wiki page.
Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.