[vfio-users] AMD RX480 Not working with windows

Nick Sarnie commendsarnex at gmail.com
Sat Feb 4 19:01:30 UTC 2017


I couldn't get drivers installed on Q35 with my 480, and I think Alex
recommends i1440fx but he'd have to jump in to confirm.

On Sat, Feb 4, 2017 at 1:47 PM, Janusz <januszmk6 at gmail.com> wrote:

> On 02/04/2017 12:17 PM, Javier Celaya wrote:
>
> This is my command line:
> qemu-system-x86_64
>         -nodefaults -no-user-config
>         -enable-kvm -m 8192
>         -cpu Opteron_G1,+cx16,+lahf_lm,kvm=off
>         -M q35
>         -smp 4,sockets=1,cores=4,threads=1
>         -realtime mlock=on -rtc base=localtime,driftfix=slew
>         -drive file="OVMF_CODE-pure-efi.fd",i
> f=pflash,format=raw,unit=0,readonly=on
>         -drive file="OVMF_VARS-pure-efi.fd",if=pflash,format=raw,unit=1
>         -drive file="$HD",id=disk1,if=virtio,cache=none
>         -netdev bridge,id=netuser,br=br0
>         -device virtio-net-pci,netdev=netuser,
> id=net0,mac=52:54:00:72:75:9e
>         -device ich9-intel-hda,id=sound0
>         -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
>         -device ioh3420,bus=pcie.0,multifunction=on,port=1,chassis=1,id=
> root.0
>         -usbdevice $JOYPAD
>         -usbdevice $KEYBOARD
>         -usbdevice $MOUSE
>         -mem-path $MEM_PATH
>
>         -nographic -vga none
>         -device vfio-pci,host=01:00.0,id=hostd
> ev0,bus=root.0,multifunction=on
>         -device vfio-pci,host=01:00.1,id=hostdev1,bus=pcie.0
>
> I see some differences with yours:
> - @Janusz: Q35 works fine for me, as does i440fx
>
> ok, I saw on #kvm and #vfio-users on freenode multiple reports that it
> doesn't work with q35 and when users switched to i440fx it started working.
>
>
>
>
> - Why are you using a ROM file? Your RX480 does not support UEFI?
> - You are not explicitly attaching the graphics card and the HDMI sound
> card to the PCI-E bus, not sure if that could be a problem.
> - "-cpu host" is known to have problems with Windows 10 guests. If it
> hangs, try using my config or "-cpu core2duo".
>
> Cheers
>
>
> Javi
>
> 2017-02-03 12:41 GMT+01:00 Janusz <januszmk6 at gmail.com>:
>
>> Q35 doesn't work with polaris gpus, try i440fx
>>
>> On 02/03/2017 08:29 AM, ryanlynch at sigaint.org wrote:
>> > Hi
>> >
>> > I have a working configuration with ubuntu guest. I tried using 1G pages
>> > and found that I need at least 4G for the linux driver to load. I am
>> using
>> > the standard XFX roms that I used to flash the BIOS which are signed and
>> > not modded. I have tried taking the working native windows configuration
>> > and booting that up via qemu and after it installs the acpi drivers is
>> > fails with the same reason..
>> >
>> > This command line works for macOs sierra (unacellerated but it does the
>> > full screen 1920x2060 and 3840x2060) and works with glamour enabled
>> Ubuntu
>> > guest. I also found that you get a corrupt screen if you don't enable
>> > glamour under gentoo.
>> >
>> > img=win
>> > bios=/mnt/work/vm/etc
>> > mem="-m 4G -mem-path /mnt/hugepg1g"
>> > #cpus="-cpu host,nx=on,kvm=on,vendor=GenuineIntel -smp
>> > cpus=4,sockets=1,cores=2,threads=2"
>> > cpus="-cpu
>> > host,+kvmclock,+kvmclock-stable-bit,nx=on,kvm=on,vendor=GenuineIntel
>> -smp
>> > cpus=4,sockets=1,cores=2,threads=2"
>> > monitor="-monitor none"
>> > # rombar=1 = good
>> > vfio="-device
>> > vfio-pci,host=01:00.0,x-vga=off,multifunction=on,rombar=1,ro
>> mfile=/${bios}/xfx-rx480-stock.rom,addr=10.0
>> > -device vfio-pci,host=01:00.1,addr=10.1"
>> > machine="-machine q35,accel=kvm,usb=off,vmport=off,kernel_irqchip=on"
>> > net="-netdev user,id=vmnic,restrict=n,hostfwd=tcp::1022-:22 -device
>> > virtio-net-pci,romfile=,netdev=vmnic"
>> > display="-display none"
>> > graphic=""
>> > sound=""
>> > inputs=""
>> > image_file="windoze.img"
>> > serial="-serial stdio"
>> >
>> > if [ ! -z "${1}" ] ; then
>> >    image_file="${1}"
>> > fi
>> >
>> >     for dev in 0000:01:00.0 0000:01:00.1 ; do
>> >         vendor="$(cat /sys/bus/pci/devices/${dev}/vendor)"
>> >         device="$(cat /sys/bus/pci/devices/${dev}/device)"
>> >         if [ -e "/sys/bus/pci/devices/${dev}/driver" ]; then
>> >             echo "${dev}" > "/sys/bus/pci/devices/${dev}/driver/unbind"
>> >          fi
>> >          echo "${vendor}" "${device}" > /sys/bus/pci/drivers/vfio-pci/
>> new_id
>> >     done
>> >
>> > inputs="-usbdevice host:xxxx:yyyy"
>> >
>> > if [ ! -f "${image_file}" ] ; then
>> >     loop_dev="$(losetup --find)"
>> >     qemu-img create -f raw "${image_file}" 12G
>> >     sgdisk --zap-all "${image_file}"
>> >     sgdisk --set-alignment=1 --new=1:34:131071 "${image_file}"
>> >     sgdisk --typecode 1:ef00 "${image_file}"
>> >     sgdisk --set-alignment=1 --new=2:131072: "${image_file}"
>> >     sgdisk --typecode 2:8300 "${image_file}"
>> >     sgdisk --partition-guid=1:R
>> >     sgdisk --partition-guid=2:R
>> >     gdisk -l  "${image_file}"
>> >     tmpMount="$(mktemp -d)"
>> >     losetup --partscan "${loop_dev}" "${image_file}"
>> >     mkfs.vfat -f1 -F12 "${loop_dev}"p1
>> >     mount -orw "${loop_dev}"p1 "${tmpMount}"
>> >     mkdir -p "${tmpMount}"/EFI/BOOT
>> >     cp /mnt/work/os/ar//lib/modules/current/../bootx64.efi
>> > "${tmpMount}"/EFI/BOOT/BOOTX64.EFI
>> >     umount "${tmpMount}"
>> >     mkfs.ext4 -O
>> > ^has_journal,extent,huge_file,flex_bg,inline_data,64bit,dir_
>> nlink,extra_isize,bigalloc,sparse_super2
>> > -E num_backup_sb=0 -G 32 -C 4096 -I 256 "${loop_dev}"p2
>> >     tune2fs -E hash_alg=tea -e remount-ro "${loop_dev}"p2
>> >     mount -t ext4 -onoatime,nodiratime,user_xatt
>> r,acl,noauto,delalloc,rw
>> > "${loop_dev}"p2 "${tmpMount}"
>> >     rsync -SHax /mnt/work/os/ar/ "${tmpMount}"/
>> >     umount "${tmpMount}"
>> >     rmdir "${tmpMount}"
>> >     losetup --detach "${loop_dev}"
>> > fi
>> >
>> > qemu-system-x86_64 \
>> >    -nodefaults \
>> >    -nodefconfig \
>> >    -enable-kvm \
>> >    -no-fd-bootchk \
>> >    -no-user-config \
>> >    -no-hpet \
>> >    -rtc base=utc,clock=host,driftfix=none \
>> >    ${mem} \
>> >    ${machine} \
>> >    ${cpus} \
>> >    -L ${bios} \
>> >    -drive if=pflash,format=raw,readonly,file=${bios}/OVMF_CODE-pure-efi.fd
>> \
>> >    -drive if=pflash,format=raw,readonly,file=${bios}/OVMF_1600_600-efi.fd
>> \
>> >    ${vfio} \
>> >    -drive
>> > id=disk0,if=none,format=raw,cache=none,detect-zeroes=on,copy
>> -on-read=off,file="${image_file}"
>> > -device virtio-scsi-pci --device scsi-hd,drive=disk0,bootindex=0 \
>> >    ${net} \
>> >    ${vga} \
>> >    ${display} \
>> >    ${inputs} \
>> >    ${graphic} \
>> >    ${sound} \
>> >    ${monitor} \
>> >    ${serial} \
>> >    -parallel none
>> >
>> >
>> > Cheers
>> >
>> > Ryan
>> >
>> >
>> >> I have a working configuration with an RX480, Windows 10 guest and
>> Linux
>> >> x64 host, but with a Sandy Bridge i5. Can you give more information?
>> Host
>> >> kernel version, chipset, iommu groups, qemu/libvirt configuration...
>> Have
>> >> you ever managed to get it working with a different graphics card or
>> guest
>> >> OS?
>> >>
>> >>
>> >> Javi
>> >>
>> >> 2017-02-03 5:22 GMT+01:00 <ryanlynch at sigaint.org>:
>> >>
>> >>> Does the RX480 work with windows 10 guest on linux x64 host haswell
>> >>> vt-d?
>> >>> I have working config for linux guest but windows 10 gives error -31
>> >>> "Could not install drivers" and video driver using low res vga driver
>> >>> (from windows) all booting UEFI.
>> >>>
>> >>> Have tried 3 different windows version drivers 16.9 16.12 and 17.1 and
>> >>> still have same problem. Anyone have success with this?
>> >>>
>> >>> Lync
>> >>>
>> >>> _______________________________________________
>> >>> vfio-users mailing list
>> >>> vfio-users at redhat.com
>> >>> https://www.redhat.com/mailman/listinfo/vfio-users
>> >>>
>> >
>> > _______________________________________________
>> > vfio-users mailing list
>> > vfio-users at redhat.com
>> > https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>
>
>
> _______________________________________________
> 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/20170204/7e7dc984/attachment.htm>


More information about the vfio-users mailing list