On Wed, 07 Oct 2020 19:59:36 +0100 steve <steve@xxxxxxxxxxxxxxx> wrote: > -------- Original message -------- > From: Alex Williamson <alex.williamson@xxxxxxxxxx> > Date: 07/10/2020 18:08 (GMT+00:00) > To: Steven Newbury <steve@xxxxxxxxxxxxxxx> > Cc: Peter Krempa <pkrempa@xxxxxxxxxx>, libvir-list@xxxxxxxxxx > Subject: Re: [PATCH] Support x-vga=on for PCI host passthrough devices > > On Wed, 07 Oct 2020 14:20:21 +0100 > Steven Newbury <steve@xxxxxxxxxxxxxxx> wrote: > > > On Wed, 2020-10-07 at 15:07 +0200, Peter Krempa wrote: > > > On Wed, Oct 07, 2020 at 13:59:35 +0100, Steven Newbury wrote: > > > > When using a passthrough GPU with libvirt there is no option to > > > > pass "x-vga=on" to the device specification. This means legacy > > > > > > Please note that we don't add support for experimental qemu features > > > (prefixed with "x-") until they are deemed stable and the x- is > > > removed, so this patch can't be accepted in this form. > > > > > Okay, so should I bug qemu to promote the feature to stable? It's been > > like that forever, it's certainly not a new feature: > > > > https://github.com/qemu/qemu/commit/f15689c7e4422d5453ae45628df5b83a53e518ed > > > > So it's been that way for 8 years! > > It's that way upstream because VGA routing is a nightmare, it's > essentially broken on any system with Intel graphics because the device > always has VGA regions routed to itself. That problem is not getting > better, but the demand for VGA is getting less, so there's very little > incentive to work on the problem rather than just letting it die out > once nobody cares about VGA. Any 600 series or newer GeForce card > should have a UEFI ROM available. Also note that VGA support can be > configured both as a module option of vfio-pci and a build option, so > there's no guarantee that a display class device will have the VGA > regions available for QEMU to use this option. Thanks, > > I'm still going to fix up my patch even if it's not going to get > committed. It's very useful for me, my old nvidia card doesn't work > without it, and I also need it for seabios/dos compatibility with my > ATIs. In fairness, I haven't tried it with my Intel, it's too old to > support the new vGPU stuff and I need to see what I'm typing! ;-) > > For what it's worth, I had no trouble with GPU passthrough once I > realised it needed x-vga=on. VGA arbitration was automatically > switched. It's been rock solid stability wise, although the 8800 has > horrible VGA/DOS performance. Windows10 runs like on bare metal. Are you aware that you can add arbitrary options to devices using the <qemu:commandline> support in libvirt? For example: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> ... <devices> ... <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> <alias name='ua-geforce8800'/> </hostdev> ... </devices> <qemu:commandline> <qemu:arg value='-set'/> <qemu:arg value='device.ua-geforce8800.x-vga=on'/> </qemu:commandline> </domain> This is generally how users make use of unsupportable or not-yet-supported QEMU features while still using libvirt to manage the VM. Thanks, Alex