Esiste una macchina virtuale con accesso diretto a CPU e GPU per i giochi?


10

Ci scusiamo per la lunga domanda.

Con l'avvento di Steam per Linux potrei essere stato ottimista e liberarmi dell'installazione di Windows. Il problema è che ho circa 100 giochi Steam che non sono (e potrebbero non essere mai portati) su Linux. Comunque mi sono stancato del dual boot e le soluzioni Wine (wineprefix e playonlinux) non sempre funzionano. Quindi mi chiedevo se ci fosse una soluzione per usare una macchina virtuale (o qualcosa di simile) con accesso diretto alle specifiche hardware per far funzionare i giochi Windows. (qualcosa di simile a ciò che Parallels fa su Mac). La reinstallazione di Windows non è un grosso problema, ma speravo di evitarlo perché vorrei usare Ubuntu come il mio sistema operativo quotidiano insieme a più "difficili" distro..per saperne di più su Linux.

Modifica: grazie per tutte le risposte: penserò alla soluzione che hai proposto. Onestamente fino ad oggi non ho mai sentito parlare di Xen, quindi dovrò leggerlo ... e forse comprare una nuova scheda grafica ... e un nuovo monitor. Penso che finirò per reinstallare Windows su una delle mie unità ... È un peccato però. grazie ancora.


2
Vedi questa domanda sulle forti limitazioni per poter accedere alla GPU da Virtual Box.
Takkat,

@Takkat Hai mai avuto la possibilità di provare il pass-through PCI? Ha funzionato bene?
Chad Harrison,

@hydroparadise: no i miei software non supportano IOMMU. Immagino che non sia davvero facile da ottenere e hai bisogno di 2 schede grafiche.
Takkat,

Risposte:


11

La risposta breve è: No.
La risposta più lunga è: Non ancora ...

Il supporto 3D di VBox conta a malapena. Fornisce supporto 3D ma assolutamente nessuna prestazione. VMWare sembra funzionare molto meglio (nota che il benchmark è su un Mac) e che potrebbe essere giocabile. Il rovescio della medaglia qui è un grande mucchio di soldi (non sono sicuro di come sia il supporto 3D nelle loro offerte gratuite).

Ma se vuoi sfruttare appieno il tuo hardware per i giochi solo per Windows, c'è solo una soluzione e che è l'avvio in Windows. Temo di dire che probabilmente sarà sempre il caso di quel sottoinsieme di giochi.

Le uniche altre soluzioni quasi accettabili disponibili:

  • Combatti il ​​vino (quando funziona, tende a funzionare davvero bene)
  • Acquista una console.
  • Fai pressione sullo sviluppatore per una porta.

Esistono tutti i tipi di tecnologie server che possono filtrare nel tempo :

  • Nvidia + Vmware sta lavorando su una piattaforma di gioco virtualizzata multi-testa, ma onestamente non mi aspetto che questo livello di integrazione sia nelle mani dei consumatori per un altro decennio, se non di più. I produttori di grafica vogliono che acquistiamo dozzine e dozzine di carte e la virtualizzazione fa male a questo scopo.

  • Potresti invertirlo e avere una VM host di Windows Server e paravirtare un desktop Ubuntu, con 3D condiviso ma, ancora una volta, non sono sicuro di come sarebbero le prestazioni. Ed è un sacco di soldi da fare legalmente. L'host desktop non è affatto buono.

  • Xen non eseguirà il paravirt di un'installazione di Windows, quindi non ha ancora senso guardare lì. Ha moduli PCI e VGA passthrough ma sono bloccati su una VM, quindi dovresti avere una scheda grafica per ogni installazione. Urgh.


Nota sto parlando solo di grafica 3D qui perché il resto sono problemi risolti o quasi risolti. La virtualizzazione della CPU è matura con la paravirtualizzazione e le estensioni della CPU come Intel VT-x e AMD-V. Il passthrough periferico ha una larghezza di banda abbastanza bassa, quindi è semplice da condividere.

La grafica è in ritardo perché condividerla nel modo in cui stiamo parlando non è una necessità commerciale per i produttori. Sembra che vada in quel modo (per farm di rendering di fascia alta e consolidamento di workstation basate su server), quindi controlla quello spazio.


Per quanto riguarda il vino, PlayOnLinux merita sicuramente una visita
Chad Harrison,

@Oli la tua risposta è stata molto completa, grazie. Ad ogni modo, ho visto che è possibile montare un'installazione di Windows esistente in una macchina virtuale (dopo un corretto lavoro). In tal caso l'accelerazione hardware sarebbe la stessa della virtualizzazione virtuale?
psylockeer,

@psylockeer Intendi montare un'unità fisica (con una vera installazione di Windows su di essa) all'interno di una VM? Questo può essere fatto in tutti i principali software di virtualizzazione, ma potresti scoprire che Windows esce. L'ultima volta che ho provato a cambiare l'hardware su un'installazione di Windows è capovolto e non è mai andato oltre un bluescreen. Spero che la SM abbia migliorato le cose da allora. L'accesso non è ancora diretto (AFAIK) in quanto il client VM sta ancora accedendo all'unità tramite Linux - non è solo su un altro file system (se questo ha senso) - quindi non aspettatevi un grande aumento delle prestazioni.
Oli

7

Se sia l'hardware che il software supportano IOMMU (aka passthrough PCI, AMD-Vi e Intel VT-d), è possibile assegnare i dispositivi I / O (ad esempio, la scheda grafica) alle VM.

Nelle attuali versioni di Ubuntu, è possibile utilizzare Xen , purché sia ​​la scheda madre che la CPU supportino IOMMU.

Attualmente sto usando una VM Windows 7 con due GPU AMD 7950 e funziona molto bene per il gaming e il mining di Bitcoin / Litecoin.

Tutorial, ecc .:

Nota che puoi usare la GPU su quella VM se la passi.


Credo che non sarà in grado di condividere una singola GPU tra VM. Tuttavia, se ha due schede video (specialmente se ha più monitor o un monitor con due ingressi adeguati), o sta bene accedendo alla GUI GNU / Linux esclusivamente su VNC, SPICE o simili, il passthrough GPU di Xen sembra essere un modo per partire.
drdaeman,

@drdaeman: True. Quando si passa attraverso una GPU, è possibile accedervi solo da quella VM.
Dennis,

grazie ragazzi, purtroppo per il momento questa soluzione è per mia conoscenza ... e le mie tasche :-)
psylockeer

3

La VM di Windows funziona principalmente su hardware emulato. Quell'hardware è di solito relativamente semplice.

Avendolo detto:

  1. È possibile emulare funzioni 3D. Le prestazioni sono di solito scadenti e, a volte, non funzionano come previsto. (Ad esempio, l'esecuzione di Baldur's Gate 1 con l'accelerazione 3D abilitata nella workstation Vmware 8 provoca l'arresto anomalo dell'intero host. Non solo della VM). Ciò migliorerà nel tempo per tutte le macchine virtuali.
    In effetti, vmware workstation 9 richiede miglioramenti significativi, ma non ho ancora testato quella versione. So che 5.5 e 8 non erano sufficienti.
  2. Invece di emulare è possibile accedere direttamente all'hardware da una macchina virtuale. La parola chiave è PCI [e] passthough. Questa è una funzionalità solitamente utilizzata per passare attraverso schede speciali, schede di rete a 10 Gbit ecc., Ma dovrebbe funzionare anche per le schede grafiche. Si noti che utilizzerà una scheda solo per la VM. Con le schede grafiche questo significa utilizzare una seconda scheda grafica per la VM.

quindi avrei bisogno di 2 monitor troppo giusti? ... comunque ho controllato e non credo che la mia CPU (prima Gen i5 750) supporti vt-d.
psylockeer,

Quella cosa da 2 monitor è un buon punto. Non l'ho mai considerato da quando ho dato il pass pass PCI a schede di rete, schede RAID e simili. --- Si noti che la maggior parte dei monitor ha più di un segnale in ingresso. Ad esempio DVI, DP, composito, S-Video e component ... Non che la commutazione dell'ingresso di un monitor tra due fonti sia una soluzione eccezionale.
Hennes,

0

Hai provato Virtual Box ? Con la lettura di elenco delle caratteristiche sembra che che ha quello che serve ... l'accesso alla GPU e CPU.


Virtualbox ti consente davvero di installare Windows, ma per quanto ne so i giochi 3D non è così facile da ottenere.
psylockeer,

Onestamente, non l'ho mai provato. Ho sempre preferito il doppio avvio con Windows solo per giocare. E sembra che alcuni giochi funzioneranno, alcuni non lo faranno, per lo più dipende da quali giochi si desidera eseguire
JackLock,

0

Prova a giocare ovunque . Non è esattamente una VM, piuttosto una soluzione di gioco open source potrebbe, ma è comunque possibile eseguire lo streaming dell'intero desktop o dei giochi.


0

Quando dici "accesso diretto all'hardware" non stai più parlando di macchine virtuali, stai parlando di macchine reali. Per l'accesso diretto ai giochi Windows avrai bisogno di Windows.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.