You are not logged in.
thearcherblog wrote:This is the command I use to start the qemu:
qemu-system-x86_64 -enable-kvm -rtc base=localtime -m 8192 -cpu host,kvm=off -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/ovmf_x64.bin -drive if=pflash,format=raw,file=/home/jgomez/VM/ovmf_x64.bin -smp 4,sockets=1,cores=4 -serial none -parallel none -nodefconfig -drive file=/home/jgomez/VM/win7.img,cache=writeback,if=none,id=drive0,aio=native -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 -device virtio-scsi-pci,id=scsi -drive file=/home/jgomez/Downloads/win8.iso,id=iso_install,if=none -device scsi-cd,drive=iso_install -cdrom /home/jgomez/Downloads/virtio.iso -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on -device vfio-pci,host=01:00.1 -device vfio-pci,host=00:19.0 -usb -usbdevice host:046d:c52e -net none -vga none -nographic
Regards,
TheArcher
I can't seem to get the PCI stub ID claimed, both interfaces have the same ID, do your IDs match as well?
05:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3][anthony:/home/anthony] 7s $ dmesg |grep -i claim
[ 0.332788] pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by ICH6 GPIO
[ 4.332685] pci-stub 0000:03:00.0: claimed by stub
[ 4.332702] pci-stub 0000:03:00.1: claimed by stub
I got this working by using: echo 1 > /sys/module/kvm/parameters/allow_unsafe_assigned_interrupts and using pci-assign (the NICs are in the same IOMMU group but I have disabled eth1 as much as possible on the host -- is this safe?)
Also, I'm trying OVMF to see if I can improve reliability with boots -- what is 'OVMF_VARS-pure-efi.fd ' and why do I need it? Also how do I get my HDD booted -- I end up at the UEFI interactive shell each time:
QEMU_PA_SAMPLES=8192 QEMU_AUDIO_DRV=pa \
$QEMU \
-boot menu=on \
-drive if=pflash,format=raw,readonly,file=/home/anthony/ovmf-x64/OVMF-pure-efi.fd \
-enable-kvm -cpu host,kvm=off -rtc base=localtime \
-m $MEM $HUGE -smp 8,sockets=1,cores=4,threads=4 \
-vga std \
-device intel-hda -device hda-output \
-device vfio-pci,host=$GPU,addr=04.0,multifunction=on,x-vga=on \
-device vfio-pci,host=$AUDIO,addr=04.1 \
-device pci-assign,host=06:00.0 \
-drive file=$DISK,cache=none,if=none,id=drive0,aio=threads \
-device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \
-net none \
-vnc :0 -k en-us
Offline
thearcherblog wrote:This is the command I use to start the qemu:
qemu-system-x86_64 -enable-kvm -rtc base=localtime -m 8192 -cpu host,kvm=off -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/ovmf_x64.bin -drive if=pflash,format=raw,file=/home/jgomez/VM/ovmf_x64.bin -smp 4,sockets=1,cores=4 -serial none -parallel none -nodefconfig -drive file=/home/jgomez/VM/win7.img,cache=writeback,if=none,id=drive0,aio=native -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 -device virtio-scsi-pci,id=scsi -drive file=/home/jgomez/Downloads/win8.iso,id=iso_install,if=none -device scsi-cd,drive=iso_install -cdrom /home/jgomez/Downloads/virtio.iso -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on -device vfio-pci,host=01:00.1 -device vfio-pci,host=00:19.0 -usb -usbdevice host:046d:c52e -net none -vga none -nographic
Regards,
TheArcher
I can't seem to get the PCI stub ID claimed, both interfaces have the same ID, do your IDs match as well?
05:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3][anthony:/home/anthony] 7s $ dmesg |grep -i claim
[ 0.332788] pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by ICH6 GPIO
[ 4.332685] pci-stub 0000:03:00.0: claimed by stub
[ 4.332702] pci-stub 0000:03:00.1: claimed by stub
Yes its normal for them to match, I use 82574Ls and they are independent controllers so it should work. I'm a virsh user but this is all I do to bind an 82574L on 04:00.0 (It definitely works independently as the other controller is used by the host:
echo "8086 10d3" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:04:00.0 > /sys/bus/pci/devices/0000:04:00.0/driver/unbind
echo 0000:04:00.0 > /sys/bus/pci/drivers/pci-stub/bind
vfio-bind 0000:04:00.0
virsh create ~/VM/Router.xml
Router.xml:
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=04:00.0,bus=pcie.0'/>
For those who are interested I switched the GPU to an R5-230 Radeon and my reboot issue disappeared.
Offline
thearcherblog wrote:This is the command I use to start the qemu:
qemu-system-x86_64 -enable-kvm -rtc base=localtime -m 8192 -cpu host,kvm=off -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/ovmf_x64.bin -drive if=pflash,format=raw,file=/home/jgomez/VM/ovmf_x64.bin -smp 4,sockets=1,cores=4 -serial none -parallel none -nodefconfig -drive file=/home/jgomez/VM/win7.img,cache=writeback,if=none,id=drive0,aio=native -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 -device virtio-scsi-pci,id=scsi -drive file=/home/jgomez/Downloads/win8.iso,id=iso_install,if=none -device scsi-cd,drive=iso_install -cdrom /home/jgomez/Downloads/virtio.iso -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on -device vfio-pci,host=01:00.1 -device vfio-pci,host=00:19.0 -usb -usbdevice host:046d:c52e -net none -vga none -nographic
Regards,
TheArcher
I can't seem to get the PCI stub ID claimed, both interfaces have the same ID, do your IDs match as well?
05:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3][anthony:/home/anthony] 7s $ dmesg |grep -i claim
[ 0.332788] pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by ICH6 GPIO
[ 4.332685] pci-stub 0000:03:00.0: claimed by stub
[ 4.332702] pci-stub 0000:03:00.1: claimed by stub
No, I have different ID's...
[jgomez@mycolonialone ~]$ lspci | grep Eth
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 11)
Offline
Someone else using with arch kernel?
uname -a
Linux 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 2014 x86_64 GNU/Linux
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=e9f18698-c70a-41f6-b5c6-c84a8e7eac85 rw quiet rdblacklist=nouveau nouveau.modeset=0 pci-stub.ids=10de:10c3,10de:0be3 intel_pstate=disable i915.enable_hd_vgaarb=1 intel_iommu=on,igfx_off quiet
Tried this way, based on thearcherblog, gave me no error, but no screen
sudo qemu-system-x86_64 -enable-kvm -rtc base=localtime -cpu host,kvm=off -m 2048 -smp 2,sockets=1,cores=2 -serial none -parallel none -nodefconfig \ -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/ovmf_x64.bin \ -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \ -device virtio-scsi-pci,id=scsi \ -drive file=/home/user/windows.img,cache=writeback,if=none,id=drive0,aio=native \ -drive file=/home/user/Win81.iso,id=iso_install,if=none \ -device scsi-cd,drive=iso_install \ -cdrom /home/user/Downloads/virtio.iso \ -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on \ -device vfio-pci,host=01:00.1 \ -net none \ -vga none \ -boot menu=on \ -nographic
and this way, based on nbhs, gave me this error: KVM internal error. Suberror: 1 emulation failure
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu host \ -smp 2,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
I also got the black screen but someone suggested me to have this (and works for me ):
[jgomez@mycolonialone etc]$ cat /etc/modprobe.d/qemu_kvm.conf
options kvm ignore_msrs=1
options intel_kvm emulate_invalid_guest_state=0
options intel_kvm nested=1
options intel_kvm enable_shadow_vmcs=1
options intel_kvm enable_apicv=1
options intel_kvm ept=1
#options vfio_pci nointxmask=1
options vfio_iommu_type1 disable_hugepages=1
options vfio_iommu_type1 allow_unsafe_interrupts=1
Regards
Offline
My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference -- but I'm really just posting to show off this:
Offline
Glad to hear it works well. Sorry about the confusion I had gotten your config and posts muddled with anthonym52.
Offline
My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference
So now you're limiting your NIC bandwidth to the wire speed and going out to an external switch whereas you could have had 10s of gigabits through an internal bridge to have seamless window mode of your Windows VM onto your Linux desktop?
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
anthonym52 wrote:My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference
So now you're limiting your NIC bandwidth to the wire speed and going out to an external switch whereas you could have had 10s of gigabits through an internal bridge to have seamless window mode of your Windows VM onto your Linux desktop?
That is a good point, I just wanted to try it out -- seems to preform a bit better but I need to do more benchmarks. BTW, this isn't 'seamless window mode' it's picture-by-picture (a hardware feature of my monitor).
Edit: (This is the reason for the off screen camera image)
Last edited by anthonym52 (2014-12-17 06:33:05)
Offline
My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference -- but I'm really just posting to show off this: http://i.imgur.com/u4fJxyt.jpg
Damn, this looks AWESOME!
Especially when you match the wallpaper.
What's the model number?
It's awesomely better than having two separate screens(1280x1024 and 1920x1080). Can you press a button and make that screen appear "double-wide" to the system, running windows(or linux) on native resolution?
Two full-featured(almost) PCs in one case and two screens in one. I think i need a two-in-one keyboard, with a hardware KVM switch built into:D
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
anthonym52 wrote:My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference -- but I'm really just posting to show off this: http://i.imgur.com/u4fJxyt.jpg
Damn, this looks AWESOME!
Especially when you match the wallpaper.
What's the model number?
It's awesomely better than having two separate screens(1280x1024 and 1920x1080). Can you press a button and make that screen appear "double-wide" to the system, running windows(or linux) on native resolution?Two full-featured(almost) PCs in one case and two screens in one. I think i need a two-in-one keyboard, with a hardware KVM switch built into:D
Can be the new Philips Monitor presented this summer? Looks pretty cool
Offline
Duelist wrote:anthonym52 wrote:My geekbench results are near native after passing through my NIC controller.. not sure why it's making a difference -- but I'm really just posting to show off this: http://i.imgur.com/u4fJxyt.jpg
Damn, this looks AWESOME!
Especially when you match the wallpaper.
What's the model number?
It's awesomely better than having two separate screens(1280x1024 and 1920x1080). Can you press a button and make that screen appear "double-wide" to the system, running windows(or linux) on native resolution?Two full-featured(almost) PCs in one case and two screens in one. I think i need a two-in-one keyboard, with a hardware KVM switch built into:D
Can be the new Philips Monitor presented this summer? Looks pretty cool
The photo clearly says LG on the screen's bottom.
In fact, it's no new feature - my old(somewhere around 2002, i think)philips CRT TV can do that with television channels, it's a variation of traditional picture-by-picture.
I'm interested in that particular ultra-wide screen.
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
The photo clearly says LG on the screen's bottom.
In fact, it's no new feature - my old(somewhere around 2002, i think)philips CRT TV can do that with television channels, it's a variation of traditional picture-by-picture.
I'm interested in that particular ultra-wide screen.
http://www.lg.com/us/monitors/lg-34UM95 … de-monitor
I knew you guys would appreciate how cool this looks -- I've been lurking this thread for awhile and when I came across this monitor I thought it would be rather novel to give this setup a try (haven't been this excited about Linux since the compiz days!).
Now I have a few questions about OVMF:
Why doesn't it boot my virtual disk? Secondly, what is OVMF_varsxxx.fd for?
Here is my franken-fig (there are other bits to it, but this is the meat and potatoes):
QEMU_PA_SAMPLES=8192 QEMU_AUDIO_DRV=pa \
$QEMU \
-boot menu=on \
-drive if=pflash,format=raw,readonly,file=/home/anthony/ovmf-x64/OVMF-pure-efi.fd \
-drive if=pflash,format=raw,file=/home/anthony/ovmf-x64/OVMF_VARS-pure-efi.fd \
-enable-kvm -cpu host,kvm=off -rtc base=localtime \
-m $MEM $HUGE -smp 8,sockets=1,cores=4,threads=4 \
-vga std \
-device intel-hda -device hda-output \
-device vfio-pci,host=$GPU,addr=04.0,multifunction=on,x-vga=on \
-device vfio-pci,host=$AUDIO,addr=04.1 \
-device pci-assign,host=06:00.0 \
-drive file=$DISK,cache=none,if=none,id=drive0,aio=threads \
-device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \
-net none \
-vnc :0 -k en-us
Offline
magemaster wrote:Someone else using with arch kernel?
uname -a
Linux 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 2014 x86_64 GNU/Linux
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=e9f18698-c70a-41f6-b5c6-c84a8e7eac85 rw quiet rdblacklist=nouveau nouveau.modeset=0 pci-stub.ids=10de:10c3,10de:0be3 intel_pstate=disable i915.enable_hd_vgaarb=1 intel_iommu=on,igfx_off quiet
Tried this way, based on thearcherblog, gave me no error, but no screen
sudo qemu-system-x86_64 -enable-kvm -rtc base=localtime -cpu host,kvm=off -m 2048 -smp 2,sockets=1,cores=2 -serial none -parallel none -nodefconfig \ -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/ovmf_x64.bin \ -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \ -device virtio-scsi-pci,id=scsi \ -drive file=/home/user/windows.img,cache=writeback,if=none,id=drive0,aio=native \ -drive file=/home/user/Win81.iso,id=iso_install,if=none \ -device scsi-cd,drive=iso_install \ -cdrom /home/user/Downloads/virtio.iso \ -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on \ -device vfio-pci,host=01:00.1 \ -net none \ -vga none \ -boot menu=on \ -nographic
and this way, based on nbhs, gave me this error: KVM internal error. Suberror: 1 emulation failure
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu host \ -smp 2,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
I also got the black screen but someone suggested me to have this (and works for me ):
[jgomez@mycolonialone etc]$ cat /etc/modprobe.d/qemu_kvm.conf options kvm ignore_msrs=1 options intel_kvm emulate_invalid_guest_state=0 options intel_kvm nested=1 options intel_kvm enable_shadow_vmcs=1 options intel_kvm enable_apicv=1 options intel_kvm ept=1 #options vfio_pci nointxmask=1 options vfio_iommu_type1 disable_hugepages=1 options vfio_iommu_type1 allow_unsafe_interrupts=1
Regards
Thank you, I installed with the emulated vga as primary and the passthrough as secondary to see what happens, could install nvidia drivers but got Code 43 error, which appears to be fixed with a patch from the 1st post.
PS: your qemu_kvm.conf has "intel_kvm" but in my machine the module name is "kvm_intel"
Offline
thearcherblog wrote:magemaster wrote:Someone else using with arch kernel?
uname -a
Linux 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 2014 x86_64 GNU/Linux
cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=e9f18698-c70a-41f6-b5c6-c84a8e7eac85 rw quiet rdblacklist=nouveau nouveau.modeset=0 pci-stub.ids=10de:10c3,10de:0be3 intel_pstate=disable i915.enable_hd_vgaarb=1 intel_iommu=on,igfx_off quiet
Tried this way, based on thearcherblog, gave me no error, but no screen
sudo qemu-system-x86_64 -enable-kvm -rtc base=localtime -cpu host,kvm=off -m 2048 -smp 2,sockets=1,cores=2 -serial none -parallel none -nodefconfig \ -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/ovmf_x64.bin \ -device virtio-blk-pci,drive=drive0,ioeventfd=on,bootindex=1 \ -device virtio-scsi-pci,id=scsi \ -drive file=/home/user/windows.img,cache=writeback,if=none,id=drive0,aio=native \ -drive file=/home/user/Win81.iso,id=iso_install,if=none \ -device scsi-cd,drive=iso_install \ -cdrom /home/user/Downloads/virtio.iso \ -device vfio-pci,host=01:00.0,multifunction=on,x-vga=on \ -device vfio-pci,host=01:00.1 \ -net none \ -vga none \ -boot menu=on \ -nographic
and this way, based on nbhs, gave me this error: KVM internal error. Suberror: 1 emulation failure
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu host \ -smp 2,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
I also got the black screen but someone suggested me to have this (and works for me ):
[jgomez@mycolonialone etc]$ cat /etc/modprobe.d/qemu_kvm.conf options kvm ignore_msrs=1 options intel_kvm emulate_invalid_guest_state=0 options intel_kvm nested=1 options intel_kvm enable_shadow_vmcs=1 options intel_kvm enable_apicv=1 options intel_kvm ept=1 #options vfio_pci nointxmask=1 options vfio_iommu_type1 disable_hugepages=1 options vfio_iommu_type1 allow_unsafe_interrupts=1
Regards
Thank you, I installed with the emulated vga as primary and the passthrough as secondary to see what happens, could install nvidia drivers but got Code 43 error, which appears to be fixed with a patch from the 1st post.
PS: your qemu_kvm.conf has "intel_kvm" but in my machine the module name is "kvm_intel"
Happy that works for you
To be honest, I do not know anything about the qemu_kvm.conf and, even, when I made a few tests, is a mess because sometimes I get the error 43 and then I need to remove the driver and install it again (because setting the options back does not help until reinstall drivers)... so.... I'm not expert at all; probably some of the Gurus here can give you real information about what makes every option
Offline
thearcherblog wrote:Duelist wrote:Damn, this looks AWESOME!
Especially when you match the wallpaper.
What's the model number?
It's awesomely better than having two separate screens(1280x1024 and 1920x1080). Can you press a button and make that screen appear "double-wide" to the system, running windows(or linux) on native resolution?Two full-featured(almost) PCs in one case and two screens in one. I think i need a two-in-one keyboard, with a hardware KVM switch built into:D
Can be the new Philips Monitor presented this summer? Looks pretty cool
The photo clearly says LG on the screen's bottom.
In fact, it's no new feature - my old(somewhere around 2002, i think)philips CRT TV can do that with television channels, it's a variation of traditional picture-by-picture.
I'm interested in that particular ultra-wide screen.
My Dell U2913WM can do this too, but I've never used it. You have to ask yourself if two 1280x1080 desktops, side-by-side w/o a seam is really all that useful for you. In my case I do all my work on a Linux desktop and Windows is a test/toy. I wouldn't sacrifice primary real estate for Windows. Maybe the LG shown is 4k, but it still wouldn't make sense for my use case, no matter how pretty is is.
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
I spent most of yesterday getting QEMU with KVM set up on my system. I compiled an up-to-date version of QEMU on my own. I'm getting Code 43 in Windows 7's device manager after installing the NVIDIA drivers (version 335.23, to avoid the KVM detection issues).
Specs:
ASUS z97-AR
i5 4690k
GTX 660
The HDMI audio device I passed through with the VGA device appears to work just fine! No yellow bang next to the audio device. IOMMU and Vt-d are supported by my motherboard and processor, so no issues there.
sudo /home/ian/qemu/qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -M pc \
-m 4096 \
-cpu host,kvm=off \
-bios /usr/share/qemu/bios.bin -vga cirrus \
-smp cores=4,threads=1,sockets=1 \
-device pci-assign,host=01:00.0 \
-device pci-assign,host=01:00.1 \
-hda /home/ian/windows.img -cdrom /home/ian/windows.iso \
-boot menu=on
BOOT_IMAGE=/boot/vmlinuz-3.13.0-32-generic root=UUID=db818228-48ec-49b8-997b-163fa46c6ea0 ro quiet splash i915.enable_hd_vgaarb=1 intel_iommu=on pci-stub.ids=10de:11c0,10de:0e0b vfio_iommu_type1.allow_unsafe_interrupts=1 vt.handoff=7
Any ideas? Using QEMU 2.2.50.
Last edited by ebol4 (2014-12-17 17:00:05)
Offline
I spent most of yesterday getting QEMU with KVM set up on my system. I compiled an up-to-date version of QEMU on my own. I'm getting Code 43 in Windows 7's device manager after installing the NVIDIA drivers (version 335.23, to avoid the KVM detection issues).
Specs:
ASUS z97-AR
i5 4690k
GTX 660The HDMI audio device I passed through with the VGA device appears to work just fine! No yellow bang next to the audio device. IOMMU and Vt-d are supported by my motherboard and processor, so no issues there.
sudo /home/ian/qemu/qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -M pc \ -m 4096 \ -cpu host,kvm=off \ -bios /usr/share/qemu/bios.bin -vga cirrus \ -smp cores=4,threads=1,sockets=1 \ -device pci-assign,host=01:00.0 \ -device pci-assign,host=01:00.1 \ -hda /home/ian/windows.img -cdrom /home/ian/windows.iso \ -boot menu=on
BOOT_IMAGE=/boot/vmlinuz-3.13.0-32-generic root=UUID=db818228-48ec-49b8-997b-163fa46c6ea0 ro quiet splash i915.enable_hd_vgaarb=1 intel_iommu=on pci-stub.ids=10de:11c0,10de:0e0b vfio_iommu_type1.allow_unsafe_interrupts=1 vt.handoff=7
Any ideas? Using QEMU 2.2.50.
Why are you even expecting this to work? Where are the instructions that say ignore everything in this thread, and just assign GeForce cards as secondary graphics with legacy KVM device assignment? Has this ever worked?
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
magemaster wrote:thearcherblog wrote:I also got the black screen but someone suggested me to have this (and works for me ):
Linux 3.17.6-1-ARCH #1 SMP PREEMPT Sun Dec 7 23:43:32 UTC 2014 x86_64 GNU/Linux
Regards
Thank you, I installed with the emulated vga as primary and the passthrough as secondary to see what happens, could install nvidia drivers but got Code 43 error, which appears to be fixed with a patch from the 1st post.
PS: your qemu_kvm.conf has "intel_kvm" but in my machine the module name is "kvm_intel"
Happy that works for you
To be honest, I do not know anything about the qemu_kvm.conf and, even, when I made a few tests, is a mess because sometimes I get the error 43 and then I need to remove the driver and install it again (because setting the options back does not help until reinstall drivers)... so.... I'm not expert at all; probably some of the Gurus here can give you real information about what makes every option
BOOT_IMAGE=/vmlinuz-linux root=UUID=e9f18698-c70a-41f6-b5c6-c84a8e7eac85 rw quiet rdblacklist=nouveau nouveau.modeset=0 pci-stub.ids=10de:10c3,10de:0be3 intel_pstate=disable i915.enable_hd_vgaarb=1 intel_iommu=on,igfx_off quiet
Thank you, but It didn't work,
what I could do was boot using the cirrus emulated card and see the nvidia card as a secondary, then installed the latest driver and got a 43 error
I will try the OP way, patching and compilling stuff
Last edited by magemaster (2014-12-17 17:46:08)
Offline
Duelist wrote:thearcherblog wrote:Can be the new Philips Monitor presented this summer? Looks pretty cool
The photo clearly says LG on the screen's bottom.
In fact, it's no new feature - my old(somewhere around 2002, i think)philips CRT TV can do that with television channels, it's a variation of traditional picture-by-picture.
I'm interested in that particular ultra-wide screen.My Dell U2913WM can do this too, but I've never used it. You have to ask yourself if two 1280x1080 desktops, side-by-side w/o a seam is really all that useful for you. In my case I do all my work on a Linux desktop and Windows is a test/toy. I wouldn't sacrifice primary real estate for Windows. Maybe the LG shown is 4k, but it still wouldn't make sense for my use case, no matter how pretty is is.
The actual screen is 3440x1440. So it makes it 1720x1440. Well, despite the weird aspect ratio, it's almost fullHD.
Comparing to the current setup...
I have 1280x1024 D-SUB-Only attached to GT610 fitted inside my case using MAGIC, and 1920x1080 DVI and D-SUB compatible.
Some time ago i used fullhd's video inputs for testing both passed GPUs(i've got two in crossfire, if you forgot), but it produced really weird glitches. So, right now my D-SUB input on fullhd is unplugged. I can't plug it to GT610 because... there is no damn space for it in the case. I can do some OTHER magic, but that would require a lot of mana.(changing the motherboard or designing and making a whole new case from scratch)
And so, i have my fullhd screen offline when there is no VM running, i can't watch some cinema or series or anime or youtube or whatever on it. Watching 1280x720p is fine for me, but it still makes me sad a little. And the other way, i can't plug my square screen into one of PT'd CF'd GPUs to have 3200x1080 "eyefinity" experience(i did it previously when i had real windows running on physical hardware, and it was fun).
Making two 1280x1080 screens and having the ability to quickly stretch them to the native resolution would be good. Having two 1720x1440 screens would be even more awesome, and having the ability to switch it to full 3440x1440 for cinema or work is totally awesome.
Also, it'd fill up my desk completely, as there is about 5cm gap between the upper bezel and the upper "deck" or whatever it's called. I can't use the wall mount because the square screens lacks VESA(it's ~10 years old), and i've got no proper wall behind them.
So, the question is: can you turn on/turn off that picture-by-picture feature quickly, switching the output to native resolution?
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
So, the question is: can you turn on/turn off that picture-by-picture feature quickly, switching the output to native resolution?
This seems to be pretty annoying on the Dell. You can change one of the buttons to PBP (Picture-By-Picture), but it enables it and allows you to switch inputs. AFAICT there's no way to turn it back off w/o going through the menu. It also doesn't seem to do anything automatic with the screen resolution. When I enable it my desktop just gets squashed to half the screen. I suppose it would need to appear more like a monitor disconnected+reconnect with different EDID to do anything automatic. No idea what the LG does obviously. That resolution certainly opens up the possibilities a bit though.
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:So, the question is: can you turn on/turn off that picture-by-picture feature quickly, switching the output to native resolution?
This seems to be pretty annoying on the Dell. You can change one of the buttons to PBP (Picture-By-Picture), but it enables it and allows you to switch inputs. AFAICT there's no way to turn it back off w/o going through the menu. It also doesn't seem to do anything automatic with the screen resolution. When I enable it my desktop just gets squashed to half the screen. I suppose it would need to appear more like a monitor disconnected+reconnect with different EDID to do anything automatic. No idea what the LG does obviously. That resolution certainly opens up the possibilities a bit though.
I expected exactly "EDID Change" behaviour. Well, sad thing that it doesn't work that way, just squishes.
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
Does Code 12 in Device Manager for an Nvidia card have a fix? Or could that be caused by a lot of different things?
edit: I also don't see any output on the attached monitor, including seabios output, which leads me to believe that it's an issue with my configuration, not Windows.
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 4096 -cpu host,kvm=off \
-smp 4,sockets=1,cores=4,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 \
-device vfio-pci,host=01:00.1,bus=root.1,addr=00.1 \
-device ahci,id=ahci0 \
-drive file=/home/ian/windows.img,id=disk,if=none -device ide-drive,bus=ahci0.0,drive=disk \
-drive file=/home/ian/windows.iso,id=isocd,if=none -device ide-cd,bus=ahci0.1,drive=isocd \
-boot menu=on
Last edited by ebol4 (2014-12-17 23:45:18)
Offline
Does Code 12 in Device Manager for an Nvidia card have a fix? Or could that be caused by a lot of different things?
edit: I also don't see any output on the attached monitor, including seabios output, which leads me to believe that it's an issue with my configuration, not Windows.
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 4096 -cpu host,kvm=off \
-smp 4,sockets=1,cores=4,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 \
-device vfio-pci,host=01:00.1,bus=root.1,addr=00.1 \
-device ahci,id=ahci0 \
-drive file=/home/ian/windows.img,id=disk,if=none -device ide-drive,bus=ahci0.0,drive=disk \
-drive file=/home/ian/windows.iso,id=isocd,if=none -device ide-cd,bus=ahci0.1,drive=isocd \
-boot menu=on
That's looking better, though personally I still discourage q35 for Windows guests. You showed in the first post that you're using the i915.enable_hd_vgaarb=1 option, did you actually patch your kernel to include that patch? Primary VGA assignment still doesn't work with Intel IGD as host without it. If you want to avoid patching anything, use a GPU and guest with UEFI support and go the OVMF route.
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
That's looking better, though personally I still discourage q35 for Windows guests. You showed in the first post that you're using the i915.enable_hd_vgaarb=1 option, did you actually patch your kernel to include that patch? Primary VGA assignment still doesn't work with Intel IGD as host without it. If you want to avoid patching anything, use a GPU and guest with UEFI support and go the OVMF route.
I did not patch my kernel. I'm pretty sure my GPU doesn't support UEFI though, so it looks like I'm going to have to go that way. This involves pulling the kernel source and rebuilding it completely, right? Or am I just rebuilding one module?
edit: I got it figured out. Building kernel now.
Also, you said you discourage q35 for Windows guests. Is there another one you recommend instead?
Last edited by ebol4 (2014-12-18 01:10:41)
Offline
aw wrote:That's looking better, though personally I still discourage q35 for Windows guests. You showed in the first post that you're using the i915.enable_hd_vgaarb=1 option, did you actually patch your kernel to include that patch? Primary VGA assignment still doesn't work with Intel IGD as host without it. If you want to avoid patching anything, use a GPU and guest with UEFI support and go the OVMF route.
I did not patch my kernel. I'm pretty sure my GPU doesn't support UEFI though, so it looks like I'm going to have to go that way. This involves pulling the kernel source and rebuilding it completely, right? Or am I just rebuilding one module?
edit: I got it figured out. Building kernel now.Also, you said you discourage q35 for Windows guests. Is there another one you recommend instead?
The default machine type is 440FX, there's an example of using it here:
http://vfio.blogspot.com/2014/08/dual-v … adeon.html
Q35 really buys you nothing but complication and poor disk performance with AHCI. Also, if you ever intend to migrate to using libvirt to manage the guest, it gets even worse. I think I gave an example within the last few weeks of a simple wrapper script for QEMU that can be used with libvirt if all you need to do is add the x-vga=on option to vfio-pci VGA device. With q35 people end up requiring <qemu:arg> extensions in the guest xml that hides the assigned device and setup of resources for it from libvirt.
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