Existe uma máquina virtual com acesso direto ao CPU e GPU para jogos?

10

Desculpe pela longa pergunta.

Com a chegada do Steam para Linux, eu posso ter ficado otimista demais e me livrei da instalação do Windows. O problema é que eu tenho cerca de 100 jogos Steam que não são (e talvez nunca sejam) portados para o Linux. De qualquer forma, cansei de bota dupla e as soluções Wine (wineprefix e playonlinux) nem sempre funcionam. Então eu queria saber se existe alguma solução para usar uma máquina virtual (ou algo similar) com acesso direto à especificação de hardware para rodar jogos windows nela. (algo parecido com o que o Parallels faz no mac). Reinstalar o Windows não é um grande problema, mas eu esperava evitá-lo, pois gostaria de usar o Ubuntu como meu sistema operacional diário, juntamente com distros mais "difíceis" ... para aprender mais sobre o Linux.

Edit: Obrigado por todas as suas respostas: vou pensar na solução que você propôs. Honestamente até hoje eu nunca ouvi falar de Xen, então vou ter que ler sobre isso ... e talvez comprar uma nova placa gráfica ... e um novo monitor. Acho que vou acabar reinstalando o Windows em uma das minhas unidades ... É uma pena, no entanto. obrigado novamente.

    
por psylockeer 26.03.2013 / 13:54

6 respostas

11

A resposta curta é: Não.
A resposta mais longa é: Ainda não ...

O suporte 3D do VBox mal conta. Ele fornece suporte 3D, mas absolutamente nenhum desempenho. VMWare parece para realizar uma muito melhor (note que o benchmark está em um Mac) e que pode ser jogável. A desvantagem aqui é uma grande pilha de dinheiro (não sei como é o suporte 3D em suas ofertas gratuitas).

Mas se você quiser aproveitar ao máximo seu hardware para jogos somente do Windows, há apenas uma solução e isso é para inicializar no Windows. Eu tenho medo de dizer que é provável que esse seja sempre o caso para esse subconjunto de jogos.

As únicas outras soluções quase aceitáveis disponíveis:

  • Lute com o vinho (quando funciona, tende a funcionar muito bem)
  • Compre um console.
  • Peça ao desenvolvedor uma porta.

Existem todos os tipos de tecnologias de servidor que podem filtrar no tempo :

  • Nvidia + Vmware estão trabalhando em um multi-head plataforma de jogos virtualizada , mas sinceramente não espero que esse nível de integração esteja nas mãos dos consumidores por mais uma década, se não mais. Os fabricantes de gráficos querem que nós compremos dezenas e dezenas de cartões e virtualizemos as feridas que visam.

  • Você poderia reverter isso e ter uma VM host do Windows Server e paravirtar um desktop Ubuntu, com o 3D compartilhado, mas, novamente, não sei como seria o desempenho. E é uma tonelada de dinheiro para fazer legalmente. O host da área de trabalho não é tão bom assim.

  • O Xen não paravirtua uma instalação do Windows, então não faz sentido procurar lá ainda. Ele tem módulos de passagem PCI e VGA, mas eles estão bloqueados em uma VM, então você precisa ter uma placa gráfica para cada instalação. Urgh.

Note que estou falando apenas de gráficos 3D aqui porque o resto é um problema resolvido ou quase resolvido. A virtualização da CPU está madura com paravirtualização e extensões de CPU como Intel VT-x e AMD-V. Passagem periférica é uma largura de banda razoavelmente baixa, portanto, é simples de compartilhar.

Os gráficos estão ficando para trás porque compartilhá-los da maneira como estamos falando não é uma necessidade comercial para os fabricantes. Mas parece que está indo embora (para farms de renderização de alto nível e consolidação de estações de trabalho baseadas em servidor), portanto, observe esse espaço.

    
por Oli 26.03.2013 / 14:21
7

Se o seu hardware e o seu software suportarem IOMMU (também conhecido como passagem PCI, AMD-Vi e Intel VT-d) , você pode atribuir dispositivos de E / S designados (por exemplo, a placa gráfica) a VMs.

Nas versões atuais do Ubuntu, você pode usar Xen , contanto que tanto a placa-mãe quanto a CPU suportem IOMMU .

Atualmente, estou usando uma VM do Windows 7 com duas GPUs AMD 7950 e ela funciona muito bem para jogos e mineração Bitcoin / Litecoin.

Tutoriais, etc:

Note que você pode usar a GPU na VM em que está passando.

    
por Dennis 26.03.2013 / 16:21
3

Sua VM do Windows é executada principalmente em hardware emulado. Esse hardware é geralmente relativamente simples.

Tendo dito isso:

  1. É possível emular funções 3D. O desempenho geralmente é insignificante e, às vezes, não funciona como esperado. (Por exemplo, a execução do Baldur's Gate 1 com a aceleração 3D ativada no VMware Workstation 8 trava todo o meu host. Não apenas a VM). Isso melhorará com o tempo para todas as VMs.
    Na verdade, vmware workstation 9 reivindicações melhorias significativas, mas eu não testei essa versão ainda. Eu sei que 5,5 e 8 não são suficientes.
  2. Em vez de emular, você pode acessar diretamente o hardware de uma VM. A palavra chave é PCI [e] passthough. Este é um recurso normalmente usado para passar cartões especiais, placas de rede de 10 Gbits, etc., mas também deve funcionar para placas gráficas. Note que usará um cartão somente para a VM. Com placas gráficas, isso significa usar uma segunda placa gráfica para a VM.
por Hennes 26.03.2013 / 15:25
0

Já experimentou o Virtual Box ? Por lista de recursos de leitura , parece que tem o que você precisa ... acesso a GPU e CPU.

    
por JackLock 26.03.2013 / 13:59
0

Tente jogos em qualquer lugar . Não é exatamente uma VM, e sim uma solução de software livre para jogos, mas você ainda pode transmitir toda a sua área de trabalho ou jogos.

    
por Luke 27.03.2014 / 09:29
0

Quando você diz "acesso direto ao hardware" você não está mais falando sobre Máquinas Virtuais, você está falando de Máquinas Reais. Para acesso direto em jogos do Windows, você precisará de janelas.

    
por Jason 24.09.2017 / 20:23