Qemu/KVM + vfio - virtuell maskin för gaming med ~99,6% native performance

Permalänk

Qemu/KVM + vfio - virtuell maskin för gaming med ~99,6% native performance

För er som vill köra en virtualiserad Windows-installation för spel i er Linux-miljö så finns det ett bra alternativ sedan en tid tillbaka. Här körs en virtuell maskin genom Qemu/KVM där det ena grafikkortets GPU (Gigabyte Windforce GTX 770, DVI-I kopplad till vänstra monitorn) knutits till VM'en genom vfio. Enligt videoskaparen får han 99,6% jämfört med native performance i en Windows-installation på bara metallen. Både CPU och moderkort måste dock stödja VT-d för att detta ska funka.

Hur man sätter upp detta kan man läsa om i tråden nedan, detta är då specifikt för ArchLinux, men bör gå att anpassa till andra distar.
https://bbs.archlinux.org/viewtopic.php?id=162768

Man bör notera att när Windows-maskinen körs så delar Synergy-programvaran på mus och tangentbord, det är alltså ingen sömlös desktop utan delningen sker via mjukvara. Det kan man se nedan genom att Intel-grafikkortet kopplats mot båda skärmarna (HDMI + DVI-D) vilket används i "Linux-läge", medan GTX 770 sitter på vänstra monitorns DVI-I som dras igång när Windows-VMen drar igång.

Mer data från videon:

Hardware used:
- CPU: Core i7 4771
- Mainboard: ASRock Fatal1ty Z87 Killer
- GPU 1: Onboard Intel HD Graphics 4600 (i915), HDMI connected to left monitor, DVI-D connected to right monitor
- GPU 2: Gigabyte Windforce GTX 770, DVI-I connected to left monitor

Software used:
- Base: Gentoo Linux ~amd64
- Kernel: 3.13.1 with i915 VGA arbiter patches
- Qemu: Git version of 2014-02-02 (1.7.50). 1.7.0 is too old and won't work, at least not with nvidia cards.
- Synergy: 1.4.15 (Share Keyboard/Mouse between multiple PCs, http://synergy-foss.org/)

Benchmarks:
- Native: http://www.3dmark.com/3dm/2306367
- Emulated: http://www.3dmark.com/3dm/2329558

Kolla också kommentarerna till videon, finns mycket info där. Och YMMV.

Lade till om VT-d CPU + moderkort
Visa signatur
Permalänk
Medlem

Tyvärr är detta ett helvete att få igång. Det finns så mycket hårdvaru, bios och mjukvarubuggar att man måste ha en extrem tur om det funkar. En av idéerna med IOMMU är att det ska skydda systemet från trasig hårdvara och det är mycket hårdvara som har defekter som bara märks när IOMMUn är aktiv. Linux kernelns stöd för IOMMU för desktops är fortfarande inget vidare. Jag har fortfarande inte hittat någon kernel version där hibernate funkar med IOMMU påslagen. Hibernate är en grej som är väldigt fragilt även utan IOMMU. Man måste applicera out of tree patchar och använda exakt rätt hårdvara och drivrutiner. AMDs closed source drivrutiner går t.ex. inte att använda på hosten för den ignorerar inställningarna i xorg.conf, gör en egen pci listning och försöker greppa all hårdvara den ser. Även om hårdvaran har stöd för FLReset så brukar den vara buggig. Resultatet blir att man kan få VGA forwarding att funka en gång men startar man om den virtualla maskinen så funkar inte reseten av grafikkortet och drivrutinen i guesten kukar ur. Det är så mycket problem att det ärligt talat inte är värt mödan. Om några år då all hårdvara har IOMMU och alla operativsystem aktiverar det som default kanske stödet blir bättre.

Permalänk
Medlem

Det här ser väligt intressant ut måste jag säga! Hoppas att det blir enklare att få igång och stödet för hårdvara blir större. Då kan man hoppa över till Linux helt och hållet och slippa Windows. Menar då att man slipper köra Windows som main och kan köra Linux i grunden

Visa signatur

Imac 27" Retina 5k | 3x Dell P2715Q | Intel i7- 3820 @ 4.3 Ghz | Asus P9X79 DELUXE| G.Skill 24GB | Corsair HX 850W | EVGA GTX 1080 TI SLI | EVGA GTX 460 | Fractal Design Define R4 | Vortex POK3R RGB MX Nature White | W 10 Pro 64-bit | Arch Linux

Permalänk
Medlem

@CryingFreeman: Har nån nån lekt med virtualisering mer sen posten vart inlaggt och har några tankar kring det?
Hittade en tråd om KVM/Qemu på teksyndicate men de verkar inte prata så mycket om hur det fungerar och vad dom har gjort med det i.o.m, blev mest teori.

Visa signatur

Rota3: Ryzen 5600 - 32GB - Radeon RX 7600 - Kingston NV200 2TB - Fractal Design R3 - EVGA Supernova 750W

Permalänk
Medlem
Skrivet av nick-li:

@CryingFreeman: Har nån nån lekt med virtualisering mer sen posten vart inlaggt och har några tankar kring det?
Hittade en tråd om KVM/Qemu på teksyndicate men de verkar inte prata så mycket om hur det fungerar och vad dom har gjort med det i.o.m, blev mest teori.

Jag har en VM för gaming som använder ett radeon hd 6770 i en windows vista VM. Windows vista eftersom den är den enda windows versionen som jag har en licens för.

Jag får nära nog native prestanda men jag använder inte virtualisering så ofta ändå av andra anledningar. Multiplatformspel spelar jag på konsol i stället. Jag är en cheap ass och föredrar konsolspel eftersom jag kan låna dom gratis from biblioteket. PC spel kan man heller aldrig vara säker på att dom funkar på ens hårdvara. Hittills har allt jag testat funkat men jag ogillar att köpa grisen i säcken på det viset. Om ett spel jag köper är dåligt kan jag inte få pengarna tillbaka på PC. Jag har ingen cd läsare så jag är begränsad till digital nerladdning och det brukar vara omöjligt att sälja de spelen i andrahand. Virtualisering är en ovanlig setup så spel eller steam kanske felaktigt tror att man använder fuskverktyg och bannar en. Pga dom problemen spelar jag mest bara steam gratisspel och humble bundle spel i den virtuella maskinen.

http://vfio.blogspot.se/2015/05/vfio-gpu-how-to-series-part-1...
Här finns en bra guide i flera delar. De flesta problemen jag lista i min förra post gäller fortfarande. Det största problemet är att man omöjligt kan veta om hårdvara funkar innan köp.