You are not logged in.
i tried running aw's rom parser but it would output a 0 byte file even on a fresh restart. does that mean my card doesnt support efi?
romparser software needs a file to check. But you're not passing romfile=SOMEFILE.rom option to your device, so you don't need to check, and also you have a very fresh radeon card, which 95% supports UEFI.
Also, try installing windowns(or whatever you need) using the qemu's graphics(like qxl or something), and then plugging in the card as a secondary.
By the way, you shouldn't need x-vga=on while using OVMF. Appending multifunction=on is needed when there is HDMI-audio device present as a function of the GPU itself, so you should always leave it on.
And you appear to be giving us only partial command-lines, and running qemu without sudo(you might have fixes for that, but usually they are needed).
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
Duelist, dozens of pages ago you posted a message on successfully installing windows 7 using ovmf
could you please specify all related details (qemu/libvirt configuration, win 7 iso "type", steps taken, etc)?
already had 4 "try sessions" with no result
Last edited by sinny (2014-12-07 07:52:27)
Offline
yea i've removed all drives currently i'm just trying to get it to output to my graphics card's monitor. i'll reattatch drives once i get that working.
and yea i'm running that as a script that i'm executing using sudo.
i had windows up and running perfectly using my old card and bios, but i can't figure out what is missing to get it to output using ovmf and my new card.
would i not see some sort of output on the screen from the uefi/ovmf running like i would in seabios?
Last edited by risho (2014-12-07 07:55:13)
Offline
mastersplinter777 wrote:Finally succeeded to passthrough my Zotac GT630 to OSX 10.9.5 with working 3D
https://imagizer.imageshack.us/v2/1152x … u1Qwht.pngI didn't get os x 10.9.5 working in qemu. I get a fast bootloop from seabios.
Can you post your command line?
This is my launch script:
#/bin/sh
#sleep 10
export QEMU_AUDIO_DRV=alsa
#export QEMU_AUDIO_TIMER_PERIOD=100
export QEMU_AUDIO_DAC_FIXED_SETTINGS=1
export QEMU_AUDIO_DAC_FIXED_FREQ=48000
#export QEMU_AUDIO_DAC_FIXED_FMT=S16
#export QEMU_AUDIO_DAC_FIXED_CHANNELS=2
#export QEMU_AUDIO_DAC_VOICES=1
#export QEMU_AUDIO_DAC_TRY_POLL=0
export QEMU_AUDIO_ADC_FIXED_SETTINGS=1
export QEMU_AUDIO_ACD_FIXED_FREQ=48000
#export QEMU_AUDIO_ADC_FIXED_FMT=S16
#export QEMU_AUDIO_ADC_FIXED_CHANNELS=1
#export QEMU_AUDIO_ADC_VOICES=1
#export QEMU_AUDIO_ADC_TRY_POLL=0
export QEMU_ALSA_DAC_PERIOD_SIZE=170
export QEMU_ALSA_DAC_BUFFER_SIZE=512
#export QEMU_PA_SAMPLES=480
#<qemu:env name="QEMU_AUDIO_DRV" value="pa"></qemu:env>
#<qemu:env name="QEMU_AUDIO_TIMER_PERIOD" value="100"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_FIXED_SETTINGS" value="1"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_FIXED_FREQ" value="48000"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_FIXED_FMT" value="S16"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_FIXED_CHANNELS" value="2"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_VOICES" value="1"></qemu:env>
#<qemu:env name="QEMU_AUDIO_DAC_TRY_POLL" value="0"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ADC_FIXED_SETTINGS" value="1"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ACD_FIXED_FREQ" value="48000"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ADC_FIXED_FMT" value="S16"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ADC_FIXED_CHANNELS" value="1"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ADC_VOICES" value="1"></qemu:env>
#<qemu:env name="QEMU_AUDIO_ADC_TRY_POLL" value="0"></qemu:env>
#<qemu:env name="QEMU_PA_SAMPLES" value="480"></qemu:env>
#export QEMU_AUDIO_DRV=pa
#export QEMU_PA_SAMPLES=128
#export QEMU_AUDIO_DRV=alsa
#export QEMU_ALSA_DAC_PERIOD_SIZE=170
#export QEMU_ALSA_DAC_BUFFER_SIZE=512
spicec --host 127.0.0.1 --port 5902 --title="OSX" --hotkeys release-cursor=ctrl+alt &
#spicy --host 127.0.0.1 --port 5902 --title="OSX" &
sudo qemu-system-x86_64 \
-enable-kvm \
-smp 2,sockets=1,cores=2,threads=1 \
-chardev spicevmc,id=vdagent,name=vdagent \
-spice port=5902,disable-ticketing,seamless-migration=on \
-M q35 \
-m 4096 \
-cpu core2duo \
-rtc base=localtime \
-vga none \
-device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x12 \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-device virtio-serial,addr=0x8 \
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x9 \
-device ich9-usb-ehci1,id=usb,bus=pci.2,addr=0x1.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.2,multifunction=on,addr=0x1 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.2,addr=0x1.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.2,addr=0x1.0x2 \
-chardev spicevmc,name=usbredir,id=usbredirchardev1 \
-device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
-chardev spicevmc,name=usbredir,id=usbredirchardev2 \
-device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
-chardev spicevmc,name=usbredir,id=usbredirchardev3 \
-device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \
-chardev spicevmc,name=usbredir,id=usbredirchardev4 \
-device usb-redir,chardev=usbredirchardev4,id=usbredirdev4 \
-net nic,macaddr=00:00:00:FF:FF:02,model=virtio,id=netkvm,addr=0x7 \
-usbdevice host:046d:c52e \
-net bridge \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device ich9-intel-hda,bus=pcie.0,addr=1b.0,id=sound0 \
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
-device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-drive file='/vm/QEMU/OSX/osx.img',if=none,media=disk,id=drive-sata0-0-2,format=raw -device ide-hd,bus=ide.1,drive=drive-sata0-0-2,id=sata0-0-2
This is my boot options:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GUI</key>
<string>No</string>
<key>Graphics Mode</key>
<string>1280x800x32</string>
<key>HDAEnabler</key>
<string>Yes</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>Timeout</key>
<string>5</string>
<key>USBBusFix</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>No</string></dict>
</plist>
smbios profile: MacPro3,1
Qemu version: 2.1.2
Kernel: 3.17.4-99-libre with applied patches from this topic
HW: ASRock Z87 Pro4 with latest bios, 16 Gb RAM, Intel Core i5 4440, 1GPU: Intel HD 4600 (host), 2GPU: NVIDIA GT630 1Gb (Zotac) (osx), 3GPU: AMD 5450 (ASUS) (win8.1)
Offline
winie wrote:mastersplinter777 wrote:Finally succeeded to passthrough my Zotac GT630 to OSX 10.9.5 with working 3D
https://imagizer.imageshack.us/v2/1152x … u1Qwht.pngI didn't get os x 10.9.5 working in qemu. I get a fast bootloop from seabios.
Can you post your command line?This is my launch script:
#/bin/sh #sleep 10 export QEMU_AUDIO_DRV=alsa #export QEMU_AUDIO_TIMER_PERIOD=100 export QEMU_AUDIO_DAC_FIXED_SETTINGS=1 export QEMU_AUDIO_DAC_FIXED_FREQ=48000 #export QEMU_AUDIO_DAC_FIXED_FMT=S16 #export QEMU_AUDIO_DAC_FIXED_CHANNELS=2 #export QEMU_AUDIO_DAC_VOICES=1 #export QEMU_AUDIO_DAC_TRY_POLL=0 export QEMU_AUDIO_ADC_FIXED_SETTINGS=1 export QEMU_AUDIO_ACD_FIXED_FREQ=48000 #export QEMU_AUDIO_ADC_FIXED_FMT=S16 #export QEMU_AUDIO_ADC_FIXED_CHANNELS=1 #export QEMU_AUDIO_ADC_VOICES=1 #export QEMU_AUDIO_ADC_TRY_POLL=0 export QEMU_ALSA_DAC_PERIOD_SIZE=170 export QEMU_ALSA_DAC_BUFFER_SIZE=512 #export QEMU_PA_SAMPLES=480 #<qemu:env name="QEMU_AUDIO_DRV" value="pa"></qemu:env> #<qemu:env name="QEMU_AUDIO_TIMER_PERIOD" value="100"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_FIXED_SETTINGS" value="1"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_FIXED_FREQ" value="48000"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_FIXED_FMT" value="S16"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_FIXED_CHANNELS" value="2"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_VOICES" value="1"></qemu:env> #<qemu:env name="QEMU_AUDIO_DAC_TRY_POLL" value="0"></qemu:env> #<qemu:env name="QEMU_AUDIO_ADC_FIXED_SETTINGS" value="1"></qemu:env> #<qemu:env name="QEMU_AUDIO_ACD_FIXED_FREQ" value="48000"></qemu:env> #<qemu:env name="QEMU_AUDIO_ADC_FIXED_FMT" value="S16"></qemu:env> #<qemu:env name="QEMU_AUDIO_ADC_FIXED_CHANNELS" value="1"></qemu:env> #<qemu:env name="QEMU_AUDIO_ADC_VOICES" value="1"></qemu:env> #<qemu:env name="QEMU_AUDIO_ADC_TRY_POLL" value="0"></qemu:env> #<qemu:env name="QEMU_PA_SAMPLES" value="480"></qemu:env> #export QEMU_AUDIO_DRV=pa #export QEMU_PA_SAMPLES=128 #export QEMU_AUDIO_DRV=alsa #export QEMU_ALSA_DAC_PERIOD_SIZE=170 #export QEMU_ALSA_DAC_BUFFER_SIZE=512 spicec --host 127.0.0.1 --port 5902 --title="OSX" --hotkeys release-cursor=ctrl+alt & #spicy --host 127.0.0.1 --port 5902 --title="OSX" & sudo qemu-system-x86_64 \ -enable-kvm \ -smp 2,sockets=1,cores=2,threads=1 \ -chardev spicevmc,id=vdagent,name=vdagent \ -spice port=5902,disable-ticketing,seamless-migration=on \ -M q35 \ -m 4096 \ -cpu core2duo \ -rtc base=localtime \ -vga none \ -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x12 \ -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \ -device virtio-serial,addr=0x8 \ -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x9 \ -device ich9-usb-ehci1,id=usb,bus=pci.2,addr=0x1.0x7 \ -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.2,multifunction=on,addr=0x1 \ -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.2,addr=0x1.0x1 \ -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.2,addr=0x1.0x2 \ -chardev spicevmc,name=usbredir,id=usbredirchardev1 \ -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \ -chardev spicevmc,name=usbredir,id=usbredirchardev2 \ -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \ -chardev spicevmc,name=usbredir,id=usbredirchardev3 \ -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \ -chardev spicevmc,name=usbredir,id=usbredirchardev4 \ -device usb-redir,chardev=usbredirchardev4,id=usbredirdev4 \ -net nic,macaddr=00:00:00:FF:FF:02,model=virtio,id=netkvm,addr=0x7 \ -usbdevice host:046d:c52e \ -net bridge \ -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \ -device ich9-intel-hda,bus=pcie.0,addr=1b.0,id=sound0 \ -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \ -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \ -drive file='/vm/QEMU/OSX/osx.img',if=none,media=disk,id=drive-sata0-0-2,format=raw -device ide-hd,bus=ide.1,drive=drive-sata0-0-2,id=sata0-0-2
This is my boot options:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>EthernetBuiltIn</key> <string>Yes</string> <key>GUI</key> <string>No</string> <key>Graphics Mode</key> <string>1280x800x32</string> <key>HDAEnabler</key> <string>Yes</string> <key>Legacy Logo</key> <string>Yes</string> <key>Timeout</key> <string>5</string> <key>USBBusFix</key> <string>Yes</string> <key>UseKernelCache</key> <string>No</string></dict> </plist>
smbios profile: MacPro3,1
Qemu version: 2.1.2
Kernel: 3.17.4-99-libre with applied patches from this topic
HW: ASRock Z87 Pro4 with latest bios, 16 Gb RAM, Intel Core i5 4440, 1GPU: Intel HD 4600 (host), 2GPU: NVIDIA GT630 1Gb (Zotac) (osx), 3GPU: AMD 5450 (ASUS) (win8.1)
UPDATE:
change:
-net nic,macaddr=00:00:00:FF:FF:02,model=virtio,id=netkvm,addr=0x7 \
-net bridge \
to:
-netdev bridge,id=br0 \
-device e1000-82545em,netdev=br0,id=vnet0,bus=pcie.0,addr=15 \
as it solves os freeze problems while copying large files
Offline
Duelist, dozens of pages ago you posted a message on successfully installing windows 7 using ovmf
could you please specify all related details (qemu/libvirt configuration, win 7 iso "type", steps taken, etc)?
already had 4 "try sessions" with no result
https://bbs.archlinux.org/viewtopic.php … 9#p1480029
Since i've got strange problems with passing the bios via romfile option to my GPU(the UEFI freezes!), i reverted to BIOS and i dropped any thoughts about running OVMF with VFIO, so i've done setting it up just with qemu's emulated graphics.
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
http://www.extremetech.com/gaming/15646 … d-analyzed
According to Microsoft, the Xbox One runs three different operating systems. There’s a core operating system that’s based on Microsoft’s Hyper-V hypervisor technology, which boots up when you turn the console on. This hypervisor then boots up two further operating systems: Xbox OS, which runs the games, and an OS that’s based on Windows 8, which runs the apps (Skype, TV, etc.)
The Xbox OS and Windows-based OS run side-by-side, on hardware that’s virtualized by the hypervisor. Both OSes are permanently switched on and constantly rendering their video output, to enable instant switching/snapping between games and apps/TV. The Xbox OS is rebooted whenever you load a game, but the Windows-based OS is persistent until you turn the console off. It isn’t clear how the hardware resources are split between the two virtualized OSes, but hopefully the Xbox OS (games) gets most of the RAM and GPU time.
WUT.
So it seems like hyper-v can do not only the GPU-passthrough, but divide it's performance! Isn't that VERY MUCH alike intel gvt-g but on AMD SoC?
Surprising fact. Now i can boast that my machine runs very alike to how xbox one runs - three OS at the same time.
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
risho wrote:i tried running aw's rom parser but it would output a 0 byte file even on a fresh restart. does that mean my card doesnt support efi?
romparser software needs a file to check. But you're not passing romfile=SOMEFILE.rom option to your device, so you don't need to check, and also you have a very fresh radeon card, which 95% supports UEFI.
Some Radeon cards have been reported to have a switch which enables an EFI capable ROM. Failure to dump the ROM from sysfs can sometimes be attributed to the card being the primary host graphics. Is vfio able to get the ROM or do you get an invalid ROM message in dmesg on guest startup? You may want to check the techpowerup database for an alternate ROM.
Also, try installing windowns(or whatever you need) using the qemu's graphics(like qxl or something), and then plugging in the card as a secondary.
By the way, you shouldn't need x-vga=on while using OVMF. Appending multifunction=on is needed when there is HDMI-audio device present as a function of the GPU itself, so you should always leave it on.
multifunction=on changes how the device is exposed to the guest, it has nothing to do with the physical device. In fact, you can combine functions from multiple physical and emulated devices into a single franken-multifunction-device if you want, though I wouldn't recommend it. If you're not creating multiple functions on the slot, as exposed to the guest, there's no point in using multifunction=on, but doing so gratuitously is generally harmless.
http://vfio.blogspot.com
Looking for a more open forum to discuss vfio related uses? Try https://www.redhat.com/mailman/listinfo/vfio-users
Offline
Duelist wrote:risho wrote:i tried running aw's rom parser but it would output a 0 byte file even on a fresh restart. does that mean my card doesnt support efi?
romparser software needs a file to check. But you're not passing romfile=SOMEFILE.rom option to your device, so you don't need to check, and also you have a very fresh radeon card, which 95% supports UEFI.
Some Radeon cards have been reported to have a switch which enables an EFI capable ROM. Failure to dump the ROM from sysfs can sometimes be attributed to the card being the primary host graphics. Is vfio able to get the ROM or do you get an invalid ROM message in dmesg on guest startup? You may want to check the techpowerup database for an alternate ROM.
Also, try installing windowns(or whatever you need) using the qemu's graphics(like qxl or something), and then plugging in the card as a secondary.
By the way, you shouldn't need x-vga=on while using OVMF. Appending multifunction=on is needed when there is HDMI-audio device present as a function of the GPU itself, so you should always leave it on.multifunction=on changes how the device is exposed to the guest, it has nothing to do with the physical device. In fact, you can combine functions from multiple physical and emulated devices into a single franken-multifunction-device if you want, though I wouldn't recommend it. If you're not creating multiple functions on the slot, as exposed to the guest, there's no point in using multifunction=on, but doing so gratuitously is generally harmless.
First - he has a problem, not me. We don't know what he used as an input to romparser. Is it possible to feed that sysfs image of rom into romparser without catting it to some file first?
Also, i haven't been able to get the rom out of my secondary card, not the primary one, but that's me. He has a single GPU(r9 290x is single, right? r9 295x2 is the dual one, right?).
Second - i think if the HDMI audio device is exposed to the guest as an independent device, the driver installer software MIGHT go nuts.
I've noted that multifunction option just in case he thinks that changing it would do anything closely related to OVMF or UEFI, which isn't true.
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
it's a sapphire tri x oc 290x. i checked newegg, the exact one i bought and it said it has uefi support, and then i checked sapphire's website and it also said it supports uefi, so i'm assuming it's fine.
i have it pci stubbed in my bootloader.
[anonymous@arch kvm]$ dmesg | grep stub
[ 0.000000] Command line: BOOT_IMAGE=../vmlinuz-linux-mainline root=/dev/sdb1 rootflags=subvol=__active/rootvol intel_iommu=on i915.enable_hd_vgaarb=1 pcie_acs_override=downstream pci-stub.ids=1002:67b0,1002:aac8 modeset.nouveau=0 modeset.radeon=0 rw initrd=../initramfs-linux-mainline.img
[ 0.000000] Kernel command line: BOOT_IMAGE=../vmlinuz-linux-mainline root=/dev/sdb1 rootflags=subvol=__active/rootvol intel_iommu=on i915.enable_hd_vgaarb=1 pcie_acs_override=downstream pci-stub.ids=1002:67b0,1002:aac8 modeset.nouveau=0 modeset.radeon=0 rw initrd=../initramfs-linux-mainline.img
[ 0.606900] pci-stub: add 1002:67B0 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 0.606905] pci-stub 0000:01:00.0: claimed by stub
[ 0.606908] pci-stub: add 1002:AAC8 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 0.606920] pci-stub 0000:01:00.1: claimed by stub
i'm running the kernel + patches from page 1. i'm running the script with sudo and it gives me this inside the shell with no information being pushed through to the monitor plugged into the card
UEFI Interactive Shell v2.1
EDK II
UEFI v2.40 (EDK II, 0x00010000)
Mapping table
BLK2: Alias(s):
PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0)
BLK0: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x0)
BLK1: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x1)
Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell>
this is the script
test3.sh
sudo vfio-bind 0000:01:00.0 0000:01:00.1 #0000:00:03.0
#qemu-system-x86_64 -enable-kvm -m 1024 -cpu host \
#-smp 6,sockets=1,cores=2,threads=1 \
#-bios /usr/share/qemu/bios.bin -vga none \
#-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
##-device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
#-device vfio-pci,host=01:00.1,bus=root.1,addr=00.1
qemu-system-x86_64 -enable-kvm -m 8196 -cpu host,kvm=off \
-smp 6,sockets=1,cores=3,threads=2 \
-boot menu=on \
-drive if=pflash,format=raw,readonly,file=/home/anonymous/kvm/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/home/anonymous/kvm/OVMF_VARS.fd \
-device vfio-pci,host=01:00.0,multifunction=on,x-vga=on -nographic -vga none \
-device vfio-pci,host=01:00.1 \
# -drive file=/home/anonymous/windows.iso,id=isocd -device ide-cd,bus=ide.1,drive=isocd \
# -drive file=/dev/sda,id=disk,format=raw -device ide-hd,bus=ide.0,drive=disk \
# -usb -usbdevice host:046d:c52e -usbdevice host:041e:30e0 -usbdevice host:045e:0719 \
# -device ich9-intel-hda,bus=pcie.0,addr=1b.0,id=sound0 \
# -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
# -device vfio-pci,host=07:00.0,bus=pcie.0 \
# -device vfio-pci,host=08:04.0,bus=pcie.0
# -device vfio-pci,host=0c:00.0,bus=pcie.0
# -drive file=/dev/sda,id=disk,format=raw -device ide-hd,bus=ahci.0,drive=disk \
# -boot menu=on \
# -rtc base=localtime \
a lot of comments from my trial and error. i've removed all drives and everything that isn't absolutely necessary. I'm just trying to get a respone out of my monitor to show that it is working before i go through and try to set up drives and installing the os.
by the way i was able to get it to output when i was running it wish seabios and vga i just want to get it working with uefi since i can't update windows since restarts cause the guest to crash and also have a very high chance of hanging the host.
when i run the the script dmesg outputs
[ 64.293733] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
[ 64.293841] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x270
[ 64.293845] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b@0x2d0
Offline
when i run the the script dmesg outputs
[ 64.293733] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003) [ 64.293841] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x270 [ 64.293845] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b@0x2d0
That is perfectly normal, no need to be worried by these messages.
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
do you know any way for me to troubleshoot why i'm not getting any output on my monitor?
Offline
do you know any way for me to troubleshoot why i'm not getting any output on my monitor?
First i'd try to boot windows installation iso from the serial-console of the OVMF menu(hint: type exit to get into somewhat menu-based UI)
Also, i'd install windowns with emulated graphics first, and then tried to attach the GPU. It would be working like secondary, but then, if all goes well, i'd remove the emulated graphics.
Something hints me that you shouldn't even have the output from OVMF in the first place since there is no VGA. But on the other hand, there is graphics-output-protocol or something, i don't know much about it. And i've got output on my emulated graphics when i booted the windows ISO.
But remember, i'm dumb and somewhat crazy.
Also, if you had it working with conventional VGA BIOS, why not just leave it working so?
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
do you know any way for me to troubleshoot why i'm not getting any output on my monitor?
It might be OVMF itself (for me it worked with older releases, stopped for few weeks and now its working again; it was only during early bootup, Windows's working fine when driver kicks it). Which version are you using?
Last edited by dwe11er (2014-12-08 10:15:31)
Offline
risho wrote:do you know any way for me to troubleshoot why i'm not getting any output on my monitor?
First i'd try to boot windows installation iso from the serial-console of the OVMF menu(hint: type exit to get into somewhat menu-based UI)
Also, i'd install windowns with emulated graphics first, and then tried to attach the GPU. It would be working like secondary, but then, if all goes well, i'd remove the emulated graphics.
Something hints me that you shouldn't even have the output from OVMF in the first place since there is no VGA. But on the other hand, there is graphics-output-protocol or something, i don't know much about it. And i've got output on my emulated graphics when i booted the windows ISO.
But remember, i'm dumb and somewhat crazy.
Also, if you had it working with conventional VGA BIOS, why not just leave it working so?
you are a genius. i installed it via spice, downloaded the drivers and then booted with the graphics card and it's up and running.
the reason I stopped using vga bios is because i literally could not update the guest because shutting down/rebooting the system wouldn't happen correctly. it would just hang, most of the time actually causing the host to hang in the process. i also am hoping to be able to stop using this specialized kernel. i can do it and all, but being able to just have the distro maintain the kernel for me is just way better. i don't want to have to update it manually every single time to avoid vulnerabilities etc.
edit: I just rebooted. I'm running an unpatched default arch kernel and it booted. this is absolutely amazing.
Last edited by risho (2014-12-08 16:02:16)
Offline
Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
Offline
Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
The technique to do this is to add another dummy disk in your configuration with virtio enabled. When you manage to get dummy disk working with virtio drivers you can shutdown and change to virtio for your system disk too.
Offline
sinny wrote:Duelist, dozens of pages ago you posted a message on successfully installing windows 7 using ovmf
could you please specify all related details (qemu/libvirt configuration, win 7 iso "type", steps taken, etc)?
already had 4 "try sessions" with no result
https://bbs.archlinux.org/viewtopic.php … 9#p1480029
Since i've got strange problems with passing the bios via romfile option to my GPU(the UEFI freezes!), i reverted to BIOS and i dropped any thoughts about running OVMF with VFIO, so i've done setting it up just with qemu's emulated graphics.
oh, thanks. i somehow missed that post meaning, even though read it before.
well, seems like i'm in for a pain train (ovmf+uefi win7 install).
one lost day and i got to the point where setup begs me for any drivers - seems like it does not see any disks to install to... which is pretty weird since diskpart in setup's recovery command prompt lists the disk image i'm supposed to install to (tried all available hdd modes in virt-manager, including virtio)
Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
google or search maybe? (googling "switch windows to virtio" or finding this post for example)
Last edited by sinny (2014-12-09 05:49:19)
Offline
anthonym52 wrote:Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
The technique to do this is to add another dummy disk in your configuration with virtio enabled. When you manage to get dummy disk working with virtio drivers you can shutdown and change to virtio for your system disk too.
Haha, I was just thinking this would work too. (and it did!)
One more question, is everyone still using vfio-bind or is there a better way to do this now?
Here is my script, please help me optimize my settings.
#!/bin/bash -x
#
# Notes: Survives reboots, works where others have failed
# inspired by kidchunks & aw on bbs.archlinux.org
configfile=/etc/vfio-pci.cfg
vfiobind() {
dev="$1"
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
}
modprobe vfio-pci
cat $configfile | while read line;do
echo $line | grep ^# >/dev/null 2>&1 && continue
vfiobind $line
done
GPU=$(lspci -D | grep VGA | grep -i gm107 | awk '{print $1}')
AUDIO=$(lspci -D |grep -i gm107 -A1|awk 'END{print $1}')
MEM=8192
HUGE="-mem-path /dev/hugepages"
DISK=/media/ntfs/windows8.raw
QEMU=/usr/local/bin/qemu-system-x86_64
NEED=$(( $MEM / 2 ))
TOTAL=$(grep HugePages_Total /proc/meminfo | awk '{print $NF}')
WANT=$(( $TOTAL + $NEED ))
echo $WANT > /proc/sys/vm/nr_hugepages
AVAIL=$(grep HugePages_Free /proc/meminfo | awk '{print $NF}')
if [ $AVAIL -lt $NEED ]; then
echo $TOTAL > /proc/sys/vm/nr_hugepages
HUGE=
fi
QEMU_PA_SAMPLES=8192 QEMU_AUDIO_DRV=pa \
$QEMU \
-enable-kvm -cpu host,kvm=off \
-m $MEM $HUGE -smp 8,sockets=1,cores=4,threads=4 \
-bios /home/anthony/git/seabios/out/bios.bin -vga none \
-device intel-hda -device hda-output \
-device vfio-pci,host=$GPU,addr=03.0,multifunction=on,x-vga=on \
-device vfio-pci,host=$AUDIO,addr=03.1 \
-netdev tap,id=br0,vhost=on \
-device virtio-net-pci,mac=02:12:34:56:78:91,netdev=br0 \
-drive file=$DISK,cache=none,if=none,id=drive0,aio=threads \
-device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \
-vnc :0 -k en-us
TOTAL=$(grep HugePages_Total /proc/meminfo | awk '{print $NF}')
RELEASE=$(( $TOTAL - $NEED ))
echo $RELEASE > /proc/sys/vm/nr_hugepages
Other notes:
Kernel: 3.13.0-40-generic #69-Ubuntu SMP
Guest GPU: Nvidia 750TI with latest drivers
Grub boot opts: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 hugepages=1"
qemu version = 2.1.0, which seems to get a lot of "KVM internal error. Suberror: 1" crashes
Also, check out my setup running on my LG 34UM95-P with PBP: http://youtu.be/EFkLbEtj9cg
Last edited by anthonym52 (2014-12-09 15:36:48)
Offline
well, seems like i'm in for a pain train (ovmf+uefi win7 install).
one lost day and i got to the point where setup begs me for any drivers - seems like it does not see any disks to install to... which is pretty weird since diskpart in setup's recovery command prompt lists the disk image i'm supposed to install to (tried all available hdd modes in virt-manager, including virtio)
Well, that seems strange. I'll try to dig it later. The main point is - windows 7 can be installed on bare metal hardware with UEFI and using GPT. If it lacks the drivers for disk controllers or OVMF is doing something strange - that's not windows' problem. Hint: try booting something like livecd based on windows 7.
anthonym52 wrote:Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
google or search maybe? (googling "switch windows to virtio" or finding this post for example)
Ah, come on there, don't blame people for asking, you do stuff like that too;)
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline
sinny wrote:well, seems like i'm in for a pain train (ovmf+uefi win7 install).
one lost day and i got to the point where setup begs me for any drivers - seems like it does not see any disks to install to... which is pretty weird since diskpart in setup's recovery command prompt lists the disk image i'm supposed to install to (tried all available hdd modes in virt-manager, including virtio)Well, that seems strange. I'll try to dig it later. The main point is - windows 7 can be installed on bare metal hardware with UEFI and using GPT. If it lacks the drivers for disk controllers or OVMF is doing something strange - that's not windows' problem. Hint: try booting something like livecd based on windows 7.
i tried using i440fx - either setup is going mad about something different or microsoft completely dropped some old hardware drivers in win7-x64 (some doubt here)
or maybe problem is i am trying to install from self-made usb image attached as usb drive (iso that was converted to this usb image somehow refuses to be recognized by ovmf)
sinny wrote:anthonym52 wrote:Does anyone know how to enable the virtio drivers after you've already installed WIndows 8? Whenever I change my disk interface to virtio Windows explodes on boot.
google or search maybe? (googling "switch windows to virtio" or finding this post for example)
Ah, come on there, don't blame people for asking, you do stuff like that too;)
well, i'm pretty sure i mostly ask either on-topic things or not-that-easy-to-find-answer-to (or at least i want to think i do)
Last edited by sinny (2014-12-09 17:44:19)
Offline
Duelist wrote:sinny wrote:well, seems like i'm in for a pain train (ovmf+uefi win7 install).
one lost day and i got to the point where setup begs me for any drivers - seems like it does not see any disks to install to... which is pretty weird since diskpart in setup's recovery command prompt lists the disk image i'm supposed to install to (tried all available hdd modes in virt-manager, including virtio)Well, that seems strange. I'll try to dig it later. The main point is - windows 7 can be installed on bare metal hardware with UEFI and using GPT. If it lacks the drivers for disk controllers or OVMF is doing something strange - that's not windows' problem. Hint: try booting something like livecd based on windows 7.
i tried using i440fx - either setup is going mad about something different or microsoft completely dropped some old hardware drivers in win7-x64 (some doubt here)
or maybe problem is i am trying to install from self-made usb image attached as usb drive (iso that was converted to this usb image somehow refuses to be recognized by ovmf)Duelist wrote:sinny wrote:google or search maybe? (googling "switch windows to virtio" or finding this post for example)
Ah, come on there, don't blame people for asking, you do stuff like that too;)
well, i'm pretty sure i mostly ask either on-topic things or not-that-easy-to-find-answer-to (or at least i want to think i do)
I tried installing windows 7 using ovmf but i could never get it to work, i believe it needs the csm present, so i gave up and installed windows 8 with a patched ovmf to allow it to boot directly from the amd sata controller.
OVMF-sata.tar.gz
Also, once you're done installing windows 8 disable fast boot
Last edited by nbhs (2014-12-10 10:13:26)
Offline
One more question, is everyone still using vfio-bind or is there a better way to do this now?
I've done testing using pc/pci-assign and while it worked, I needed a virtual vga attached.
Example:
qemu-system-x86_64 -enable-kvm -M pc -m 4096 -cpu host \
-smp 8,sockets=1,cores=4,threads=4 \
-bios /usr/share/seabios/bios.bin -vga cirrus \
-device pci-assign,host=85:00.0,addr=08.0,multifunction=on,prefer_msi=off \
-device pci-assign,host=85:00.1,addr=08.1 \
-drive file=/root/qemu/win8.img,cache=none,if=virtio \
-drive file=/root/qemu/win812.iso,index=0,media=cdrom \
-drive file=/root/qemu/virtio-win-0.1-81.iso,index=1,media=cdrom \
-usb -usbdevice host:046d:c068 \
-vnc :1 \
-usbdevice tablet \
-daemonize
Stick with vfio-bind
Offline
sinny wrote:...
I tried installing windows 7 using ovmf but i could never get it to work, i believe it needs the csm present, so i gave up and installed windows 8 with a patched ovmf to allow it to boot directly from the amd sata controller.
OVMF-sata.tar.gzAlso, once you're done installing windows 8 disable fast boot
i got working win 8 install - the problem is i want win 7 uefi vm (win 8 is a bit... inconvenient? not sure about the exact word).
... i believe it needs the csm present ...
win 7 64 in uefi mode seems to support only installations to gpt, so i am not so sure csm (mbr compatibility fallback, as far as i understand it) will really do the trick
UPD:
ok, seems like i am wrong afterall and csm may really be a requirement (source0, source1)
will try using OVMF_{CODE,VARS}-with-csm.fd instead of OVMF_{CODE,VARS}-pure-efi.fd when i get some time to play with my setup
Last edited by sinny (2014-12-11 06:44:52)
Offline
Source1 in particular, speaks about "legacy OEM video drivers" - i guess that is related to VGA. Source0 - the writer says the same, he doesn't have "high-res UEFI setup" anymore, so that is VGA too.
Alright, today i have a free day dedicated to testing. But i'm a little bit afraid of the fact that i've got windows 7 installed on real UEFI hardware some time ago. I'm not 100% sure if there was any compatibility issues, but i doubt that CSM was enabled on that system. Also, it wasn't a notebook, so no OEM unupdateable hardware.
As far as i understand it - the CSM actually provides VGA, aw told us a while ago about the fact that we explicitly do not want it.
Last edited by Duelist (2014-12-11 07:29:46)
The forum rules prohibit requesting support for distributions other than arch.
I gave up. It was too late.
What I was trying to do.
The reference about VFIO and KVM VGA passthrough.
Offline