You are not logged in.

#1 2020-02-10 21:11:55

TerryRimmer
Member
Registered: 2020-02-10
Posts: 2

QEMU/KVM Slow With Poor Video Performance

So... After getting immerse with Qubes OS and its documentation I've put some thought into a convenient way to handle web-browsing and beyond interactions with applications without compromising my primary personal Arch system. Since Xen is not an option as it lacks compatibility and integration with my main system, KVM has shown to be promising and dynamically wise (not as secure since it runs on kernel layer, but still a bare-metal type 1 manner to run VMs and provide security by compartmentalization at some high enough degree to satisfy all my current needs).

Firstly, I went suckless: Installing needed packages (qemu, virt-viewer, dnsmasq, vde2, bridge-utils, openbsd-netcat, ebtables, iptables), starting libvirt service, enabling VT on BIOS and finally running Virt-manager to handle things for me. When launching Fedora and Debian instances I get a really poor performance, especially on the graphics side (no GPU passthrough involved) where there is a notorious desynchronization with the refresh rate and poor slow performance overall.

For some reason, the guest VM running through virt manager was emulating Opteron 63xx class CPU, when it should be set to my actual processor: AMD FX(tm)-8320.

I've also tried facing Arch Wiki's QEMU page as the bible and executing straight through QEMU with the following parameters set:


qemu-system-x86_64 -enable-kvm -cpu host -vga qxl -boot d -cdrom image.iso -m 3072

The performance has been increased a lot this way and CPU is emulated correctly (passing host processor features through -cpu host made a difference here). Although I still get GPU refresh rate issues with horizontal lines and decrease in performance when executing mundane tasks. Detail: On both attempts, qxl has been enabled as recommended in the wiki.

It also comes to my attention the fact that KVM is running as expected on the host machine, but the output is different on the actual guest VM:

lsmod | grep kvm
kvm_amd         106496  0
ccp             102400  1 kvm_amd
kvm             774144  1 kvm_amd
irqbypass        16384  1 kvm

Fellow Archers, please further my knowledge here!

I'm also currently knocking my head on how could I emulate Qubes's AppVM manner of shortcutting applications on QEMU. Should I have to write specific scripts for the task?

Offline

#2 2020-02-11 05:16:14

liewkj
Member
Registered: 2019-07-08
Posts: 107

Re: QEMU/KVM Slow With Poor Video Performance

While Arch wiki is a great source of info, its content can sometimes getting a bit long in the tooth.....
For Linux guests with recent enough upstream kernel, the "-vga virtio" is a better emulated display with the option for VirGL acceleration "-display sdl,gl=on" or "-display gtk,gl=on".

Offline

#3 2020-02-11 09:46:50

TerryRimmer
Member
Registered: 2020-02-10
Posts: 2

Re: QEMU/KVM Slow With Poor Video Performance

For Linux guests with recent enough upstream kernel, the "-vga virtio" is a better emulated display with the option for VirGL acceleration "-display sdl,gl=on" or "-display gtk,gl=on".

That was it! Thanks a lot. Guess I was the bit long in the tooth. The wiki does mention qxl but always highlighting the resolution and 3D acceleration downsides. I probably scraped the qxl section from an old thread here, since I've organized everything on a document for the sake of following it up.

Still... The wiki fails on documenting virt-manager for Arch. I can run it perfectly from the emulator, but even when enabling VirtIO inside virt-manager with the proper configuration, it misses 3D acceleration and the CPU is not passed correctly.

Do you know what causes these issues on virt-manager? Would that also be related with Arch's recent upstream kernel?

Last edited by TerryRimmer (2020-02-11 13:10:19)

Offline

Board footer

Powered by FluxBB