[vfio-users] AMD RX480 Not working with windows
Janusz
januszmk6 at gmail.com
Sat Feb 4 18:47:49 UTC 2017
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",if=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=hostdev0,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
> <mailto:januszmk6 at gmail.com>>:
>
> Q35 doesn't work with polaris gpus, try i440fx
>
> On 02/03/2017 08:29 AM, ryanlynch at sigaint.org
> <mailto: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,romfile=/${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_xattr,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
> <mailto: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 <mailto:vfio-users at redhat.com>
> >>> https://www.redhat.com/mailman/listinfo/vfio-users
> <https://www.redhat.com/mailman/listinfo/vfio-users>
> >>>
> >
> > _______________________________________________
> > vfio-users mailing list
> > vfio-users at redhat.com <mailto:vfio-users at redhat.com>
> > https://www.redhat.com/mailman/listinfo/vfio-users
> <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/0757d8da/attachment.htm>
More information about the vfio-users
mailing list