Thanks! I`ll try it and post my results and configsyou can use pvetest repository, my last updates are already applied
deb http://download.proxmox.com/debian jessie pvetest
Thanks! I`ll try it and post my results and configsyou can use pvetest repository, my last updates are already applied
deb http://download.proxmox.com/debian jessie pvetest
bios: ovmf
boot: c
bootdisk: virtio0
cores: 2
hostpci0: 01:00,pcie=1,x-vga=on
ide0: iso1:iso/virtio-win-0.1.112.iso,media=cdrom,size=55592K
machine: q35
memory: 4096
name: win1
net0: e1000=32:33:62:38:63:35,bridge=vmbr0
numa: 0
ostype: win8
scsihw: virtio-scsi-pci
smbios1: uuid=6b380506-55b3-4c7e-a4cb-caacded045fe
sockets: 1
usb0: host=3-1
usb1: host=1-4
virtio0: local:100/vm-100-disk-1.qcow2,size=32G
Thanks for sharing the conf !Yaay!! it works! many thanks!
It took me 3 weeks of struggle!
my hw is
gigabyte 650ti
i5-3470
mb asus P8Q77M2
config
Can you send the vm config ?also, i`ve tried it on some old and cheap ati5450 - no luck.
And if I reboot the wm - no signal on the monitor, I have to reboot the host. any way to fix this?
for intel, I have seen some improvements in last kernel 4.4. So it's better to wait for proxmox 4.2 in some month to test it again.also, is there any way I can put my internal hd4000 to another linux wm(I want some machine with kodi mediacenter)?
YESSS !
can you send your
- vmid.conf
- #pveversion -v
- maybe other tuning done in grub
I'll update the wiki
my email can be public : aderumier@odiso.com
No need to paypal, I'm glad to help the proxmox community.
And thank you to have take time to test, because my geforce 970 is not able to passthrough currently, so I'm blind for testing currently
bootdisk: sata0
cores: 2
hostpci0: 01:00,pcie=1,x-vga=on
ide2: local:iso/virtio-win.iso,media=cdrom
machine: q35
memory: 6000
name: Win7
net0: e1000=36:31:62:36:30:37
numa: 0
ostype: win7
sata0: Tank:vm-100-disk-1,cache=writeback,size=32G
smbios1: uuid=cc892184-b29d-4193-8f8f-378ba36c538a
sockets: 1
usb0: host=1-10.1
usb1: host=1-10.2
usb2: host=1-10.3
usb3: host=1-4
sureThanks for sharing the conf !
Can you send the vm config ?
But this blog post said it's working for 5450.
http://vfio.blogspot.be/2014/08/dual-vga-assignment-geforce-radeon.html
for intel, I have seen some improvements in last kernel 4.4. So it's better to wait for proxmox 4.2 in some month to test it again.
cat /etc/pve/qemu-server/100.conf
agent: 1
bios: ovmf
boot: c
bootdisk: virtio0
cores: 4
hostpci0: 01:00,pcie=1,x-vga=on
machine: q35
memory: 6144
name: win1
net0: e1000=32:33:62:38:63:35,bridge=vmbr0
numa: 0
onboot: 1
ostype: win8
scsihw: virtio-scsi-pci
smbios1: uuid=6b380506-55b3-4c7e-a4cb-caacded045fe
sockets: 1
usb0: host=3-1.6
usb1: host=1-4
virtio0: local:100/vm-100-disk-1.qcow2,size=32G
sure
this is my vm config for nvidia 650ti with freshly installed windows guest
As for ati card - i mistyped hwid in vfio.conf, and I gave it back to my friend, so once I see him again I will try it again.
yes, I changed only hwid in vfio.conf. So, I get it, why ati card did not start at all. anyway, I took it as a test. Do you still need test results with it?Is it the same config for ati card ? (because I don't think it's ovmf/uefi compatible, card is too old)
Any solution with rebooting wm with nvidia card and not showing anything (It works to reboot the host)?
Yes, if I restart windows guest inside, like, I`ve installed some updates - it fails to start video after restart.mmm, it's known that some cards have difficulties for resetting.
Do you reboot inside windows ?
or stop/start vm from proxmox gui directly also fail ?
Hey Sprit yes you are right. I actually moved the card into a different PCI slot and thats why the issue happened. I had forgotten that I moved it. Right now I need to load the vbios manually to get my 16x slot to work. Otherwise I have to move it to my 4x slot. I can do it with tis line.nothing has change in proxmox code, maybe is it related to pve-qemu-kvm package upgrade , or pve-kernel upgrade (vfio framework).
maybe can you try to downgrade them manually ?
(you should have previous version in /var/cache/apt/archives/*.deb)
Hey Sprit yes you are right. I actually moved the card into a different PCI slot and thats why the issue happened. I had forgotten that I moved it. Right now I need to load the vbios manually to get my 16x slot to work. Otherwise I have to move it to my 4x slot. I can do it with tis line.
args: -device vfio-pci,host=01:00.0,bus=pcie.0,addr=09.0,romfile=/root/bios/vbios.rom -cpu host,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=Nvidia43FIX
But it seems to not perform so well.
I noticed that the code proxomx generates is
bus=ich9-pcie-port-1 and I'm wondering if that makes a performance difference?
I tried to let proxmox generate the code itself with
hostpci0: 01:00.0,pcie=1,x-vga=on,romfile=/root/bios/vbios.rom
But that does not work
unable to parse value of 'hostpci0' - format error
romfile: property is not defined in schema and the schema does not allow additional properties
I also tried
args: -device 'vfio-pci,host=01:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,x-vga=on,multifunction=on,romfile=/root/bios/vbios.rom' -cpu host,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=Nvidia43FIX
but that results in a kvm error of Bus 'ich9-pcie-port-1' not found
So I'm kinda poking around in the dark. Do you have any ideas how I can passthrough the card using the default proxmox settings but add a bios rom? thanks buddy
From 37af51077fb1cb42823fc2bbd69c3f32c53e70a5 Mon Sep 17 00:00:00 2001
From: Alexandre Derumier <aderumier@odiso.com>
Date: Fri, 6 Jan 2017 16:57:03 +0100
Subject: [PATCH] add romfile option to hostpci
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
PVE/QemuServer.pm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 3c9d30a..654a985 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -999,6 +999,13 @@ EODESCR
optional => 1,
default => 1,
},
+ romfile => {
+ type => 'string',
+ pattern => '\S+',
+ format_description => 'string',
+ description => "Custom romfile.",
+ optional => 1,
+ },
pcie => {
type => 'boolean',
description => "Choose the PCI-express bus (needs the 'q35' machine model).",
@@ -2908,6 +2915,8 @@ sub config_to_command {
}
my $rombar = defined($d->{rombar}) && !$d->{rombar} ? ',rombar=0' : '';
+ my $romfile = $d->{romfile} if $d->{romfile};
+
my $xvga = '';
if ($d->{'x-vga'}) {
$xvga = ',x-vga=on';
@@ -2934,6 +2943,7 @@ sub config_to_command {
if($j == 0){
$devicestr .= "$rombar$xvga";
$devicestr .= ",multifunction=on" if $multifunction;
+ $devicestr .= ",romfile=$romfile" if $romfile;
}
push @$devices, '-device', $devicestr;
--
can you try this deb ?
http://odisoweb1.odiso.net/qemu-server_4.0-103_amd64.deb
it's add romfile option to hostpci
here the patch, if you want to apply it to your current proxmox
Code:From 37af51077fb1cb42823fc2bbd69c3f32c53e70a5 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier <aderumier@odiso.com> Date: Fri, 6 Jan 2017 16:57:03 +0100 Subject: [PATCH] add romfile option to hostpci Signed-off-by: Alexandre Derumier <aderumier@odiso.com> --- PVE/QemuServer.pm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 3c9d30a..654a985 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -999,6 +999,13 @@ EODESCR optional => 1, default => 1, }, + romfile => { + type => 'string', + pattern => '\S+', + format_description => 'string', + description => "Custom romfile.", + optional => 1, + }, pcie => { type => 'boolean', description => "Choose the PCI-express bus (needs the 'q35' machine model).", @@ -2908,6 +2915,8 @@ sub config_to_command { } my $rombar = defined($d->{rombar}) && !$d->{rombar} ? ',rombar=0' : ''; + my $romfile = $d->{romfile} if $d->{romfile}; + my $xvga = ''; if ($d->{'x-vga'}) { $xvga = ',x-vga=on'; @@ -2934,6 +2943,7 @@ sub config_to_command { if($j == 0){ $devicestr .= "$rombar$xvga"; $devicestr .= ",multifunction=on" if $multifunction; + $devicestr .= ",romfile=$romfile" if $romfile; } push @$devices, '-device', $devicestr; --
I installed the deb. Working great! thanks so much!!
Also for anyone who is in the same situation as me Xeon cpu (no integrated graphics). They may need to dump the bios and use this flag to get the first PCI-e slot working.
I found the instructions on how to dump the bios here incase it helps anyone else.
http://lime-technology.com/forum/index.php?topic=43644.msg482110#msg482110
My machine is a Lenovo TS-140.
vfio-pci 0000:05:00.0: Invalid ROM contents
vfio-pci 0000:04:00.0: BAR 3: can't reserve [mem 0xca000000-0xcbffffff 64bit]
1st issue:
This setup works, but only after a clean boot/reboot of the host. If I reboot the VM, the card doesn't work. In dmesg the following message can be seen:
This thread contains the exact same issue: https://forum.proxmox.com/threads/gpu-passthrough-invalid-rom-contents-after-vm-restart.27583/Code:vfio-pci 0000:05:00.0: Invalid ROM contents
Passing the VGA's BIOS with the romfile option suppresses the error in the dmesg, but the VGA still doesn't want to work.
can you post your vm config file ?2nd issue:
In the Win10 VM there is a HUGE i/o issue. In task manager the disk graph is always around 95-100% with around 1.5-2MB/s io activity. The storage is VirtIO SCSI device using the latest drivers from the Fedora project. :-/ I don't think it a bottleneck of the actual, physical HDD as none of the tools I've tried (top,iotop) shows any significant iowait. (spikes are around max 25-30%). Also, before I've jumped to KVM/Proxmox, this host was running ESXi and running multiple Win10 VMs never were a problem, everything was snappy.
3rd issue:
As I said earlier, the Quadro card is used to boot the host. Now, I've configured it for passthrough, but can't seem to make it work. During boot, the screen of the host goes blank, I guess that when the vfio-pci driver grabs the card, but when I try to boot a VM with it, dmesg shows this error:
Code:vfio-pci 0000:04:00.0: BAR 3: can't reserve [mem 0xca000000-0xcbffffff 64bit]
"video=efifb:off"