[vfio-users] AMD RX480 Not working with windows
ryanlynch at sigaint.org
ryanlynch at sigaint.org
Fri Feb 3 07:29:25 UTC 2017
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>:
>
>> 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
>>
>
More information about the vfio-users
mailing list