Jak korzystać z NVIDIA GeForce M310 na Ubuntu 12.10 działającym jako gość w VirtualBox?

10

W ciągu ostatnich kilku tygodni bawiłem się Ubuntu 12.10. To działa jako gość na Virtualbox hostowanym w systemie Windows 7. Z Unity 3D pojawiły się pewne wyzwania. Szczególnie ze względu na brak obsługi X11 w wersji 1.13 do niedawna. Od dzisiaj jesteśmy w stanie pobrać Virtualbox w wersji 4.2.2, który dzięki dodatkom gościnnym obsługuje także X11 w wersji 1.13. DALEKO świetna robota dla wszystkich.

Ponieważ Unity działa teraz tylko w trybie 3D, fajnie byłoby uzyskać dostęp do karty graficznej bezpośrednio z Virtualbox. lshw -c displaypokazy: VGA compatible controller; product: VirtualBox Graphics Adapter.

PYTANIE: jak uzyskać grafikę 3D i inną bezpośrednio obsługiwaną przez sprzęt, tj. Nvidia GeForce M310

huub
źródło
Jedynym sposobem jest porzucenie VBox i zainstalowanie Ubuntu na prawdziwym sprzęcie jako podwójny rozruch lub za pomocą instalatora Windows.
mikewhthing

Odpowiedzi:

15

Przekazywanie PCI

Przepustowość PCI jest eksperymentalnie obsługiwana w najnowszych wersjach zamkniętego źródła Virtual Box (PUEL) . Istnieje jednak kilka ograniczeń, tj. W przypadku karty graficznej możemy przeczytać w Instrukcji użytkownika Virtual Box :

Karty AGP i niektóre karty PCI Express nie są obecnie obsługiwane, jeśli polegają na GART

Nie mogę powiedzieć, czy tak jest w przypadku Nvidii M310, musisz to najpierw zrozumieć, zanim spróbujesz.

Aby przepustowość PCI działała, potrzebujemy również płyty głównej z włączonym modułem IOMMU w ustawieniach BIOS-u (tj. VT-d dla Intela, AMD-Vi dla AMD).

Jest kilka dodatkowych wymagań wstępnych, które należy spełnić ( szczegółowe informacje można znaleźć w instrukcji Virtual Box ):

  • Twoja płyta główna ma jednostkę IOMMU.
  • Twój procesor obsługuje IOMMU.
  • IOMMU jest włączony w systemie BIOS.
  • Maszyna wirtualna musi działać z włączoną funkcją VT-x / AMD-V i zagnieżdżonym stronicowaniem.
  • Twoje jądro Linuksa zostało skompilowane ze wsparciem IOMMU, mapowaniem DMA i sterownikiem stub PCI.
  • Jądro Linux rozpoznaje jednostkę IOMMU i korzysta z niej.

Następnie możemy podłączyć urządzenie PCI z bus:device.functionodczytanymi właściwościami lspcido naszej maszyny wirtualnej za pomocą:

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

Sprawdź u gościa, lspciczy urządzenie zostało poprawnie podłączone przed zainstalowaniem sterowników dla tego urządzenia.

Dalsze ograniczenia można znaleźć w instrukcji Virtual Box .

Takkat
źródło
8
A może teraz kilka dni do roku 2015? Czy „PCI passthrough” zostało w pełni zaimplementowane w Virtual Box?
user280121,
3

Od 2016 r. Jest w pełni wdrożony, ale dla gości Linuxa eksperymentalny.

Moduł przepustowości PCI jest dostarczany jako pakiet rozszerzeń VirtualBox, który należy zainstalować osobno. Aby uzyskać więcej informacji, zobacz Sekcja 1.5, „Instalowanie VirtualBox i pakietów rozszerzeń”.

Zasadniczo ta funkcja umożliwia bezpośrednie korzystanie z fizycznych urządzeń PCI na hoście przez gościa, nawet jeśli host nie ma sterowników dla tego konkretnego urządzenia. Obsługiwane są zarówno zwykłe PCI, jak i niektóre karty PCI Express. AGP i niektóre karty PCI Express nie są obecnie obsługiwane, jeśli polegają na programowaniu jednostek GART (Graphics Address Remapping Table) do zarządzania teksturami, ponieważ wykonuje raczej nietrywialne operacje z odwzorowywaniem stron zakłócającym IOMMU. Ograniczenie to może zostać zniesione w przyszłych wersjach.

Źródło: Podręcznik VirtualBox

Willi Mentzel
źródło