Maddeen Posted June 25, 2020 Posted June 25, 2020 (edited) Hi, I need some assistance getting my Win10 VM up and running. Current/main problem: After changing GPU from VNC to my ASUS RogStrix (AMD VEGA 56) the VM seems not to be able to run or receiving a valid IP address. IMHO it must have something to do with the change of the GPU, because before changing (only running with VNC) it works flawless. I was able to connect via VNC Client, WebClient and RDP-Manager - no problems. But as soon as change the GPU (and the sound card as well) to my VEGA 56 the VM doesn't shown up in my LAN. I looked in the VM-LOG, but I can't see anything that could lead me to a solution or even know, what's exactly going on Below you'll find both logs. For better transparency, I'll put some key information what I've done so far / my settings. Set up a Win 10 VM on an unassigned drive (nvme0n1) with the following VM manager settings: network bridge = br0 and PCIe ACS override = “Both” with the following explicit settings for my VM: CPU= host passthrough machine = i440FX-4.2 BIOS = OVMF Hyper-V = No USB Controller = 3.0 (qemu XHCI) Primary vDisk Location = manual = /dev/nvme0n1 Primary vDisk Bus = virtIO GPU = VNC SoundCard = none unRAID confirms via "INFO-PopUp" that HVM and IOMMU are enabled (vt-d = active @ BIOS) Installed the virt-IO driver, updated Win10 with latest patches to get network interface and better display resolution Boot up the VM with GPU = VNC to check, if everything runs fine --> correct IP via DHCP. As mentioned above, connection via VNC and RDP works fine! And now it could be a little bit confusing due to my several tests with different configs - but nothing works. Addition: I already run these commands (listed in another thread HERE) to get rid of the mmap-error - that worked! But sadly it seems, that there is another problem.... echo 0 > /sys/class/vtconsole/vtcon0/bind echo 0 > /sys/class/vtconsole/vtcon1/bind echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind First try: I just tried to change GPU and SoundCard to my Vega 56 Result: VM gets no correct IP (gets a 169.xxx.xxx.xxx) - no chance to connect. Try failed! Second try: Changed the GPU/SoundCard and edited the syslinux-config (see below) Result: VM gets no correct IP (gets a 169.xxx.xxx.xxx) - no chance to connect. Try failed! Third try: Changed the GPU/SoundCard and edited the syslinux-config and vm-settings via XML (see below) Result: VM gets no correct IP (gets a 169.xxx.xxx.xxx) - no chance to connect. Try failed! Fourth try: Changed the GPU/SoundCard and edited the syslinux-config and leave the vm-settings untouched (no editing as mentioned below) Result: VM gets no correct IP (gets a 169.xxx.xxx.xxx) - no chance to connect. Try failed! Fifth, sixth, seventh try: Same as above but now with the tree different vbios found here --> Link to TechPowerUPs VEGA56 ASUS vBIOS Result: VM gets no correct IP (gets a 169.xxx.xxx.xxx) - no chance to connect. Try failed! Eight try: Rollback only GPU to VNC without changing syslinux --> VM gets correct IP - connected via VNC and RDP - no problems. Detailed Information for above mentioned edits Edited Syslinux configuration with the following parameter. vfio-pci.ids=1002:687f,1002:aaf8 Those IDs are: [1002:687f] 03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev ff) [1002:aaf8] 03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64] (rev ff) Edited XML-Settings for VM Add a flag on the first virtual line below the BIOS that says multifunction='on' Changed the virtual devices to be on the same bus, and set the functions to the same as their host. <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> </hostdev> VM-Log with GPU set to VEGA 56 2020-06-25 15:40:30.245+0000: starting up libvirt version: 5.10.0, qemu version: 4.2.0, kernel: 4.19.107-Unraid, hostname: v1ew-s0urce LC_ALL=C \ PATH=/bin:/sbin:/usr/bin:/usr/sbin \ HOME=/var/lib/libvirt/qemu/domain-2-1337-Machine \ XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-2-1337-Machine/.local/share \ XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-2-1337-Machine/.cache \ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-2-1337-Machine/.config \ QEMU_AUDIO_DRV=none \ /usr/local/sbin/qemu \ -name guest=1337-Machine,debug-threads=on \ -S \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-1337-Machine/master-key.aes \ -blockdev '{"driver":"file","filename":"/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/etc/libvirt/qemu/nvram/a302cf39-f5ea-18bd-c9a1-3d4b4993bea1_VARS-pure-efi.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine pc-i440fx-4.2,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -cpu host,host-cache-info=on,l3-cache=off \ -m 16384 \ -overcommit mem-lock=off \ -smp 4,sockets=1,cores=2,threads=2 \ -uuid a302cf39-f5ea-18bd-c9a1-3d4b4993bea1 \ -display none \ -no-user-config \ -nodefaults \ -chardev socket,id=charmonitor,fd=34,server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=localtime,driftfix=slew \ -global kvm-pit.lost_tick_policy=delay \ -no-hpet \ -no-shutdown \ -boot strict=on \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.0,addr=0x7 \ -device ahci,id=sata0,bus=pci.0,addr=0x5 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 \ -blockdev '{"driver":"host_device","filename":"/dev/nvme0n1","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-2-format,id=virtio-disk2,bootindex=1,write-cache=on \ -blockdev '{"driver":"file","filename":"/mnt/user/isos/virtio-win-0.1.173-2.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \ -device ide-cd,bus=sata0.1,drive=libvirt-1-format,id=sata0-0-1 \ -netdev tap,fd=36,id=hostnet0,vhost=on,vhostfd=37 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:71:0a:72,bus=pci.0,addr=0x2 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=serial0 \ -chardev socket,id=charchannel0,fd=38,server,nowait \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \ -device usb-tablet,id=input0,bus=usb.0,port=1 \ -device vfio-pci,host=0000:03:00.0,id=hostdev0,bus=pci.0,multifunction=on,addr=0x6 \ -device vfio-pci,host=0000:03:00.1,id=hostdev1,bus=pci.0,addr=0x6.0x1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on 2020-06-25 15:40:30.245+0000: Domain id=2 is tainted: high-privileges 2020-06-25 15:40:30.245+0000: Domain id=2 is tainted: host-cpu char device redirected to /dev/pts/0 (label charserial0) VM-LOG with GPU set to VNC 2020-06-25 16:29:20.485+0000: starting up libvirt version: 5.10.0, qemu version: 4.2.0, kernel: 4.19.107-Unraid, hostname: v1ew-s0urce LC_ALL=C \ PATH=/bin:/sbin:/usr/bin:/usr/sbin \ HOME=/var/lib/libvirt/qemu/domain-3-1337-Machine \ XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-3-1337-Machine/.local/share \ XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-3-1337-Machine/.cache \ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-3-1337-Machine/.config \ QEMU_AUDIO_DRV=none \ /usr/local/sbin/qemu \ -name guest=1337-Machine,debug-threads=on \ -S \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-1337-Machine/master-key.aes \ -blockdev '{"driver":"file","filename":"/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/etc/libvirt/qemu/nvram/a302cf39-f5ea-18bd-c9a1-3d4b4993bea1_VARS-pure-efi.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \ -machine pc-i440fx-4.2,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -cpu host,host-cache-info=on,l3-cache=off \ -m 16384 \ -overcommit mem-lock=off \ -smp 4,sockets=1,cores=2,threads=2 \ -uuid a302cf39-f5ea-18bd-c9a1-3d4b4993bea1 \ -no-user-config \ -nodefaults \ -chardev socket,id=charmonitor,fd=34,server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=localtime,driftfix=slew \ -global kvm-pit.lost_tick_policy=delay \ -no-hpet \ -no-shutdown \ -boot strict=on \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.0,addr=0x7 \ -device ahci,id=sata0,bus=pci.0,addr=0x5 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 \ -blockdev '{"driver":"host_device","filename":"/dev/nvme0n1","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-2-format,id=virtio-disk2,bootindex=1,write-cache=on \ -blockdev '{"driver":"file","filename":"/mnt/user/isos/virtio-win-0.1.173-2.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \ -device ide-cd,bus=sata0.1,drive=libvirt-1-format,id=sata0-0-1 \ -netdev tap,fd=36,id=hostnet0,vhost=on,vhostfd=37 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:71:0a:72,bus=pci.0,addr=0x3 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=serial0 \ -chardev socket,id=charchannel0,fd=38,server,nowait \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \ -device usb-tablet,id=input0,bus=usb.0,port=1 \ -vnc 0.0.0.0:0,websocket=5700 \ -k en-us \ -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,bus=pci.0,addr=0x2 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on 2020-06-25 16:29:20.485+0000: Domain id=3 is tainted: high-privileges 2020-06-25 16:29:20.485+0000: Domain id=3 is tainted: host-cpu char device redirected to /dev/pts/0 (label charserial0) Hopefully that information provide any useful information for somebody who can help me. I tried a lot of different settings - nothing works and I still wonder, that e.g. in SpaceInvaders Video he just changed GPU and Soundcard and everything works fine. He doesn't changed any syslinux configuration nor XML-parameters within the VM-setup -- and it works flawlessly out of the box... 😭 Edited June 26, 2020 by Maddeen Quote
Maddeen Posted June 26, 2020 Author Posted June 26, 2020 (edited) Got it - found out, some settings seems to be self-evident - but not for me 1) Must change primary graphics to iGPU in BIOS 2) Leave iGPU Multi-Monitor disabled in BIOS 3) the HDMI Dummy seems to be placed in the iGPU Port - NOT in the GPU Port. After changing this three settings, everything works fine. Passthrough my Vega works. 🙌 Now back to the fine adjustments and then I'll give remote gaming a chance 🤩🤙 Edited June 26, 2020 by Maddeen Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.