1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

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,003
    Likes Received:
    175
    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,003
    Likes Received:
    175
    yes
     

Share This Page