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

Re: [Xen-users] VGA Passthru - FLR?

A few things I can add...

My card is a Sapphire Radeon HD 6770. And I'm currently using catalyst version 12-10.

I *never* got windows xp to use the passed through gfx card unless I set "stdvga=1" (which means to replace the cirrus logic card (that works in winxp) with another (that doesn't work in xp), so it then uses the secondary gpu like I wanted. Win7 and 8 work without this. (and FYI xp is the worst performer by far, maybe from a xen bug that only affects AMD cpus, and 4.2.x is unusably slow in xp, definitely a bug affecting just AMD)

I very rarely get any problem booting and getting graphics to work, and never on the first boot. Every time there is an error, it is from a "restart" (such as a windows update) instead of a "shutdown" and "start", like Casey described. However, when this happens, I can simply "xm destroy ..." and "xm create ..." again, and it works 100%.

I have never needed to reboot dom0 to start a vm, except:
1. to get my USB IRQ to work again in dom0 (without this, my keyboard and mouse are laggy and miss keystrokes). I have passed through a USB controller that lacks FLR, so if the vm dies incorrectly [not a shutdown], dom0 broadcasts that it is disabling an irq. If I start the domu again, the usb works fine in domu, but never dom0 until reboot. (I've only caused this with crashing domu's from kernel oopses from #2, and with gplpv network drivers which never seem to work right for me)
2. testing broken kernels (3.7-rc2, etc. with broken network) (in this case, every domu I try to create after the first problem starts with a blank screen, and vnc usually is blank or just says "parallell0" instead of a console screen)

And last, contradictory to what the others said, win7 gfx passthrough never worked for me without installing the catalyst drivers first in winxp or win7. Win8 worked though, one time even in the installer (depends on whether the monitor is plugged in at the right time I think).

On 2013-03-05 05:25, Casey DeLorme wrote:
Hello Guilherme, was following your exchange and wanted to see how this turned out.

Secondary Passthrough works with AMD, but for primary you need to apply custom patches.  There is another email chain circling the mailing list with links to some fresh patches.

As Matthias mentioned, passthrough is working, but I am quite certain FLR is interfering which has led to driver related BSoD's.

My understanding is that FLR allows a virtual machine to issue a reset to a piece of hardware, and without it that device's state cannot be cleared.  Consumer cards do not come with FLR, and no patch for this is available.

What this means is that when you first boot your virtual machine, the card is initialized and performs just fine.  When you shut down Windows 7 or XP and start either one back up you may encounter a BSoD.  This is because the card is being initialized a second time.

For me and many others rebooting has led to degraded performance instead of a BSoD, which can be fixed by manually ejecting the card with the "safely eject media" tool.  However experiences vary.

I am using an AMD Radeon HD 6870 with 12.10 catalyst drivers, and it is working just fine.  I have had this working in both Windows 7 and Windows 8, but I have no experience with XP.

Keeping in mind that your experience may vary, here is my route to success:

First, backup your Windows HVM before attempting to pass any PCI devices.

Make certain that Dom0 has been freshly booted to ensure that the PCI card only initializes once.  The leading cause to trouble from my experience is passing the card more than once at any point during the installation, which leads to a BSoD during the process OR a badly damaged install which can range from BSoD on reboot only to gradual buggy experiences and BSoD's on first boot.

Prior to passing the PCI card to Windows 7 or Windows 8 be sure to turn off all automatic driver installation settings (there are more than one).  If using Windows 8 do not add the card to the configuration, instead let it boot and then use `xl pci-attach`, since Windows 8 will attempt to install a driver at boot time and reboot without ever displaying anything on screen.

Once the installation has completed it may ask you to reboot, instead shut down Windows and reboot Dom0 then start Windows again.  This avoids any post-install processes from attempting to communicate with the card in its buggy (previously initialized) state, which could muck up the installation.

I have used the above rules successfully more than a dozen times now, and never once had a BSoD when I followed them.

Finally, the reason for the backup at the beginning is that anytime I failed to follow the above rules, I was not able to fix the problem by removing and installing the drivers again.  In fact, that never once worked and I wasted a few days trying several times without success.  So in short, if you fail don't bother removing the drivers and trying again, instead restore from an image backup of the machine that has never once seen your PCI device.

I hope this information helps.


Casey DeLorme

On Mon, Mar 4, 2013 at 9:43 PM, Guilherme Suzuki <suzuki.gui@xxxxxxxxx> wrote:
Matthias, hi!

I've tried Catalyst 12.10 and even 12.1, but xen behavior kept the same on and on (VGA passthru worked only as secondary device and dom0 freshly rebooted). As requested, I'm sending you the hvm configuration files from windows-xp and windows-7, my lspci -vv, uname and the kernel configuration file.

Do you have any idea how I can make this work?

2013/3/4 Guilherme Suzuki <suzuki.gui@xxxxxxxxx>


I'm gonna try catalyst 12-10 (after deinstalling and checking if the passthru works rebooting and so on).

I'll send my domU config as soon as I get home.

One more question: does it matter if I use intel onboard graphics with the dom0 and xen-pciback(radeon device pci)? Cause that would be the reason primary VGA passthru did not work...

Thx, xen guys are awesome! =D

On Mar 4, 2013 2:07 PM, "Matthias" <matthias.kannenberg@xxxxxxxxxxxxxx> wrote:


good news, since you said your winxp was able to boot with vga
passthrough just fine, your FLR seems to work fine and this might
'only' be a driver-related problem.

What you can do is deinstall your catalyst drivers. After rebooting,
Win7 will fallback on a windows-standard driver for the vga but when
it correctly says the vga name (like ATI Radeion HD whatever Series),
it actually is falling back to an older catalyst version which is
shipped per default with windows. I have found this much more stable
on reboots then the newest driver. Also, deinstall Catalyst / Vision
control center and at best everything the catalyst installer lets you

If vga passthrough works without all the drivers and you really want
the latest and greatest catalyst, i recommend not using the latest
13-1 because it creates a similar behavior you mentioned on my
machine. But catalyst 12-10 seems to work fine, so i would advice you
trying that one.

If it still doesn't work with deinstalled drivers, we can try a patch
i'm currently testing.. But this the patch is somewhat complicated to
install, let's stick with the simple things for the moment.

Also, your domU config still would be of help ruling out some
misconfiguration there..

2013/3/4 Guilherme Suzuki <suzuki.gui@xxxxxxxxx>:
> Sorry (hit send).
> So, the radeon device tells it couldnt start itself (code 10) and cirrus
> d...


Guilherme Suzuki
Consultor em TI para projetos Microsoft
11 - 992360535
11 - 20990757

Xen-users mailing list

Xen-users mailing list


Peter Maloney
Brockmann Consult
Max-Planck-Str. 2
21502 Geesthacht
Tel: +49 4152 889 300
Fax: +49 4152 889 333
E-mail: peter.maloney@xxxxxxxxxxxxxxxxxxxx
Internet: http://www.brockmann-consult.de
Xen-users mailing list



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