VGA Passthrough error: Device does not support requested feature x-vga

Discussion in 'Proxmox VE: Installation and configuration' started by Char, Jul 16, 2017.

  1. Char

    Char New Member

    Joined:
    Jul 16, 2017
    Messages:
    2
    Likes Received:
    0
    Hello friends,

    I use PVE 4.4 and want to passthrough ATI 6450 (UEFI Compatble) to virtual machine Windows 10 x64

    When I simply add
    Code:
    hostpci0: 01:00, x-vga=on, pcie=1
    in vmid.conf file, I get error:

    and I can see, that PVE make wrong passthrough string:

    Code:
    -device 'vfio-pci,host=01:00.1,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,x-vga=on,multifunction=on'
    -device 'vfio-pci,host=01:00.0,id=hostpci0.1,bus=ich9-pcie-port-1,addr=0x0.1' 
    01:00.0 - videoadapter
    01:00.1 - is a sound device of videoadapter

    if I change this string to correct value:

    Code:
    -device 'vfio-pci,host=01:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,x-vga=on,multifunction=on'
    -device 'vfio-pci,host=01:00.1,id=hostpci0.1,bus=ich9-pcie-port-1,addr=0x0.1'
    
    and run manually from command line:

    Code:
    #!/bin/sh
    /usr/bin/kvm -id 100 -chardev 'socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait' \
    -mon 'chardev=qmp,mode=control' -pidfile /var/run/qemu-server/100.pid -daemonize \
    -smbios 'type=1,uuid=3e4d90f4-734f-4bad-83fe-3d1d7556516b' -name win10 -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults \
    -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vga none -nographic -no-hpet \
    -cpu 'kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,enforce,kvm=off' \
    -m 8192 -k en-us \
    -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
    -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
    -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
    -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' \
    -device 'vfio-pci,host=01:00.0,id=hostpci0.0,bus=pci.0,addr=0x10.0,x-vga=on,multifunction=on' \
    -device 'vfio-pci,host=01:00.1,id=hostpci0.1,bus=pci.0,addr=0x10.1' \
    -device 'vfio-pci,host=06:00.0,id=hostpci1,bus=pci.0,addr=0x11' \
    -device 'vfio-pci,host=05:00.0,id=hostpci2,bus=pci.0,addr=0x1b' \
    -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:237f992a4ebe' \
    -drive 'file=/vmprox/template/iso/virtio-win-0.1.137.iso,if=none,id=drive-ide0,media=cdrom,aio=threads' \
    -device 'ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=200' \
    -drive 'file=/vmprox/template/iso/ru-en_windows_10_x86-x64_20in1_KMS-activation.iso,if=none,id=drive-ide2,media=cdrom,aio=threads' \
    -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=201' \
    -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' \
    -drive 'file=/vmdata/images/100/vm-100-disk-3.raw,if=none,id=drive-scsi1,format=raw,cache=none,aio=native,detect-zeroes=on' \
    -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1' \
    -netdev 'type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' \
    -device 'e1000,mac=CA:75:AC:33:D4:07,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -rtc 'driftfix=slew,base=localtime' \
    -global 'kvm-pit.lost_tick_policy=discard'
    vga passthrough work perfectly.

    In case x-vga=on, but no pcie
    Code:
    hostpci0: 01:00, x-vga=on
    problem remains the same:

    PVE make wrong strings:
    Code:
    -device 'vfio-pci,host=01:00.1,id=hostpci0.0,bus=pci.0,addr=0x10.0,x-vga=on,multifunction=on' \
    -device 'vfio-pci,host=01:00.0,id=hostpci0.1,bus=pci.0,addr=0x10.1' \
    
    and generate error, wnen i start vm.

    if i change to correct values:
    Code:
    -device 'vfio-pci,host=01:00.0,id=hostpci0.0,bus=pci.0,addr=0x10.0,x-vga=on,multifunction=on' \
    -device 'vfio-pci,host=01:00.1,id=hostpci0.1,bus=pci.0,addr=0x10.1' \
    
    and run vm from console, all works perfectly.


    I get this problem with q35 chipset and i440fx chipset with both ovmf and seabios.

    Does anyone knows how to solve this problem?
     
    #1 Char, Jul 16, 2017
    Last edited: Jul 16, 2017
  2. dcsapak

    dcsapak Proxmox Staff Member
    Staff Member

    Joined:
    Feb 1, 2016
    Messages:
    2,524
    Likes Received:
    226
    yes this is a bug, which is/will be fixed in qemu-server 4.0-111
    as a workaround you can write:

    Code:
    hostpci0: 01:00.0;01:00.1,x-vga=on
    
     
    Char likes this.
  3. Char

    Char New Member

    Joined:
    Jul 16, 2017
    Messages:
    2
    Likes Received:
    0
    Thank you, can you post me a link to this bug on proxmox ve bugzilla (or maillist)?

    UPD: Is that right Bugzilla link for this bug?
     
    #3 Char, Jul 18, 2017
    Last edited: Jul 18, 2017
  4. dcsapak

    dcsapak Proxmox Staff Member
    Staff Member

    Joined:
    Feb 1, 2016
    Messages:
    2,524
    Likes Received:
    226
    yes
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice