Gaming entusiaster som kör linux. Hur gör ni?

Permalänk

Jag gör allt mitt spelande i linux och med wine om det behövs. Funkar inte spelet så spelar jag det inte.
Tidigare har jag varit tvungen att starta en windows xp vm för jobbprogram som krävde direkt usb-åtkomst men har inte behövt det på några år pga ny hårdvara.

Permalänk
Medlem

I slutet av 90-talet började jag med dual-boot (p2an i signaturen), det i kombination med att jag började lära mig Linux på allvar ledde till mindre spelande. Att boota om var jobbigt eftersom jag alltid hade 6-8 screens i fönsterhanteraren fulla med "projekt", som kostade tid och energi att återställa efter reboot (för att svara på frågan från @pback).

Kring 2003 blev jag less på ombooterna och köpte p4an i signaturen, primärt för spel, och körde maskinerna parallellt (p4an avstängd på natten i studentrummet, medan p2an med Linux bodde i ett ljuddämpat skåp). Sen fortsatte jag med parallella maskiner i några år, där den nyaste fick vara speldator och "förra generationen" fick vara linuxmaskin. Det fungerade oväntat bra, men jag drömde länge om möjligheten att virtualisera med bibehållen grafikprestanda och på så vis skala bort en maskin.

2011/2012 började jag på allvar med virtualisering med passthrough av GPU, först med XEN, sen med KVM. I början var det meckigt men i princip sedan KVM fick stöd för VFIO kring 2013 så har det egentligen varit ganska enkelt förutsatt rätt hårdvara. Här är min Swec-tråd om den första virtualiseringsriggen (rapport längre ner i samma tråd).

Nu kör jag en Coffeelake-rigg med Linux/KVM i botten och passthrough av ett GTX970 till en Windows10-VM, och att sätta upp den var enklare än någonsin. Jag har inte gjort någon Swec-tråd om den, men väl en på level1forums (på engelska). Dessa fora är också var nya upptäckter brukar redovisas först, tillsammans med maillistan för vfio.

Hårdvarustödet är idag bra med åtminstone Coffee lake, Skylake-X samt Ryzen 3/5/7. Threadripper har tyvärr en olöst bugg (om inget hänt på sistone som jag missat) som gör att grafikkort antingen inte funkar alls eller också ställer till problem när virtuella maskinen ska startas om.

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Skrivet av Emrik:

@mrazster: antar att han undrar hur man fixar en strömbrytare till M.2

Ja precis så menar jag

Visa signatur

/ SvSm
- Datorer ska synas men inte höras.
AMD Barton 2600+, 1024 DDRAM 400 @ 333, ASUS A7V880, Radeon 9800 Pro, Eizo FlexScan L557.

Permalänk
Medlem
Skrivet av Oegat:

I slutet av 90-talet började jag med dual-boot (p2an i signaturen), det i kombination med att jag började lära mig Linux på allvar ledde till mindre spelande. Att boota om var jobbigt eftersom jag alltid hade 6-8 screens i fönsterhanteraren fulla med "projekt", som kostade tid och energi att återställa efter reboot (för att svara på frågan från @pback).

Kring 2003 blev jag less på ombooterna och köpte p4an i signaturen, primärt för spel, och körde maskinerna parallellt (p4an avstängd på natten i studentrummet, medan p2an med Linux bodde i ett ljuddämpat skåp). Sen fortsatte jag med parallella maskiner i några år, där den nyaste fick vara speldator och "förra generationen" fick vara linuxmaskin. Det fungerade oväntat bra, men jag drömde länge om möjligheten att virtualisera med bibehållen grafikprestanda och på så vis skala bort en maskin.

2011/2012 började jag på allvar med virtualisering med passthrough av GPU, först med XEN, sen med KVM. I början var det meckigt men i princip sedan KVM fick stöd för VFIO kring 2013 så har det egentligen varit ganska enkelt förutsatt rätt hårdvara. Här är min Swec-tråd om den första virtualiseringsriggen (rapport längre ner i samma tråd).

Nu kör jag en Coffeelake-rigg med Linux/KVM i botten och passthrough av ett GTX970 till en Windows10-VM, och att sätta upp den var enklare än någonsin. Jag har inte gjort någon Swec-tråd om den, men väl en på level1forums (på engelska). Dessa fora är också var nya upptäckter brukar redovisas först, tillsammans med maillistan för vfio.

Hårdvarustödet är idag bra med åtminstone Coffee lake, Skylake-X samt Ryzen 3/5/7. Threadripper har tyvärr en olöst bugg (om inget hänt på sistone som jag missat) som gör att grafikkort antingen inte funkar alls eller också ställer till problem när virtuella maskinen ska startas om.

Nu verkar det vara löst för Threadripper med ett litet skript i Java (men inte JavaScript)

https://techblog.jeppson.org/2018/04/vga-passthrough-threadri...

Hmm. Nu måste man ha tid att spela också. Jag har nog mer än hälften av mina spel i Steam spelade mindre än tio minuter. Det blir lite Civ och lite CS men inte så mycket mer. Dricka lite kaffe, vattna hunden, och, kolla nyheter. Headshot, tvätta eller städa? Okej, one more turn.

Skickades från m.sweclockers.com

Visa signatur

| Fractal Design Define R5| Asrock X399 Fatal1ty| Threadripper 1950X| Noctua NH-U14S TR4-SP3| Corsair Vengeance LPX 8x16GB 3200 C16| be quiet! Straight Power 11 Platinum 1000W| ASUS RTX 3080 10GB Strix| LG OLED 4k 42" C2| Debian Sid| KDE 5.x|

Permalänk
Medlem
Skrivet av Svartsmurfen:

Ja precis så menar jag

OK...ja det är ju helt klart mycket svårare...om ens möjligt !

Då får man ju helt enkelt ta sig en stabil funderar på vilka behov man har och rätta sig efter helt enkelt.

Visa signatur
Permalänk
Medlem
Skrivet av sAAb:

Nu verkar det vara löst för Threadripper med ett litet skript i Java (men inte JavaScript)

https://techblog.jeppson.org/2018/04/vga-passthrough-threadri...

Hmm. Nu måste man ha tid att spela också. Jag har nog mer än hälften av mina spel i Steam spelade mindre än tio minuter. Det blir lite Civ och lite CS men inte så mycket mer. Dricka lite kaffe, vattna hunden, och, kolla nyheter. Headshot, tvätta eller städa? Okej, one more turn.

Skickades från m.sweclockers.com

Kul! Hoppas det blir en eller leder till en permanent lösning. Jag hade gärna köpt TR för detta ändamål, men nu iddes jag inte vänta så jag får följa vad du och andra lyckas få till istället.

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

Har i princip bestämt mig för att permanent byta till Linux (Manjaro alt vanilla Arch) på min stationära PC efter att ha kört Linux på min bärbara i drygt ett år.
Men eftersom jag har en del spel jag fortfarande vill spela som är Windows-specifika så behöver jag något sätt att spela dem och har valt att satsa på GPU-Passthrough.

Nuvarande dator: CPU: Core i7 5930K @ 4,250GHz Mobo: MSI X99A SLI Plus RAM: 4x8GB HyperX Fury 2666 MHz Hdd1: Samsung 950 PRO 256GB Hdd2: Intel 750 PCIe 400GB GPU: Asus ROG STRIX GTX 1080Ti 11GB PSU: Corsair RM1000x Moderkortet kommer bytas ut mot ett ASRock Formula OC. 3x skärmar med flertalet ingångar.

Med det sagt så har jag några frågor.

Lämpligt extra grafikkort
Tänkte köra mitt 1080Ti för passthrough men behöver ju ytterligare ett grafikkort till host för spel/film/fotoredigering.
Är någon tillverkare att föredra eller är det smaksak?

Pinna CPU-kärnor
Som jag förstått är detta inget man måste göra, men om man gör det, finns det något smidigt sätt att låta host använda pinnade kärnor när VM inte är igång?

Pinna RAM-minne
Pinna kanske är fel term men, bör man dedikera X GB minne till VM som host inte kan använda?
Om ja, bör man även tänka på att dedikera minne som körs i samma kanal, dvs två minnen som körs i dual channel?

Kringutrustning
Skulle väldigt gärna slippa dubbla uppsättningar tangentbord/mus men har förstått att mjukvarulösning inte är det bästa.
Kan en KVM-switch duga eller finns det bättre lösningar?
Hur löser man lämpligast ljud om man kör med DAC i dagsläget? Kan man skicka ljud till host utan lagg eller är det bara att köpa en dedikerad DAC till VM?

Internet
Känns som jag vet svaret men måste ändå fråga... går det på något sätt att installera program/spel på VM om den inte har access till internet? (Tänker främst på Steam)

Övrig hårdvara
Dedikerad disk för VM känns självklart och det blir troligtvis nyköp. Behöver jag tänka på något (ex undvik m2 eller liknande)?
Är det något övrigt jag saknar hårdvarumässigt?

Övrigt
Något mer jag bör tänka på?
Något jag missat?
Övriga tips?

Permalänk
Medlem
Skrivet av Ohjay:

Nuvarande dator: CPU: Core i7 5930K @ 4,250GHz Mobo: MSI X99A SLI Plus RAM: 4x8GB HyperX Fury 2666 MHz Hdd1: Samsung 950 PRO 256GB Hdd2: Intel 750 PCIe 400GB GPU: Asus ROG STRIX GTX 1080Ti 11GB PSU: Corsair RM1000x Moderkortet kommer bytas ut mot ett ASRock Formula OC. 3x skärmar med flertalet ingångar.

Du kan nog behöva någon ACS-patch eller motsvarande för IOMMU-grupperingen. Men kolla på nätet om andra testat med liknande grejer. Borde inte vara problem hur som helst.

Citat:

Lämpligt extra grafikkort
Tänkte köra mitt 1080Ti för passthrough men behöver ju ytterligare ett grafikkort till host för spel/film/fotoredigering.
Är någon tillverkare att föredra eller är det smaksak?

Jag har bara testat Nvidia till guest tillsammans med IGD till host, samt AMD till guest och AMD/Nvidia till host, så kolla även andra källor. Jag tror att ett nyare AMD till host är att rekommendera i ditt fall, att köra olika tillverkare brukar vara enklast då särskilt de proprietära drivarna i Linux gärna claimar kort även om de är bundna till VFIO. AMDs senaste drivare är bra i Linux, både de fria och de proprietära (som numera är ett slags plugin till den fria drivaren).

Citat:

Pinna CPU-kärnor
Som jag förstått är detta inget man måste göra, men om man gör det, finns det något smidigt sätt att låta host använda pinnade kärnor när VM inte är igång?

Att enbart pinna är inget problem, kärnorna kommer att vara fria så fort VM är avstängd, men Linux kan i teorin lägga andra processer på dem när VM är igång även om det är osannolikt. Däremot att isolera kärnor med isolcpus-kommandot till linuxkärnan gör att de blir permanent osynliga för schemaläggaren, ska du använda dem då måste du pinna processer till dem. Själv har jag inte brytt mig om pinning med 8700-riggen i signaturen, VM-prestanda är nog nära baremetal ändå.

Citat:

Pinna RAM-minne
Pinna kanske är fel term men, bör man dedikera X GB minne till VM som host inte kan använda?
Om ja, bör man även tänka på att dedikera minne som körs i samma kanal, dvs två minnen som körs i dual channel?

Behövs inget sådant, minnesallokeringen sker när du startar VM och sen har den sitt minneschunk. Alla 1-socket intelsystem är UMA (uniform minnesaccess) så det spelar ingen roll var VMs minne fysiskt hamnar. Däremot kan du vilja titta på hugepages, som är en optimering för minnesadresseringen inom VM.

Citat:

Kringutrustning
Skulle väldigt gärna slippa dubbla uppsättningar tangentbord/mus men har förstått att mjukvarulösning inte är det bästa.
Kan en KVM-switch duga eller finns det bättre lösningar?
Hur löser man lämpligast ljud om man kör med DAC i dagsläget? Kan man skicka ljud till host utan lagg eller är det bara att köpa en dedikerad DAC till VM?

KVM-switch duger bra om den har nåt annat än VGA och klarar den upplösning du vill ha. En enklare USB-switch bör också funka om du accepterar att växla skärmingångar manuellt. Med 3 skärmar kanske det inte ens är ett problem.

Sitter DACen på USB? Dessa varianter finns:
1. dedikerade USB-kontrollers till host och (via PCIe passthrough) till guest: använda en USB-switch och flytta själva USB-enheten mellan host och guest, jag har kört så och det fungerar som baremetal
2. Flytta USB-device mellan host och guest med USB passthrough: inte testat, kan evt fungera bra men vet inte
3. Ljud från guest till host via spice: funkar, men skulle inte använda det till musik. Jag kör så nu eftersom det enda som kräver ljud i Windows för mig är spel.

Citat:

Internet
Känns som jag vet svaret men måste ändå fråga... går det på något sätt att installera program/spel på VM om den inte har access till internet? (Tänker främst på Steam)

Vet inte om Steam men varför inte låta VM komma åt internet?

Citat:

Övrig hårdvara
Dedikerad disk för VM känns självklart och det blir troligtvis nyköp. Behöver jag tänka på något (ex undvik m2 eller liknande)?
Är det något övrigt jag saknar hårdvarumässigt?

Dedikerad är inte nödvändigt, men har fördelar. Du kan skicka en raw device (typ /dev/sdb) direkt till VM och då kan TRIM fås att fungera ganska lätt. Med dedikerad disk kan du kanske köra Wendell's "duel boot" metod (sök på level1techs forum) och kunna starta Windows på baremetal ibland. En NVMe-disk borde kunna skickas med PCIe passthrough, men jag har inte testat.

Citat:

Övrigt
Något mer jag bör tänka på?
Något jag missat?
Övriga tips?

USB-kontroller till guest, skickad med PCIe passthrough är att rekommendera framför USB-passthrough. Har du tur så finns en extra kontroller redan på moderkortet, annars är ett PCIe 1x kort för USB billigt. Jag har aldrig kört nån annan lösning än detta för tangentbord+mus.

Använd libvirt och virt-manager, det sparar mycket jobb jämfört med att använda qemu direkt. Särskilt i början när du testar dig fram med olika konfigurationer. Lycka till!

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

Oegat skrev ett bra svar redan men jag bidrar med mina egna två cents ändå.

Skrivet av Ohjay:

Lämpligt extra grafikkort
Tänkte köra mitt 1080Ti för passthrough men behöver ju ytterligare ett grafikkort till host för spel/film/fotoredigering.
Är någon tillverkare att föredra eller är det smaksak?

De valen som finns är Intel, Nvidia och AMD. 5930K tycks inte ha någon IGPU så vi stryker Intel. Nvidia's öppna drivrutiner är inget vidare. Speciellt inte om du tänkt spela med dom. Deras stängda drivrutiner har bra prestanda i spel men är omständliga att använda. De gillar att skanna hela pci bussen och försöka aktivera alla nvidia kort som hittas, även om vissa av korten ska vara dedikerade till VM. AMD har hyfsade öppna drivrutiner och funkar överlag bra som host kort.

En sak du bör kolla upp är hur det är med ACS / IOMMU grupper för din hårdvara. Min i7-4790K har ej stöd för ACS vilket gör att alla 16X pcie slots på moderkortet går till samma IOMMU grupp. Det gör det krångligt om du vill använda flera plug-in kort för grafik.

Skrivet av Ohjay:

Pinna CPU-kärnor
Som jag förstått är detta inget man måste göra, men om man gör det, finns det något smidigt sätt att låta host använda pinnade kärnor när VM inte är igång?

Det är skillnad på pin emulator to core och dedicate core to emulator. När man pinnar emulatorn så körs alltid emulatorn på samma kärna men andra program kan ändå köras på samma kärna. För låg latency vill du både pinna och dedikera. Det enklaste sättet för att dedikera kärnor är använda isolcpus kernel parametern men då är kärnorna dedikerade även när VM inte är igång. Det du i stället vill använda är cpu cgroups för att åstadkomma samma sak. Jag använder cset vilket är en frontend till cpu cgroups.

https://github.com/lpechacek/cpuset

https://rokups.github.io/#!pages/gaming-vm-performance.md
Här är ett hooks script för libvirt som använder cset. Scriptet gör massa andra saker också men shield_vm() funktionen är den viktigaste.

Skrivet av Ohjay:

Pinna RAM-minne
Pinna kanske är fel term men, bör man dedikera X GB minne till VM som host inte kan använda?
Om ja, bör man även tänka på att dedikera minne som körs i samma kanal, dvs två minnen som körs i dual channel?

Ram är alltid pinnat om VFIO används. PCI enheter kan göra DMA till vilken adress som helst så hela minnet för VM måste alltid vara i ram. IOMMU:n har en statisk mappning mellan de fysiska adresserna som PCI enheten använder och de virtuella adresserna som VM använder.

Du kan aktivera hugepages om du vill. Det ger inte så stor skillnad i spel. Benchmark av ram bandbredd ger runt 10% extra prestanda med hugepages men framerate i spel påverkas sällan. Du kan få bättre laddningstider så det är lika bra att aktivera.

Skrivet av Ohjay:

Kringutrustning
Skulle väldigt gärna slippa dubbla uppsättningar tangentbord/mus men har förstått att mjukvarulösning inte är det bästa.
Kan en KVM-switch duga eller finns det bättre lösningar?
Hur löser man lämpligast ljud om man kör med DAC i dagsläget? Kan man skicka ljud till host utan lagg eller är det bara att köpa en dedikerad DAC till VM?

KVM-switch är en vanligt lösning. Fördelen är att ditt riktiga tangentbord och mus ses av VM:en så alla specialknappar funkar. Min egna lösning är enklare. För peka klicka spel Jag kör med synergy. Jag får då shared clipboard och kan dra musen mellan VM och host seamless. För FPS kör jag med evdev / input-linux. Det ger lägre latency men jag tappar seamless beteendet och måste toggla manuellt mellan VM och host. Är du en seriös gamer är KVM-switch den bästa lösningen.

Skrivet av Ohjay:

Internet
Känns som jag vet svaret men måste ändå fråga... går det på något sätt att installera program/spel på VM om den inte har access till internet? (Tänker främst på Steam)

En VM utan internet funkar på samma sätt som en dator utan internet. Man kan installera spel från DVD eller annan legacy media om man vill.

Skrivet av Ohjay:

Övrig hårdvara
Dedikerad disk för VM känns självklart och det blir troligtvis nyköp. Behöver jag tänka på något (ex undvik m2 eller liknande)?
Är det något övrigt jag saknar hårdvarumässigt?

Hårdvara från min generation (haswell) har nästan alltid moderkortets M.2 lanes kopplade till CPU:n och eftersom CPU:n inte har stöd för ACS blir det problem om man vill använda M.2 disken på host. Kolla upp hur det är med ACS på din hårdvara innan köp.

Permalänk
Medlem

Tusen tack @Oegat och @Emaku för riktigt bra svar.
En hel del matnyttigt och definitivt några saker jag måste läsa på om innan jag sätter igång (speciellt ACS).

En följdfråga angående ljud (främst riktad till Oegat), varför tycker du det är ok med ljud från guest till host för spel men inte för musik?

Kom på en fråga till, krävs något specifikt avseende nätverk för guest, exempelvis dedikerat nätverkskort?

Lär säkert komma mer frågor allt eftersom det här fortskrider. Planen är att sätta igång om lite drygt en vecka

Permalänk
Medlem
Skrivet av Ohjay:

En följdfråga angående ljud (främst riktad till Oegat), varför tycker du det är ok med ljud från guest till host för spel men inte för musik?

Kom på en fråga till, krävs något specifikt avseende nätverk för guest, exempelvis dedikerat nätverkskort?

Hoppar in på sidan här när det kommer till just ljud. Själv så kommunicerar qemu direkt med Pulseaudio på mitt system. Efter att man sätter att qemu ska köra som ens egen användare så sätter jag

<qemu:commandline> <qemu:env name='QEMU_AUDIO_DRV' value='pa'/> <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/> </qemu:commandline>

i min libvirt config. På just mitt system så var ljudet extremet krasslig, men efter att jag snubblade över och applicerade denna patch så har jag absolut noll problem. Ljudet kracklar en stund om jag tar tillbaka den usb-forward:ade till Linux men det är endast temporärt. (Kanske borde testa på evdev igen. Hade problem som att musen helt plötsligt slutar fungera alternativt hoppar när jag testade det tidigare.) Kan dock ej lova att denna patch kommer ge ett bättre resultat på ditt system.

När det kommer till nätverk så fungerar den automatisk tilldelade NIC:en (via virt-manager när jag skapade VM:et) finfint. Köpte och dedikerade hur som helst ett billigt nätverkskort då jag ofta är ansluten genom VPN på Linux.

Permalänk
Medlem

Bra tips från @Emaku om cpuset, jag kände inte till den metoden.

Skrivet av Ohjay:

Tusen tack @Oegat och @Emaku för riktigt bra svar.
En hel del matnyttigt och definitivt några saker jag måste läsa på om innan jag sätter igång (speciellt ACS).

En följdfråga angående ljud (främst riktad till Oegat), varför tycker du det är ok med ljud från guest till host för spel men inte för musik?

Jag var medvetet konservativ i min bedömning - jag menade egentligen att jag vågar säga att ljudet blir som baremetal med dedicerad USB-kontroller, men jag vet inte säkert att det blir lika bra med ljud via spicevm (defaultmetoden i libvirt). Själv hör jag ingen skillnad med mina Sony MDR-ZX770BN (blåtand), men jag har inte testat något dyrare med den metoden. Det är mycket möjligt att du blir nöjd och att ljudet faktiskt är likvärdigt. Spicevm har vissa tillkortakommanden, för mig krävdes att jag stängde av kompression av ljudet:

<graphics type='spice' ...> ... <playback compression='off'/> </graphics>

(det ligger under <graphics> för att spice i första hand hanterar virtuella vga:n, men jag använder det bara för ljud.)

Detta har fördelen att jag kan välja om ljudet ska skickas till Linux eller inte genom att stänga eller öppna det grafiska konsolfönstret i Virt-Manager - tex om jag har ett spel igång i Windows men växlar tillfälligt till Linux för att lyssna på musik t.ex. Ljud guest-host har vissa knepigheter oavsett metod, det verkar som att olika saker funkar för olika system. Metoden som @pid1 beskriver är en annan.

Citat:

Kom på en fråga till, krävs något specifikt avseende nätverk för guest, exempelvis dedikerat nätverkskort?

Lär säkert komma mer frågor allt eftersom det här fortskrider. Planen är att sätta igång om lite drygt en vecka

Skrivet av pid1:

Hoppar in på sidan här när det kommer till just ljud. Själv så kommunicerar qemu direkt med Pulseaudio på mitt system.

[...]

När det kommer till nätverk så fungerar den automatisk tilldelade NIC:en (via virt-manager när jag skapade VM:et) finfint. Köpte och dedikerade hur som helst ett billigt nätverkskort då jag ofta är ansluten genom VPN på Linux.

Tack för det tillägget. Jag har aldrig testat dedicera nätverkskort (ens de gånger jag haft ett sådant över i maskinen) utan jag kör med bryggat virtuellt nätverk enligt:

<interface type='bridge'> <mac address= ... /> <source bridge='virbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>

Det fungerar fint och har fördelen att kommunikation mellan host och guest går genom minnet och når aldrig switchen. Jag rekommenderar att all emulerad hårdvara (disk-controllers, nätverk) är av typen virtio om möjligt.

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

Okej, testade just en match Quake med evdev-input istället för att köra USB-forward:ing. Med följande relaterad konfiguration

... <devices> .. <input type='mouse' bus='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/> </input> <input type='keyboard' bus='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0f' function='0x0'/> </input> ... </devices> .. <qemu:commandline> ... <qemu:arg value='-object'/> <qemu:arg value='input-linux,id=mouse1,evdev=/dev/input/by-id/usb-Laview_Technology_Mionix_Naos_7000_STM32-event-mouse'/> <qemu:arg value='-object'/> <qemu:arg value='input-linux,id=kbd2,evdev=/dev/input/by-id/usb-04d9_USB_Keyboard-event-if01'/> <qemu:arg value='-object'/> <qemu:arg value='input-linux,id=kbd1,evdev=/dev/input/by-id/usb-04d9_USB_Keyboard-event-kbd,grab_all=on,repeat=on'/> ... </qemu:commandline>

fungerar allt finfint! Ljudet kracklar lite när jag togglar mellan host och guest, men är i en mindre grad än tidigare och håller på i max en sekund, så jag konstaterar problemet löst. Väl inne i Windows installerade jag "virtio-input" drivisarna från virtio-iso:n för de två nya okända enheterna i device manager. Behövde även lägga till mig själv i gruppen "input", och lägga till enheterna i "cgroup_device_acl"-listan i qemu-konfigurationen.

Nu återstår det endast att lösa problemet varför min mic inte forwardas till Windows... Någon som lyckats få det att fungera samtidigt som man pipar guest-ljudet till Pulseaudio?

Permalänk

Har ni testat de spel ni spelar under Wine? Jag kikade på GPU-passthrough också, men beslöt mig för att iaf först uppdatera till senaste versionerna för att se om det blivit bättre.. och det hade det verkligen! DXVK (kompatibilitetslager mellan DirectX och Vulkan) funkar ruggigt bra. Skrev tidigare i tråden om att jag körde WoW på settings 10/10 under windows och 3/10 undrer Wine på samma hårdvara för samma framerates. Med uppdateringarna som skett bara senaste månaden kan jag köra på ca 7-8/10 med 60 fps. Skulle säga att man får ca 70-80% av performance i Wine i många spel nu. Dvs har du 100 fps under windows är ca 70-80 ingen omöjlighet under Wine, och det är betydligt enklare än att sätta upp en VM - inga problem med ljud, mic, mus/tangentbord, låsta systemresurser osv. Värt att testa! Och det kommer nya optimeringar varje vecka så jag hoppas på att de kan kräma ur ännu mer performance inom kort

Permalänk
Medlem
Skrivet av Svartsmurfen:

Ja precis så menar jag

Lättast är att installera operativsystemen oberoende av varandra och sedan hamra på en F-tanget när man vill starta det andra iperativsytenet. Är man någorlunda kunning och har OS på varsin fysisk disk så lägger man en pekare till Windows i grub och ser till att Windows aldrig får veta.

Gör man rätt så kan Windows sedan göra som det vil utan att påverka installationen.

Jämfört med andra metoder så är detta både säkrare och snabbare samt minimerar risken för hanhavandefel.

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon

Permalänk
Medlem
Skrivet av Svartsmurfen:

Ja precis så menar jag

Skrivet av OldComputer:

Lättast är att installera operativsystemen oberoende av varandra och sedan hamra på en F-tanget när man vill starta det andra iperativsytenet. Är man någorlunda kunning och har OS på varsin fysisk disk så lägger man en pekare till Windows i grub och ser till att Windows aldrig får veta.

Gör man rätt så kan Windows sedan göra som det vil utan att påverka installationen.

Jämfört med andra metoder så är detta både säkrare och snabbare samt minimerar risken för hanhavandefel.

Antar att ni syftar på något i denna stilen:

https://www.youtube.com/watch?v=yimjBuzAqOo

Visa signatur

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 20.04 LTS
-Numera titulerad: "dator-hipster" då jag har en AMD GPU och dessutom kör Linux.

Permalänk

@OldComputer och @krigelkorren:
Det verkar vara den lösning som är mest gångbar verkar det som.
Jag är i regel skeptisk mot "mjukvarulösningar" som involverar en boothanterare, men jag har säkert fördomar kvar sedan ett par år sedan då dessa lösningar oftast sprack på att de olika OS:en (läs windows) slogs om att skriva över inställningarna.

Funkar det bättre nu i modern tid, menar ni?

Visa signatur

/ SvSm
- Datorer ska synas men inte höras.
AMD Barton 2600+, 1024 DDRAM 400 @ 333, ASUS A7V880, Radeon 9800 Pro, Eizo FlexScan L557.

Permalänk

Hur ser situationen ut på AMD fronten? Vilka Radeon drivrutiner bör man använda om man vill spela? Som jag förstår det räcker det att man har en ny kernel för att automatiskt ha tillgång till "rätt" drivrutiner?

Visa signatur

Bärbar Speldator: AMD Ryzen 5 5600H I Nvidia RTX 3050 Ti
Xiaomi Poco X3 Pro I Nvidia Shield TV V2 I PS4 I

Permalänk
Medlem
Skrivet av Swedish Berserk:

Hur ser situationen ut på AMD fronten? Vilka Radeon drivrutiner bör man använda om man vill spela? Som jag förstår det räcker det att man har en ny kernel för att automatiskt ha tillgång till "rätt" drivrutiner?

Ja i princip är det så enkelt.
Bra om man ligger på Linux kernel 4.15+, sedan skadar det inte heller om man har lib32-mesa paketet installerat också när det kommer just till spel, då många applikationer är 32-bits, samt vulkan om man känner sig äventyrlig.

  • For 32-bit application support, also install the lib32-mesa package from the multilib repostory.

  • For the DDX driver (which provides 2D acceleration in Xorg), install the xf86-video-amdgpu package.

  • For Vulkan support, install the vulkan-radeon package. Optionally install the lib32-vulkan-radeon package for 32-bit application support.

Mer info på nedan länk, visserligen för Arch Linux men motsvarande paket skall gälla för så gott som alla distros respektive pakethanterare.
https://wiki.archlinux.org/index.php/AMDGPU

Visa signatur

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 20.04 LTS
-Numera titulerad: "dator-hipster" då jag har en AMD GPU och dessutom kör Linux.

Permalänk
Inaktiv

På Debian tror jag motsvarande procedur blir:

# dpkg --add-architecture i386 # apt update # apt upgrade # apt install firmware-amd-graphics mesa-vulkan-drivers

Permalänk
Medlem

Linux Gaming: Natively (part 1 of 4): -Lite mera in-depth...
https://www.youtube.com/watch?v=onOiOs-z0ws

Visa signatur

Tower: ace Battle IV | CPU AMD Phenom II X2 BE unlocked 4cores@3,2GHz | RAM 8GB DDR2@800MHz | MB ASUS M4A785-M | GFK AMD Radeon HD 6850 1GB | HDD Kingston SSD Now 60GB (/) Seagate 2TB(/home) | OS Ubuntu 20.04 LTS
-Numera titulerad: "dator-hipster" då jag har en AMD GPU och dessutom kör Linux.

Permalänk
Medlem

AMD Ryzen gen1
AMD Vega 56

Experimenterat fram och tillbaka mellan ren Arch, Mint 18, Mint 19 och Manjaro för att få World of Warcraft att fungera så bra som möjligt. Fick det att starta på allihopa, men det är väsentliga skillnader mellan ovan distros.

Problemet med denna hårdvara är drivrutiner och kernel. Måste ha kernel 4.15 (4.15 fungerade bättre än 4.17, den krashade lite då o då).
Absolut bäst resultat fick jag med kernel 4.15, open source amdgpu, vulkan och dxvk installerat på Mint 19.

WoW gick från ~30fps till 100+ med dxvk på Mint. Riktigt nöjd. Synd bara att Wine Gallium inte finns till Mint, ser ut att vara arch only. Osäker om det behövs över huvud taget?

dxvk, vilken underbar teknologi. Mer Vulkan åt folket!

Irriterande nackdel med Ryzen.. Ibland så får man kernel panic pga en specifik funktion i CPUn

Permalänk
Skrivet av ITViking:

WoW gick från ~30fps till 100+ med dxvk på Mint. Riktigt nöjd. Synd bara att Wine Gallium inte finns till Mint, ser ut att vara arch only. Osäker om det behövs över huvud taget?

Wine gallium hjälper endast för directx 9 på Amd-kort (kanske Intel också?) med Mesa drivisar.
Eftersom du får en prestandavinst med dxvk använder spelet directx 11 och hjälps inte på något vis av Wine gallium.

Om du vill spela direktx 9 spel med bra prestanda kan du testa playonlinux programmet där du kan välja mellan olika Wine versioner, tex gallium-nine.

Skickades från m.sweclockers.com

Permalänk
Skrivet av ITViking:

Experimenterat fram och tillbaka mellan ren Arch, Mint 18, Mint 19 och Manjaro för att få World of Warcraft att fungera så bra som möjligt. Fick det att starta på allihopa, men det är väsentliga skillnader mellan ovan distros.

Problemet med denna hårdvara är drivrutiner och kernel. Måste ha kernel 4.15 (4.15 fungerade bättre än 4.17, den krashade lite då o då).
Absolut bäst resultat fick jag med kernel 4.15, open source amdgpu, vulkan och dxvk installerat på Mint 19.

WoW gick från ~30fps till 100+ med dxvk på Mint.

Håller med om att DXVK är underbart. Däremot ska det inte skilja just nånting mellan distros - jag kör WoW med DXVK och 4.17 under arch och får riktigt bra performance på en 4770k och 290X.

Permalänk
Medlem
Skrivet av stingray454:

Håller med om att DXVK är underbart. Däremot ska det inte skilja just nånting mellan distros - jag kör WoW med DXVK och 4.17 under arch och får riktigt bra performance på en 4770k och 290X.

Ska inte vara någon skillnad mellan distros, Arch ska egentligen fungera bäst dessutom. Men fick det inte att fungera bra helt enkelt, vet inte vad jag gjorde för fel tbh..

Skrivet av FattarNiInte:

Wine gallium hjälper endast för directx 9 på Amd-kort (kanske Intel också?) med Mesa drivisar.
Eftersom du får en prestandavinst med dxvk använder spelet directx 11 och hjälps inte på något vis av Wine gallium.

Om du vill spela direktx 9 spel med bra prestanda kan du testa playonlinux programmet där du kan välja mellan olika Wine versioner, tex gallium-nine.

Skickades från m.sweclockers.com

Finns det spel som fortfarande använder dx9? haha. Men du har rätt Gallium/nine verkar bara vara för dx9.
PlayOnLinux fungerade inte värst bra för battle.net, upptäckte ett ännu bättre program dock. Lutris. Testa det

Permalänk
Medlem
Skrivet av Emaku:

Jag spelar mest på PS3 och PS4 men jag är inte direkt en gaming entusiast.
Jag har också en qemu vm med gpu passthrough som jag använder för windows only releaser. I praktiken är det mest för cities skylines och liknande city builder spel.

Gpu passthrough kan vara krångligt att få igång men det är ändå inget jämför med krånglet att använda Windows. Nästan alla problem jag har med att spela på PC är för att windows och dess program är skit.

Vad är det för krångel du har med Windows och spel? Jag spelar en del och har haft 0 krångel.

Permalänk
Medlem
Skrivet av Superthug:

Vad är det för krångel du har med Windows och spel? Jag spelar en del och har haft 0 krångel.

Låter inte som att "Windows+spel" är problemet i hans fall utan "Windows".

Skickades från m.sweclockers.com

Visa signatur

WS: MSI B350M Mortar | AMD Ryzen 7 1700 | PH-TC14PE | 32GB DDR4 3000MHz | 1TB Kingston NV2 | Intel Arc A750 8GB | 2*BenQ G2420HDB
Router: Gigabyte GA-870-UD3 | AMD Phenom II x6 1055t @ 2600MHz, 1.25V | 12GB DDR3 | 2*250GB HDD @ RAID1 | 4TB HDD
Laptop: Thinkpad X220 4291-QF6

Permalänk
Medlem
Skrivet av pid1:

Nu återstår det endast att lösa problemet varför min mic inte forwardas till Windows... Någon som lyckats få det att fungera samtidigt som man pipar guest-ljudet till Pulseaudio?

Hittade just lösningen på detta, dock efter att jag redan köpt ett extra ljudkort och inväntar en adapter för att splitta micen..

I pacuvontrol under "Recording" fanns det en entry för Qemu som innan var inställd på min DAC som då inte har någon mic-ingång. Jag bytte till "Built-in Audio Analog Stereo" och nu forwardas micen korrekt till Windows.

Enda ploblemet kvar nu är pulseaudio som av någon anledning återställer ljudnivån på Qemu-streamen till 89% fastän jag sagt till gång efter gång att den ska vara på 50%. Detta händer även med flat-volumes=no i /etc/pulse/daemon.conf som tydligen ska hjälpa. Kanske måste regexa streamen och applicera en regel istället. Har sänkt i Windows till 15% istället och förlitar mig på att den stannar där.

Permalänk

Grymt intressant att Steam släpper "Proton", en specialvesion av Wine där dom packeterar windowsspel (Proton + rätt inställningar + DXVK / grafikdrivisar osv), samt testar igenom att allt fungerar. Det kommer med andra ord rätt snart att gå köpa windowsspel på Steam och spela under Linux med en one-click-lösning. Även tidigare köpta windowsspel med stöd går såklart spela. Sjukt intressant imo!

Finns redan tillgängligt om man kör betan.

Permalänk
Medlem

Måste säga att det här med Proton / Steam Play känns som ett stort steg framåt för Linux i allmänhet och gaming på linux och därmed fler människors intresse för linux i synerhet.

Visst hade det varit bättre om fler speltillverkare/kodare hade visat större intresse för att utveckla sin spel direkt till plattformen. Men nu ser det det ut som det gör, och det är i mitt tycke trotts allt ett stort steg i rätt riktning.

Jag testade själv med att hugga ett spel i högen av spel till windows (naturligtvis började jag inte med någon av dom nyare spel i listan, av ren försiktighet och i tron att det inte skulle funka). Så det fick bli Call of Duty - World at War (Muliplayer). Det laddade perfekt med spel och punkbuster e.t.c. Hittade en server som var nästan full och jag lirade det helt felfritt och utan buggar av något slag i strax över 1 timme. Ska fortsätta med att testa och se vad som mer kan tänkas funka.

Visa signatur