Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #189050 > unrolled thread

Re: Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43

Started byRamon Hofer <ramonhofer@bluewin.ch>
First post2017-11-17 00:00 +0100
Last post2017-11-17 20:20 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.debian.user


Contents

  Re: Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code  43 Ramon Hofer <ramonhofer@bluewin.ch> - 2017-11-17 00:00 +0100
    Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43 "Alexander V. Makartsev" <avbetev@gmail.com> - 2017-11-17 09:20 +0100
      Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43 Ramon Hofer <ramonhofer@bluewin.ch> - 2017-11-17 20:20 +0100

#189050 — Re: Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43

FromRamon Hofer <ramonhofer@bluewin.ch>
Date2017-11-17 00:00 +0100
SubjectRe: Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43
Message-ID<uMBix-5oq-11@gated-at.bofh.it>
Dear Alexander,

Thanks for your reply and sorry for my late response.
If I may ask you to reply to all and keep me in CC, this way I get the
email in my client and can easily answer.

> On 14.11.2017 02:37, Ramon Hofer wrote:
> > Thank you very much for your reply.
> > Interesting. I thought I was just not able to setup KVM / QEMU
> > properly. Because I read and heard that NVidia deliberately switches
> > the card off when the driver detects that it is virtualised.
> >
> > I am using the newest BIOS version (updated on Sunday) on the
> > motherboard: 
> > Supermicro C7Z170-M
> > BIOS Version: 2.0a
> > BIOS Tag: 1088B
> > Date: 07/17/2017
> > Time: 15:51:37
> >
> > Unfortunately I do not know anything about a bioy\uefi firmware
> > bug. Is this a known issue of my mainboard version?
> >
> > In the BIOS for the "Boot mode select" setting, I have chosen
> > "Legacy" (there would also be "UEFI" or "DUAL"). Do you think it
> > might be worth trying to change it to the other two?
> 
> I can't tell for sure if it will help. Basically, you have to enable
> VT-d, IOMMU in BIOS and stick with it.

I have enabled VT-d but could not find IOMMU in the BIOS.
But since:

> You can check if all features of QEMU are enabled on your host by
> typing: $ virt-host-validate

The command reports everything enabled.

virt-host-validate: https://pastebin.com/FUbNst11


> > I have uploaded dmesg output if it helps:
> > dmesg: https://pastebin.com/79Us7WMf
> >
> > In the Windows 7 guest, the reported IDs are:
> > VEN_ID: 10DE
> > DEV_ID: 1B06
> >
> > The driver version in the Windows 7 guest is:
> > 23.21.13.8813 (Date: 27.10.2017)
> >
> I'd try different versions of nVidia drivers, not only most recent one
> and perform clean install of the drivers.

Just to be sure: I do not need the drivers on the Debian host since the
GPU is passed through to the guest. I had clean installs of everything.
I will have to look at the weekend for an older driver and test it...


> > I have [...] postponed the purchase due to lack of patience.
>
> You can download and try Windows 10 for free and play with it for a
> 90-days trial period. Get the regular one, not LTSB.
> https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise
> Might be your best bet to try KVM with Windows 10 guest without
> spending any money.

Thanks for the tip. I created a Windows 10 Enterprise AMD64 guest.
Unfortunately with the same result.


Some other thing I was thinking: I read on the Supermicro homepage that
the C7Z170-M supports 7th generation i7s (like my i7-7700K). But in the
printed manual it was written that it only supports 6th Generation i7.
But then I gues it would not even boot up, if the CPU was not
supported. And the following findings also say otherwise.


To test if the card is not dead, I have just removed the nouveau
blacklist, and the options vfio-pci ids=10de:1b06,10de:10ef
in /etc/modprobe.d/vfio.conf.
After a reboot, I then installed nvidia-detect, nvidia-driver, and
nvidia-xconfig, as well as task-xfce-desktop on the Debian 9 host.
But when I booted, the display of the NVidia card remained black (just
like previously in the Debian guests). It is still possible to
Alt+Ctrl+F1 into a different terminal.
Then I reset the BIOS setting to the defaults and booted again into the
original Debian 9 host's XFCE4. This time it worked. I am now running
unigine benchmark and it runs quite well.


Now I think I do not understand the basic concept of PCI passthrough
correctly.
I have added again the /etc/modprobe.d/vfio.conf option and rebooted.
The nouveau driver was already blacklisted by a softlink
to /etc/alternatives/glx--nvidia-blacklists-nouveau.conf.
Probably I have to remove the nvidia-driver again to be able to reserve
the card for KVM?
First I set the primary video card in the BIOS to the internal
graphics of the mainboard/CPU.
Then I have retried it with Windows 10. Still no luck.


Not sure what to try next.
Thanks again for your much appreciated help and time.


Best regards,
Ramon

[toc] | [next] | [standalone]


#189061 — Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43

From"Alexander V. Makartsev" <avbetev@gmail.com>
Date2017-11-17 09:20 +0100
SubjectRe: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43
Message-ID<uMK2t-2GM-3@gated-at.bofh.it>
In reply to#189050

[Multipart message — attachments visible in raw view] — view raw

On 17.11.2017 03:57, Ramon Hofer wrote:

> Thanks for the tip. I created a Windows 10 Enterprise AMD64 guest.
> Unfortunately with the same result.
>
>
> Some other thing I was thinking: I read on the Supermicro homepage that
> the C7Z170-M supports 7th generation i7s (like my i7-7700K). But in the
> printed manual it was written that it only supports 6th Generation i7.
> But then I gues it would not even boot up, if the CPU was not
> supported. And the following findings also say otherwise.
>
>
> To test if the card is not dead, I have just removed the nouveau
> blacklist, and the options vfio-pci ids=10de:1b06,10de:10ef
> in /etc/modprobe.d/vfio.conf.
> After a reboot, I then installed nvidia-detect, nvidia-driver, and
> nvidia-xconfig, as well as task-xfce-desktop on the Debian 9 host.
> But when I booted, the display of the NVidia card remained black (just
> like previously in the Debian guests). It is still possible to
> Alt+Ctrl+F1 into a different terminal.
> Then I reset the BIOS setting to the defaults and booted again into the
> original Debian 9 host's XFCE4. This time it worked. I am now running
> unigine benchmark and it runs quite well.
>
>
> Now I think I do not understand the basic concept of PCI passthrough
> correctly.
> I have added again the /etc/modprobe.d/vfio.conf option and rebooted.
> The nouveau driver was already blacklisted by a softlink
> to /etc/alternatives/glx--nvidia-blacklists-nouveau.conf.
> Probably I have to remove the nvidia-driver again to be able to reserve
> the card for KVM?
> First I set the primary video card in the BIOS to the internal
> graphics of the mainboard/CPU.
> Then I have retried it with Windows 10. Still no luck.
>
>
> Not sure what to try next.
> Thanks again for your much appreciated help and time.
>
>
> Best regards,
> Ramon
How many video adapters in your host machine? In BIOS you have to select
video adapter to be initialized first (ex. IGFX). It has to be other
than GTX1080, and you can't use 1080 in your host OS if you want it to
be passed through to guest OS. This is the reason why you need vfio stub
drivers, to protect 1080 from host OS interference.

I think, I can't provide information on the subject more than what is in
ArchWiki already.
Personally, I think nVidia's anti-VM driver protection is the cause of
your problems. At least because you have proper VEN_ID&DEV_ID for the
video card in guest OS, which means you did installation of stub drivers
(vfio) right in host OS.
This article session suggests that last unprotected driver version was
337.88 which means you won't be able to install it on Windows 10 guest
and your Pascal-based video card is not supported by it.
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#.22Error_43_:_Driver_failed_to_load.22_on_Nvidia_GPUs_passed_to_Windows_VMs
So blindly installing previous versions of nVidia drivers won't work,
and the next step should be to fool Anti-VM driver protection with
workarounds described in this article section:
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Troubleshooting

-- 
With kindest regards, Alexander.

⢀⣴⠾⠻⢶⣦⠀ 
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀⠀⠀⠀ 

[toc] | [prev] | [next] | [standalone]


#189089 — Re: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43

FromRamon Hofer <ramonhofer@bluewin.ch>
Date2017-11-17 20:20 +0100
SubjectRe: KVM PCI Passthrough NVidia GeForce GTX 1080 Ti error code 43
Message-ID<uMUlc-Jd-3@gated-at.bofh.it>
In reply to#189061
Dear Alexander,

On Fri, 17 Nov 2017 13:09:38 +0500
"Alexander V. Makartsev" <avbetev@gmail.com> wrote:

> How many video adapters in your host machine? In BIOS you have to
> select video adapter to be initialized first (ex. IGFX). It has to be
> other than GTX1080, and you can't use 1080 in your host OS if you
> want it to be passed through to guest OS. This is the reason why you
> need vfio stub drivers, to protect 1080 from host OS interference.

On the host machine I have the integrated graphics and the additional
NVidia card.

Not sure how to initialize it first. But I have chosen IGFX to be the
default.
The BIOS is shown on the monitor attached to the IGFX.
In the first setting I disabled the NVidia card I believe. Now it is
activated but not the primary card.

Thank you a lot for the explanations. I have a monitor attached to the
GTX1080, but only because I will want to use it in the guest.

I will check the configuration of the host: No NVidia driver,
blacklisted nouveau, vfio stub, and all of the virsh settings.
Also I will try a clean install of the host system and recreate the
guest(s).

What I just did is applying the virsh edit vendor_id and hidden state
settings:
/etc/libvirt/qemu/win10.xml: https://pastebin.com/7Rewq21Y

Then I started the Windows 10 guest and after checking that it did not
help, removed the GeFore card and the PCI devices in the Windows "device
drivers" screen. I then shut down the guest, removed and readded the
PCI devices in virt-manager and restarted the guest, made Windows
reinstall the driver, rebooted the guest again and still find the
error 43.

What makes me wonder: You write that the deliberate disabling of the
card is only implemented in the Windows version of the driver. But I
do find the same error using a Debian 9 guests.

Do you have any other ideas what I could try?


Thanks and best regards,
Ramon

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web