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

Re: [vfio-users] nVidia Code 43

I have a theory I am playing with now that it could be something to do with the PCI id's of the parts of the card. On the host machine they are as follows:

06:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 690] (rev a1)
06:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
07:00.0 3D controller: NVIDIA Corporation GK104 [GeForce GTX 690] (rev a1)
07:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)

I am going to try and replicate these Id's as close as possible within a Linux VM and then install Windows in that VM once I succeed. With a bit of luck it will then stop Code 43'ing. I will get back to you and let you know either way.

On Fri, 11 Dec 2015 at 10:28 Alan Jenkins <alan james jenkins gmail com> wrote:

Hmm I am starting to think that this is not nVidia's monkeying with the driver.  I just tried installing driver 337.50 which I believe is from before they "accidentally" added the bugs that cause us problems and I am still getting Code 43.

With regards to the ignore_msrs option for KVM it has been enabled during all of my recent testing as I read that that helps.

To summarise what I have tried so far:

* Double checked that PCI-E power connectors are plugged into the card properly (they were and the card was working fine in windows but checked anyway to rule it out).

* Tried both q35 and i440FX chipsets.

* Installed nVidia's 337.50 beta driver which I believe was from before the restrictions.

Is there any possibility that there is some quirk with passing through a gtx690 as it is a dual GPU card? Has anyone else had success with one?


Alan Jenkins

On Fri, 11 Dec 2015 10:04 Hristo Iliev <hristo hiliev eu> wrote:
On Fri, 11 Dec 2015 08:08:41 +0000
Alan Jenkins <alan james jenkins gmail com> wrote:

> Hey guys,
> I have spent the last 2 days experimenting trying to get my GTX690 passed
> through to a Windows 10 guest and since succeeding have been getting
> nothing but Code 43 errors.
> In Windows 10 I am currently using the latest nVidia driver (359.06).
> My libvirt xml is here http://pastebin.com/KY9QWhcu note that there is a
> device commented out from passthrough, that is a PCI express SSD which I
> will be trying to make work but for the time being I am focusing on
> getting getting the GTX 690 to function (remember it is a dual GPU card
> which is why there is so much forwarded).
> I am running Arch Linux with the linux-vfio-lts kernel from AUR as I
> discovered the hard way that there is currently a bug in the normal
> kernels that causes passthrough to hang the VM while it is loading
> Windows and cause the host machine to stutter. The exact kernel version
> is: 4.1.13-1-vfio-lts #1 SMP PREEMPT Thu Dec 10 13:21:54 GMT 2015 x86_64
> GNU/Linux.
> My libvirt version is: 1.3.0-1.
> My Tianocore uefi is from this RPM:
> edk2.git-ovmf-x64-0-20151209.b1361.gfaec499.noarch.rpm
> Have nVidia stepped up their efforts to block us from using vga
> passthrough or is there something I have missed in my XML that could be
> indicating to the driver that it is running in a VM which then causes it
> to Code 43 me?

Hi Alan,

Besides switching to a 440FX machine type, try also commenting out the

    <relaxed state='off'/>
    <vapic state='off'/>
    <spinlocks state='off'/>

My Windows 10 VM (working XML config attached) works fine without it and I
regularly update the driver via NVIDIA Experience. For the latter to work,
add to /etc/modprobe.d/kvm.conf the following (create the file if it
doesn't exist):

options kvm ignore_msrs=1

While not strictly needed for the NVIDIA driver to work, it makes some
programs that probe for various CPU features, including NVIDIA
Experience, happy.



> Thanks for any help in advance,
> Alan Jenkins

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