Comment utiliser NVIDIA GeForce M310 sur Ubuntu 12.10 fonctionnant en tant qu'invité dans VirtualBox?

10

Les dernières semaines ont joué avec Ubuntu 12.10. Cela fonctionne en tant qu'invité sur Virtualbox hébergé sur Windows 7. Il y a eu quelques défis avec les trucs Unity 3D. Particulièrement dû à la non prise en charge de la version 1.13 de X11 jusqu'à très récemment. Depuis aujourd'hui, nous sommes en mesure de télécharger la version 4.2.2 de Virtualbox qui, via des ajouts d'invités, prend également en charge la version 1.13 de X11. Jusqu'ici, tout le monde fait du bon travail.

Étant donné que Unity ne fonctionne désormais qu'en mode 3D, il serait intéressant d'accéder à la carte graphique directement à partir de Virtualbox. lshw -c displayspectacles: VGA compatible controller; product: VirtualBox Graphics Adapter.

QUESTION: comment obtenir la 3D et d'autres graphiques directement pris en charge par le matériel, à savoir Nvidia GeForce M310

huub
la source
La seule façon est d'abandonner la VBox et d'installer Ubuntu sur du vrai matériel en double démarrage ou avec le programme d'installation de Windows.
mikewwhat

Réponses:

15

Passthrough PCI

PCI passthrough est expérimentalement pris en charge récente Virtual Box Source fermée (PUEL) versions. Cependant, il existe plusieurs limitations, par exemple pour une carte graphique, nous pouvons lire dans le manuel de l'utilisateur de Virtual Box :

AGP et certaines cartes PCI Express ne sont pas prises en charge pour le moment si elles dépendent de GART

Je ne peux pas dire si c'est le cas avec le Nvidia M310, vous devrez d'abord le comprendre avant d'essayer.

Pour que le passthrough PCI fonctionne, nous avons également besoin d'une carte mère avec un IOMMU activé à partir des paramètres du BIOS (c'est-à-dire VT-d pour Intel, AMD-Vi pour AMD).

Il existe plusieurs autres conditions préalables à remplir (voir le manuel de la boîte virtuelle pour plus de détails):

  • Votre carte mère a une unité IOMMU.
  • Votre CPU prend en charge l'IOMMU.
  • L'IOMMU est activé dans le BIOS.
  • La machine virtuelle doit fonctionner avec VT-x / AMD-V et la pagination imbriquée activée.
  • Votre noyau Linux a été compilé avec le support IOMMU, le remappage DMA et le pilote de stub PCI.
  • Votre noyau Linux reconnaît et utilise l'unité IOMMU.

Nous pouvons ensuite attacher un périphérique PCI avec ses bus:device.functionpropriétés lues lspcià notre machine virtuelle en utilisant:

VBoxManage modifyvm "VM name" --pciattach <host-bus>:<host-device>.<host-function>@<guest-bus>:<guest-device>.<guest-function>.

Voir dans l'invité avec lspcisi le périphérique était correctement connecté avant d'installer les pilotes pour ce périphérique.

Veuillez également consulter le manuel de la boîte virtuelle pour plus de limitations.

Takkat
la source
8
Que diriez-vous maintenant, de quelques jours à l'année 2015? Le «passthrough PCI» est-il entièrement implémenté dans Virtual Box?
user280121
3

En 2016, il est entièrement implémenté, mais pour les clients Linux expérimental.

Le module PCI passthrough est fourni en tant que package d'extension VirtualBox, qui doit être installé séparément. Voir Section 1.5, «Installation de VirtualBox et des packs d'extension» pour plus d'informations.

Essentiellement, cette fonctionnalité permet d'utiliser directement les périphériques PCI physiques sur l'hôte, même si l'hôte n'a pas de pilotes pour ce périphérique particulier. Les deux cartes PCI standard et certaines cartes PCI Express sont prises en charge. AGP et certaines cartes PCI Express ne sont pas prises en charge pour le moment si elles s'appuient sur la programmation d'unité GART (Graphics Address Remapping Table) pour la gestion de la texture, car il s'agit plutôt d'opérations non triviales avec le remappage de pages interférant avec IOMMU. Cette limitation pourra être levée dans les versions futures.

Source: manuel VirtualBox

Willi Mentzel
la source