Grafikprestanda i VMs?

Permalänk
Medlem

Grafikprestanda i VMs?

Hej !

Jag sitter med ett klassiskt problem (gissar jag) men alla lösningar tenderar att bli lite over the top.
Det jag försöker få till, är att rationalisera datormängden hemma till en enda burk och virtualisera så mycket jag orkar. Kraftig burk finnes. Jag kan lösa NAS, olika OS, development osv via Proxmox, Linux + KVM eller t o m Windows + Hyper-V.
Den enda applikationen som jag har lite krav på, är att jag gillar att titta på film. Massor av film i hög upplösning. I VM.

När jag bygger virtualisering på Linux eller Proxmox, hamnar jag alltid i problemet att jag aldrig kan få video lag-fri utan att börja dyka in i GPU pass-through men det känns ganska instabilt (i alla fall känns det som för krångligt i längden).
Den enda virtualiseringen som ger lag-fri video är Hyper-V, men jag gillar inte tanken på att i grunden ha ett host-OS som är öppet och ganska instabilt (Windows) - en uppdatering senare så slutar slumpvis funktionalitet att fungera.

Så - är det bara jag som inte snavat över "rätt" tips eller är det så infernaliskt svårt att få till just stabil video i VM?
Jag vill helst ha en portabel lösning, så massor av cores är inget problem, men just GPU pass-through känns inte som den väg jag vill gå om jag inte kan slippa (innan det är trivialt supportat av infrastrukturen).
Dual boot börjar kännas förlegat...
Tacksam för förslag !

MVH/Lacke

Permalänk

Om du inte vill köra Hyper-V på "desktop experience", kan Hyper-V Server Core vara något (om det inte är det du kört förstås)?

Visa signatur

Workstation: Intel Core i5-10400 | Gigabyte B460M DS3H | 16GB DDR4 | Geforce GTX1660 SUPER 6GB |
Server: Dell R730xd | Intel Xeon E5-2640 | 64GB DDR3 ECC RAM | Dell VMware vSphere ESXi 6.5
NAS: Synology 212J 2x4TB, Synology 218play 2x4TB | MSMCP CCNA1

Permalänk
Medlem
Skrivet av Delarium.:

Om du inte vill köra Hyper-V på "desktop experience", kan Hyper-V Server Core vara något (om det inte är det du kört förstås)?

Problemet är ju (väl?) att jag är kvar på MS-bas? Skall medge att jag inte testat just denna kombination (men snart sagt alla andra)...

Permalänk
Medlem

Är det ett måste att köra full-blown VM? Varför inte containers? LXC eller Docker beroende på ändamål.

Permalänk
Medlem
Skrivet av dlq84:

Är det ett måste att köra full-blown VM? Varför inte containers? LXC eller Docker beroende på ändamål.

Kanske åldersnoja.
Skämt åsido - har arbetat kommersiellt med virtualisering i mer än 10 år och har kommit fram till att jag gillar att ha koll på guest OS. Kanske kontrollbehov eller bara gammal vana. Enklare konceptuellt. Gillar också att kunna välja OS och miljö beroende på vad jag vill göra. Så - svaret är nog att jag helst vill få denna enkla detalj fungerande. Allt annat är trivialt.

Permalänk
Medlem
Skrivet av Lacke67:

Kanske åldersnoja.
Skämt åsido - har arbetat kommersiellt med virtualisering i mer än 10 år och har kommit fram till att jag gillar att ha koll på guest OS. Kanske kontrollbehov eller bara gammal vana. Enklare konceptuellt. Gillar också att kunna välja OS och miljö beroende på vad jag vill göra. Så - svaret är nog att jag helst vill få denna enkla detalj fungerande. Allt annat är trivialt.

Ok, ja men då vill du ha SR-IOV antagligen, så du kan få nära-nog direktaccess till GPUn.

Permalänk
Medlem
Skrivet av dlq84:

Ok, ja men då vill du ha SR-IOV antagligen, så du kan få nära-nog direktaccess till GPUn.

Nja, helst inte just gråzonen. Bränner hellre lite CPU på problemet än just invecklad konf.

Permalänk
Skrivet av Lacke67:

Problemet är ju (väl?) att jag är kvar på MS-bas? Skall medge att jag inte testat just denna kombination (men snart sagt alla andra)...

Hyper-V Core eller Nano har en betydligt mindre kodbas än Windows med hela Desktop Experience.
Mer info här: https://techcommunity.microsoft.com/t5/containers/nano-server...

Visa signatur

Workstation: Intel Core i5-10400 | Gigabyte B460M DS3H | 16GB DDR4 | Geforce GTX1660 SUPER 6GB |
Server: Dell R730xd | Intel Xeon E5-2640 | 64GB DDR3 ECC RAM | Dell VMware vSphere ESXi 6.5
NAS: Synology 212J 2x4TB, Synology 218play 2x4TB | MSMCP CCNA1

Permalänk
Medlem

Vad är det du tycker känns instabilt och krångligt med GPU passthrough? Köp ett till grafikkort bara som du inte använder till något annat och skicka in i en VM. För att visa bilden från den kör du med looking-glass i Linux och slipper hålla på med extra sladdar. Det är nog det minst komplicerade sättet att få nästan native-prestanda från ett grafikkort i en virtuell maskin.

Jag tror väl iofs att typ virtio stödjer någon typ av accelererad grafik numera också som kanske kan räcka till för att se på film?

Permalänk
Medlem
Skrivet av Icetec:

Vad är det du tycker känns instabilt och krångligt med GPU passthrough? Köp ett till grafikkort bara som du inte använder till något annat och skicka in i en VM. För att visa bilden från den kör du med looking-glass i Linux och slipper hålla på med extra sladdar. Det är nog det minst komplicerade sättet att få nästan native-prestanda från ett grafikkort i en virtuell maskin.

Jag tror väl iofs att typ virtio stödjer någon typ av accelererad grafik numera också som kanske kan räcka till för att se på film?

Senast jag försökte, var det ett fasligt googlande och studier av olika youtube-klipp för att försöka få ihop ett försök. Om det inte fungerade, var det svårt att förstå varför, och om man uppgraderade någon länk i kedjan, kunde det typiskt sluta fungera utan att man egentligen förstod varför. Stabilt för mig är om man har officiell och enkel support för en teknik och t ex kanske kunna konfa passthrough-koppling mellan device och VM direkt i GUI eller liknande. Men det kanske går att göra idag i Proxmox osv? Jag är lite trött på olika script som cirkulerar och ingen vet egentligen vad som funkar till vad…

Permalänk
Rekordmedlem

Varför ? Det är enklare att dela ut videofilerna i lanet och spela upp dem i klienten så varför göra det så komplicerat när det inte ger nån fördel.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av mrqaffe:

Varför ? Det är enklare att dela ut videofilerna i lanet och spela upp dem i klienten så varför göra det så komplicerat när det inte ger nån fördel.

Problemet var väl att alla klienterna körs virtuellt på/i samma hårdvara, med virtuella grafikkort utan hårdvaruacceleration?

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 | HP Z24n |► OnePlus 6 |

Permalänk
Medlem

Tänkte bara säga att jag har funderat på typ samma sak som du - dvs att ha en dator med flera olika VMs (standalone Windows, Linux, plus några andra grejer), utan en host-OS.
Tänker du ha datorn som ett server, och bara använda den via ett nätverksuppkoppling, eller tänker du bara använda den?

Permalänk
Rekordmedlem
Skrivet av xfade:

Problemet var väl att alla klienterna körs virtuellt på/i samma hårdvara, med virtuella grafikkort utan hårdvaruacceleration?

Man behöver nått o-virtuellt för att visa filmen på. den mediaspelare (hård eller mjukvara tex i en tv) eller dator som driver bildvisaren kan spela upp filen lokalt i stället för att strula med fjärrskrivbord som ger sämre bildkvalitet än lokal uppspelning.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av mrqaffe:

Varför ? Det är enklare att dela ut videofilerna i lanet och spela upp dem i klienten så varför göra det så komplicerat när det inte ger nån fördel.

Jag är inte ute efter att dela ut till en extern klient. Jag kör multipla VMar lokalt på en och samma host. Uppspelning på samma maskin men i VM. Målet är (bland annat) att slippa multipelboot.

Permalänk
Medlem
Skrivet av iknight:

Tänkte bara säga att jag har funderat på typ samma sak som du - dvs att ha en dator med flera olika VMs (standalone Windows, Linux, plus några andra grejer), utan en host-OS.
Tänker du ha datorn som ett server, och bara använda den via ett nätverksuppkoppling, eller tänker du bara använda den?

Jag sitter normalt och jobbar direkt mot denna maskin, men om man kör Proxmox eller liknande är det enkelt att nå alla VMs utifrån om man vill. Allt detta funkar skitbra, men just videoprestandan är svår att få bra. Synd egentligen eftersom konceptet slår multiboot med hästlängder. Enkel backup och replikering av maskiner osv. Dessutom kan man ju t ex ha en NAS-VM tuffande oberoende osv..

Permalänk
Medlem
Skrivet av Lacke67:

Jag sitter normalt och jobbar direkt mot denna maskin, men om man kör Proxmox eller liknande är det enkelt att nå alla VMs utifrån om man vill. Allt detta funkar skitbra, men just videoprestandan är svår att få bra. Synd egentligen eftersom konceptet slår multiboot med hästlängder. Enkel backup och replikering av maskiner osv. Dessutom kan man ju t ex ha en NAS-VM tuffande oberoende osv..

Jag kanske missförstår, men du sitter på en kraftfull server som kör massa VMS, men du måste köra din videofil i en VM och kan inte köra den lokalt på datorn hårdvaran direkt? Varför?

Vad missar jag?!?

Visa signatur

5700x3D | RTX 2060 Super | 2 TB M.2 | 32 GB RAM | Gigabyte DS3H| 750 WATT

Permalänk
Medlem
Skrivet av Lacke67:

Jag sitter normalt och jobbar direkt mot denna maskin, men om man kör Proxmox eller liknande är det enkelt att nå alla VMs utifrån om man vill. Allt detta funkar skitbra, men just videoprestandan är svår att få bra. Synd egentligen eftersom konceptet slår multiboot med hästlängder. Enkel backup och replikering av maskiner osv. Dessutom kan man ju t ex ha en NAS-VM tuffande oberoende osv..

Måste säga att jag blir väldigt sugen på att bygga ihop en sån system själv. Som du säger, det finns massa fördelar och användingsområden. Är själv mest sugen på det då jag vill ha en stationär med Linux och Windows uppe samtidigt, fast avskilt, plus ev. några till VMs med Docker instanser osv...
Jag hade nog isf. köpt ett billigt dual x99 CPU system, men har fortfarande inte listat ut (som du) det med grafiken, då jag vill ändå kunna köra spel i Windows.

Permalänk
Medlem
Skrivet av FX9:

Jag kanske missförstår, men du sitter på en kraftfull server som kör massa VMS, men du måste köra din videofil i en VM och kan inte köra den lokalt på datorn hårdvaran direkt? Varför?

Vad missar jag?!?

Riktig hög kvalitet uppspelning kräver ändå vettig GPU prestanda, som TS förmodligen inte kan avlasta på sin CPU.

Permalänk
Rekordmedlem
Skrivet av iknight:

Riktig hög kvalitet uppspelning kräver ändå vettig GPU prestanda, som TS förmodligen inte kan avlasta på sin CPU.

En modern cpu avkodar videon i hårdvara och en dedikerad mediaspelare kostar idag från 5-600 kr och de är oftast mycket bättre än en dator på just filmuppspelning, ett grafikkort är faktisk ofta uselt på att spela upp film med tanke på hur otroligt dyra de kan vara.
Spelgrafik är idag enklare än film och att visa ett högupplöst skrivbord för en dator för win ställer till det med hdr och färgsubsampling förutom att det kan strula med drm.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av mrqaffe:

Man behöver nått o-virtuellt för att visa filmen på. den mediaspelare (hård eller mjukvara tex i en tv) eller dator som driver bildvisaren kan spela upp filen lokalt i stället för att strula med fjärrskrivbord som ger sämre bildkvalitet än lokal uppspelning.

Och det var precis det TS frågade efter för att slippa..

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 | HP Z24n |► OnePlus 6 |

Permalänk
Medlem
Skrivet av FX9:

Jag kanske missförstår, men du sitter på en kraftfull server som kör massa VMS, men du måste köra din videofil i en VM och kan inte köra den lokalt på datorn hårdvaran direkt? Varför?

Vad missar jag?!?

Måste och måste. Jag kan naturligtvis ha Windows som host, kolla på film där (i host OS) och köra VMs i Hyper-V. Men Hyper-V känns lite skakigt. Jag har ofta (för ofta?) problem med att en Linux gäst inte vill starta eller gå ner. Om jag istället har Linux som host, kan jag titta på film där, KVM fungerar stabilt men just grafik i VM laggar.

Om man vill ha en NAS VM, en Unify controller och lite andra basala tjänster körande, känns det som en bättre lösning att just ha en ren hypervisor som Proxmox, men problemet är just film.

Sedan stör jag mig på att jag inte får löst problemet och det har väl blivit en utmaning att lösa det.
Som exempel har jag HTPCs (Win10) hemma till TV och projektor och kör 720/1080p med olika källor (Netflix, SVTplay, Teliaplay, popcorn och t o m DVD) på gamla i3-6100 (2c/4t) utan dedikerat grafikkort alls utan en tillstymmelse till lag. Både CPU och GPU klarar detta utan speciell last (”nästan” idle). Jag kan prova att lasta och köra virtual box och installera linux medan jag kollar film utan problem, dvs när man kör native drar video inte så mycket.

På min ”arbetsstation” har jag en Ryzen 7 5700G (APU) 16c/32t med 32G minne. Som väntat drar en VM nästan ingenting av CPU och jag kan lasta på hur mycket som helst utan att burken knäar eller något laggar. Förutom video. Om jag kör en enda VM och ger den massor av resurser och inte gör något annat i datorn, laggar video i VMen i alla fall, även om CPU egentligen idlar.
Det känns alltså inte som ett problem med just rå kraft utan snarare något annat.
Hur löser proffsen detta? Man kör ju aldrig med dedikerade grafikkort och passthrough i ett datacenter?

Permalänk
Medlem
Skrivet av Lacke67:

Måste och måste. Jag kan naturligtvis ha Windows som host, kolla på film där (i host OS) och köra VMs i Hyper-V. Men Hyper-V känns lite skakigt. Jag har ofta (för ofta?) problem med att en Linux gäst inte vill starta eller gå ner. Om jag istället har Linux som host, kan jag titta på film där, KVM fungerar stabilt men just grafik i VM laggar.

Om man vill ha en NAS VM, en Unify controller och lite andra basala tjänster körande, känns det som en bättre lösning att just ha en ren hypervisor som Proxmox, men problemet är just film.

Sedan stör jag mig på att jag inte får löst problemet och det har väl blivit en utmaning att lösa det.
Som exempel har jag HTPCs (Win10) hemma till TV och projektor och kör 720/1080p med olika källor (Netflix, SVTplay, Teliaplay, popcorn och t o m DVD) på gamla i3-6100 (2c/4t) utan dedikerat grafikkort alls utan en tillstymmelse till lag. Både CPU och GPU klarar detta utan speciell last (”nästan” idle). Jag kan prova att lasta och köra virtual box och installera linux medan jag kollar film utan problem, dvs när man kör native drar video inte så mycket.

På min ”arbetsstation” har jag en Ryzen 7 5700G (APU) 16c/32t med 32G minne. Som väntat drar en VM nästan ingenting av CPU och jag kan lasta på hur mycket som helst utan att burken knäar eller något laggar. Förutom video. Om jag kör en enda VM och ger den massor av resurser och inte gör något annat i datorn, laggar video i VMen i alla fall, även om CPU egentligen idlar.
Det känns alltså inte som ett problem med just rå kraft utan snarare något annat.
Hur löser proffsen detta? Man kör ju aldrig med dedikerade grafikkort och passthrough i ett datacenter?

Man sitter väl inte och tittar på film på en server?

I normala fall har man just en klient som hanterar det

EDIT:
Ok, så windows som host OS verkar ha smidig video i host OS men du har andra värre problem istället.

Får du några problem med Linux som host OS? Du skriver bara att du då inte kan titta på film i VM, men kan du titta på film på host OS'et utan att blanda in en VM? Linux ska väl kunna spela upp film?

Visa signatur

5700x3D | RTX 2060 Super | 2 TB M.2 | 32 GB RAM | Gigabyte DS3H| 750 WATT

Permalänk
Medlem
Skrivet av FX9:

Man sitter väl inte och tittar på film på en server?

I normala fall har man just en klient som hanterar det

EDIT:
Ok, så windows som host OS verkar ha smidig video i host OS men du har andra värre problem istället.

Får du några problem med Linux som host OS? Du skriver bara att du då inte kan titta på film i VM, men kan du titta på film på host OS'et utan att blanda in en VM? Linux ska väl kunna spela upp film?

Helst skulle jag ju alltså vilja köra typ Proxmox i botten och därmed blir det video i VM. Jag bor ihop med fotbollsfanatiker (fru och son) och de lägger ofta beslag på projektorn. Dottern lägger beslag på TVn och jag vill ibland titta på film på annan skärm än surfplattan. Har en 27” 4K-skärm till arbetsstationen och vill kunna kombinera servertjänster med annat. Sedan är det mycket principen - hur svårt skall det vara att kunna få en sådan här detalj att fungera?

Permalänk
Medlem

Kör själv unraid i botten på min hemma PC och har GPU passtrough (och separat USB controller) till min main Windows 11 VM. Samma PC har också ett sekundärt grafikkort som jag kör en Linux VM på. Den "styrs" från ett annat rum via en HDMI/USB -> Ethernet adapter.

Permalänk
Medlem
Skrivet av Lacke67:

Helst skulle jag ju alltså vilja köra typ Proxmox i botten och därmed blir det video i VM. Jag bor ihop med fotbollsfanatiker (fru och son) och de lägger ofta beslag på projektorn. Dottern lägger beslag på TVn och jag vill ibland titta på film på annan skärm än surfplattan. Har en 27” 4K-skärm till arbetsstationen och vill kunna kombinera servertjänster med annat. Sedan är det mycket principen - hur svårt skall det vara att kunna få en sådan här detalj att fungera?

Proxmox är ju som du vet inget annat än Debian med några extra paket.
Så, installera Debian och konfigurera upp lämpligt grafisk gränssnitt så som du vill ha det, och sedan slänger du bara på Proxmox-paketen.

Visa signatur

Marantz NR1605, Rotel RB1090, Ino Audio piPs
SMSL SP200 THX Achromatic Audio Amplifier 888, SMSL M400, Audio-Gd NFB-11 (2015), Objective2+ODAC RevB, Audeze LCD-2 Rosewood, Monoprice M1060, ATH-M40x, Sennheiser HD660S, DROP X KOSS ESP/95X, Koss KPH30i, DROP X HiFiMan HE4XX

Permalänk
Medlem
Skrivet av backspace:

Proxmox är ju som du vet inget annat än Debian med några extra paket.
Så, installera Debian och konfigurera upp lämpligt grafisk gränssnitt så som du vill ha det, och sedan slänger du bara på Proxmox-paketen.

Jo, men då är man ju inne på speciallösningar och det är ju det jag vill undvika…

Permalänk
Medlem
Skrivet av Lacke67:

Senast jag försökte, var det ett fasligt googlande och studier av olika youtube-klipp för att försöka få ihop ett försök. Om det inte fungerade, var det svårt att förstå varför, och om man uppgraderade någon länk i kedjan, kunde det typiskt sluta fungera utan att man egentligen förstod varför. Stabilt för mig är om man har officiell och enkel support för en teknik och t ex kanske kunna konfa passthrough-koppling mellan device och VM direkt i GUI eller liknande. Men det kanske går att göra idag i Proxmox osv? Jag är lite trött på olika script som cirkulerar och ingen vet egentligen vad som funkar till vad…

Förfarandet är väldigt väldokumenterat om du använder Linux som host och KVM/QEMU/Libvirt för virtualisering. Då finns det spaltmeter att läsa om hur man ställer in det. Kortfattat måste du ha stöd för det i hårdvara (Typ Intel VT-d), du måste ha ett moderkort som klarar av det någorlunda alternativt använda en kernel som är patchad för att ignorera IOMMU-grupper, och du måste ha något sätt att få över bilden på den virtuella datorn via grafikkortet eftersom ett grafikkort generellt sett inte skickar ut någon bild utan att något är anslutet till det. Detta kan man komma runt med en dummyplug eller med en Idd-drivrutin eller något med looking-glass. Sen kan det fortfarande vara för mycket besvär för att använda till att bara kolla på film med om det är så att det fungerar hjälpligt med QXL eller virtio-gpu och alltså utan att du behöver ha accelererad grafik på riktigt.

Permalänk
Medlem
Skrivet av enterthewoid:

Kör själv unraid i botten på min hemma PC och har GPU passtrough (och separat USB controller) till min main Windows 11 VM. Samma PC har också ett sekundärt grafikkort som jag kör en Linux VM på. Den "styrs" från ett annat rum via en HDMI/USB -> Ethernet adapter.

En intressant fråga kring Windows i VM är antivirus. Det är ju inte trivialt att köra det stabilt i VM. Hur gör du med det?

Permalänk
Medlem
Skrivet av Lacke67:

En intressant fråga kring Windows i VM är antivirus. Det är ju inte trivialt att köra det stabilt i VM. Hur gör du med det?

Jag funderar på "kärnisolering" i windows på VM. Har sett att det försämrar prestandan rejält. Så pass att jag stängt av det för att få en bättre upplevelse. För stabiliteten har jag avinstallerat hyper-v helt j windows på VM, alltså nästlad virtualisering vilket innebär att kärnisolering och wsl2 funkar inte att köra. Går att få det stabilt med sämre prestanda men känns som en för stor uppoffring. Men ger ju ökad risk för virus.

Nu kör jag inte gpu passthrough men då renderas skrivbord med CPU istället och det kanske gör saken än värre. Jag kör med spice och libvirt på linux host.

Har väl fått så pass att youtube i fönster funkar men helskärm laggar, åtminstone med min 4K skärm i helskärm.

En test är att köra speedtest.net i webbläsaren på gästen i fullskärm. Får man samma hastighet och ser siffrorna fladdra lika laggfritt som på hosten eller inte? Där kan jag märka skillnad med eller utan kärnisolering i gästen.

Edit. Har inte testat med RDP