[vfio-users] NVIDIA driver crash based on Seabios in libvirt

Eddie Yen missile0407 at gmail.com
Thu Dec 24 03:29:04 UTC 2015


Update:

I tried Aaron's suggestion, and tested QEMU patch on Q35 / Seabios

QEMU verison: 2.4.93 (2.5.0-rc3) from Fedora rawhide repo
libvirt version: 1.3.0 from Fedora rawhide repo

And the results are:

1. Q35 / x-vga=on / with graphic >>> blank screen with Code 12
2. Q35 / non x-vga=on / with graphic >>> Same as 1.
3. Q35 / non x-vga=on / without graphic >>> VM hangs
4. Q35 / x-vga=on / without graphic >>> Worked


Seems like NVIDIA driver still can't let graphic device exist on Seabios.

2015-12-24 0:20 GMT+08:00 Eddie Yen <missile0407 at gmail.com>:

> For Q35, try upgrading to rawhide components (qemu 2.5.0 + libvirt 1.3).
> I could not get my OVMF+Q35 setup to work with the stock Fedora 23 versions
> (was getting the same Code 10 error from the NVIDIA drivers; I have a GTX
> 970).  FWIW, I don’t seem to need the "x-vga=on" parameter with OVMF+Q35 (I
> did need it with an earlier setup, using the same hardware, where I was
> using SeaBIOS+i440fx instead).
>
> As I known, need to add x-vga=on if using Seabios, otherwise it's
> unnecessary to add it using OVMF, or may want to bring GPU as secondary
> card in VM.
>
>
> Anyway, for the Code 10 error, I suspect it might be the following commit
> from Alex that fixed it for me:
>
>
>
> http://git.qemu.org/?p=qemu.git;a=commit;h=0282abf078c3353a178ab77a115828ce333181dd
>
>
> You can keep your stock Fedora 23 install and upgrade just the qemu
> packages using these commands:
>
>
> sudo dnf install fedora-repos-rawhide
>
> sudo dnf install —enablerepo rawhide libvirt
>
>
> There are also kernel bugs related to MTRR in 4.2.7.  If you want to give
> your Windows VM more than 2.5GB of RAM, you may need the patches from here:
>
>
> https://bugzilla.kernel.org/show_bug.cgi?id=107561
>
>
> Well, either that, or downgrade to the 4.1 kernel.  I'm actually using the
> latest from git (4.4.0-rc6) with the 2 patches from bug 107561 above.
> Guest is Windows 10 with the latest NVIDIA driver package (361.43).  I
> haven’t tried both passthrough + graphic at the same time as you are, I’m
> using the passthrough video only.
>
>
> -Aaron
>
> Thanks about these information, I'll try it and send the result messages
> in these days.
>
> -Eddie
>
> 2015-12-24 0:00 GMT+08:00 Aaron Campbell <aaron at monkey.org>:
>
>> On Dec 23, 2015, at 2:11 AM, Eddie Yen <missile0407 at gmail.com> wrote:
>>
>> Update:
>>
>> Today I'm doing few tests on my 4820K+X79 platform.
>> The Host is already upgraded to Fedora 23, which QEMU was upgraded to
>> v2.4.1, and the kernel was 4.2.7-fc23
>> Then, same as previous, using GTX980 as guest VM card. And guest was
>> Windows 7.
>>
>> Here is my results.
>>
>> 1. Q35 / x-vga=on / without graphic >>> Got monitor but Code 10
>> 2. Q35 / non x-vga=on / with graphic >>> Blank monitor + Code 10
>> 3. Q35 / x-vga=on / with graphic >>> Same as 2
>>
>>
>> For Q35, try upgrading to rawhide components (qemu 2.5.0 + libvirt 1.3).
>> I could not get my OVMF+Q35 setup to work with the stock Fedora 23 versions
>> (was getting the same Code 10 error from the NVIDIA drivers; I have a GTX
>> 970).  FWIW, I don’t seem to need the "x-vga=on" parameter with OVMF+Q35 (I
>> did need it with an earlier setup, using the same hardware, where I was
>> using SeaBIOS+i440fx instead).
>>
>> Anyway, for the Code 10 error, I suspect it might be the following commit
>> from Alex that fixed it for me:
>>
>>
>> http://git.qemu.org/?p=qemu.git;a=commit;h=0282abf078c3353a178ab77a115828ce333181dd
>>
>> You can keep your stock Fedora 23 install and upgrade just the qemu
>> packages using these commands:
>>
>> sudo dnf install fedora-repos-rawhide
>> sudo dnf install —enablerepo rawhide libvirt
>>
>> There are also kernel bugs related to MTRR in 4.2.7.  If you want to give
>> your Windows VM more than 2.5GB of RAM, you may need the patches from here:
>>
>> https://bugzilla.kernel.org/show_bug.cgi?id=107561
>>
>> Well, either that, or downgrade to the 4.1 kernel.  I'm actually using
>> the latest from git (4.4.0-rc6) with the 2 patches from bug 107561 above.
>> Guest is Windows 10 with the latest NVIDIA driver package (361.43).  I
>> haven’t tried both passthrough + graphic at the same time as you are, I’m
>> using the passthrough video only.
>>
>> -Aaron
>>
>> 4. i440fx / x-vga=on / with graphic >>> Both monitor and VNC got blank
>> 5. i440fx / non x-vga=on / with graphic >>> BSOD 0x3B
>> 6. i440fx / x-vga=on / without graphic >>> Works
>>
>> But if using AMD V4800 as guest card then using method 5, it works.
>>
>> So this may proved that Alex talked about before, it's impossible to make
>> graphic and pass-through GPU exist together.
>> Only AMD, and NVIDIA card that Quadro K2200 and higher can be as
>> secondary GPU (As I know, it's possible to make VNC (Spice) and monitor
>> worked at the same time on Windows 10, just different resolution).
>>
>> I'll try to get K2200 if I got enough budget.
>>
>> 2015-12-22 10:04 GMT+08:00 Eddie Yen <missile0407 at gmail.com>:
>>
>>> Hello, everyone.
>>>
>>> These days I'm testing about NVIDIA cards on Seabios based VM.
>>> And I found that if using libvirt to boot up VM, may cause BSOD if using
>>> kvm=off.
>>> But if using QEMU command to launch, I got no issues.
>>>
>>> I googled, and found that libvirt still had this issue.
>>> And sometimes I need to use Seabios because I had few NVIDIA cards that
>>> didn't support UEFI.
>>>
>>> Here is my QEMU command
>>>
>>> http://pastebin.com/TcPswnjH
>>>
>>> And here is my libvirt XML
>>>
>>> http://pastebin.com/vwScrVZs
>>>
>>> The libvirt is created by virt-manager and edited manually.
>>>
>>> Many thanks,
>>> Eddie.
>>>
>>
>> _______________________________________________
>> vfio-users mailing list
>> vfio-users at redhat.com
>> https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20151224/9df0c31b/attachment.htm>


More information about the vfio-users mailing list