IronHide / BumbleBee với máy ảo VirtualBox. Nó sẽ chuyển qua tăng tốc video đến thẻ vật lý?


8

Bạn có biết liệu bạn có thể chạy Windows VM thông qua IronHide để tăng tốc card đồ họa không? Tôi muốn chơi trò chơi / xem Bluray, vv sử dụng thẻ video của tôi.


1
Tôi đã chạy thành công một cửa sổ vm với ong nghệ, nhưng không có hiệu quả rõ ràng, bạn đang tìm kiếm một cái gì đó cụ thể hơn?
david.libremone

1
Chà, tôi muốn biết liệu hộp ảo có vượt qua được khả năng tăng tốc video từ máy ảo windows để chơi trò chơi / xem Bluray không, v.v.
mwjackson

1
Thỉnh thoảng tôi đang lên kế hoạch kiểm tra bản thân mình, tôi sẽ cho bạn biết kết quả nếu người khác không trả lời trước - có lẽ điều chỉnh câu hỏi của bạn để cụ thể hơn?
david.libremone

Tôi hơi bối rối với những gì bạn hỏi, bạn có muốn VM sử dụng GPU nvidia để tăng tốc 3D không? , như truy cập trực tiếp vào phần cứng đồ họa thông qua VM?.
Uri Herrera

1
@jacko bạn có thể muốn vượt qua điều này trên forum.virtualbox.org
david.libremone

Câu trả lời:


9

Có lẽ một lời giải thích giữa đồ họa trong một khách ảo và máy chủ O / S thực tế sẽ giúp ích ở đây.

Đầu tiên là những điều cơ bản:

Mọi thứ trong một khách ảo là một sự trừu tượng - điều này có nghĩa là mọi thiết bị và trình điều khiển trong một khách ảo O / S không phụ thuộc vào trình điều khiển và thiết bị máy chủ thực tế.

Để cho bạn một ví dụ đơn giản. Một con chuột được xem như một thiết bị cụ thể - nhân linux nhìn thấy thiết bị này và cho phép hệ điều hành khách sử dụng thiết bị đó. "Thiết bị ảo" này được ánh xạ tới thiết bị vật lý thực bằng công cụ ảo hóa - VirtualBox, VMWare, Xen, v.v. Do đó, hệ điều hành khách không bao giờ cần phải hiểu chuột vật lý là gì, nó chỉ nhìn thấy những gì công cụ ảo hóa đã ánh xạ tới nó . Giá trị của phương pháp này là bạn có thể di chuyển khách ảo đến các Máy chủ khác nhau - nó sẽ hoạt động theo cùng một cách vì không có sự phụ thuộc trực tiếp vào chính Máy chủ.

Để thể hiện điều này trong thực tế, bạn có thể chạy lsusbtrên cả máy chủ và khách - trên máy chủ O / SI của tôi có các thiết bị USB sau:

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0402:9665 ALi Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Trên máy khách O / SI một chiều của tôi có thể thấy các thiết bị USB sau - chúng khác với máy chủ:

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet

Bất kỳ khách O / S nào dù là windows hay linux cũng sẽ chỉ thấy thiết bị khách ảo này.

Đồ họa máy chủ và đồ họa khách

Nó là tương tự cho đồ họa.

Đồ họa máy chủ của tôi là:

 sudo lshw -class display
  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 18
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:90000000-903fffff memory:80000000-8fffffff ioport:3050(size=8)

Trên O / S khách của tôi, nó có thể thấy card đồ họa sau - bạn có thể thấy nó không giống với máy chủ:

sudo lshw -class display
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: VirtualBox Graphics Adapter
       vendor: InnoTek Systemberatung GmbH
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: vga_controller bus_master
       configuration: latency=64
       resources: memory:e0000000-e7ffffff

Tương tự như vậy - một Windows Guest O / S sẽ chỉ thấy một thiết bị khách ảo tương tự.

Trong thế giới âm u của VirtualBox, Bổ sung khách mà bạn có thể cài đặt thủ công (hoặc trong 11.10 - j Racer nhìn thấy và khuyên bạn nên cài đặt nó) cài đặt các mô-đun hạt nhân bổ sung (hoặc trình điều khiển thiết bị cho Khách Windows) để cho phép khách truy cập nâng cao O / S đồ họa O / S máy chủ của bạn. Một lần nữa, nó không phải là ánh xạ trực tiếp - nhưng cho phép nhìn thấy đồ họa tăng tốc 3D.

Nếu một ứng dụng bên trong máy ảo của bạn sử dụng các tính năng 3D thông qua giao diện lập trình OpenGL (hoặc cho khách O / S của Windows - các cuộc gọi DirectX của nó), thay vì mô phỏng chúng trong phần mềm (sẽ chậm), VirtualBox sẽ cố gắng sử dụng máy chủ của bạn Phần cứng 3D.

Một lần nữa tôi nhấn mạnh, O / S khách không thấy card đồ họa thực tế của bạn, nó chỉ chuyển cuộc gọi OpenGL (hoặc DirectX) từ Khách trực tiếp đến phần cứng Máy chủ để xử lý.

nhập mô tả hình ảnh ở đây

Trong cài đặt VirtualBox, bạn nên thay đổi bộ nhớ thẻ video và cài đặt thẻ đồ họa 3D. Sau đó, khách O / S của bạn sẽ thấy "Thẻ tăng tốc 3D" với RAM 128Mb. Không thành vấn đề nếu card đồ họa máy chủ của bạn tốt hơn thế này - khách O / S của bạn sẽ chỉ nhìn thấy card đồ họa ảo "đơn giản" này.

Kể từ khi bạn nói bạn đang sử dụng Windows Khách O / S - hộp kiểm 2D được áp dụng cho bạn vì một tương tự pass-through của lập trình cuộc gọi giao diện được thực hiện.

Bumblebee / IronHide là một cơ chế chuyển đổi đồ họa hoặc / hoặc - bạn đang sử dụng đồ họa tích hợp hoặc đồ họa NVidia / ATI dung lượng cao hơn nhưng không phải cả hai cùng một lúc.

Vì khả năng OpenGL (hoặc DirectX) của đồ họa có thể chuyển đổi cao hơn lớn hơn so với các chip tích hợp, bạn sẽ thấy hiệu suất đồ họa tương đối nâng cao với các ứng dụng chuyên sâu về đồ họa của Guest O / S. Tuy nhiên, cải tiến này không ấn tượng bằng việc chạy cùng một ứng dụng trên máy chủ vì nó vẫn hoạt động trong các ràng buộc của thiết bị đồ họa khách ảo 128 MB.

nguồn


Ngoài ra, chúng ta không thể thực hiện bumblebee (kết xuất trên thẻ nvidia) trong các máy ảo ngay bây giờ, vì cả VMware và VirtualBox đều yêu cầu các nhị phân của chúng phải được thiết lập để hoạt động.
allquixotic

5

Một câu trả lời ở trên https://askubfox.com/a/85138/38052 giải thích cách mọi thứ mà khách O / S nhìn thấy là một loại trừu tượng. Mặc dù điều này đã từng hoàn toàn đúng, tôi tin rằng mọi thứ đang thay đổi và nó có thể không hoàn toàn đúng nữa.

Một số bộ xử lý mới hơn cũng hỗ trợ ảo hóa I / O MMU. Các công nghệ được gọi là Intel VT-d cho phiên bản Intel và AMD-Vi cho phiên bản AMD. Để trích dẫn bài viết trên wikipedia về ảo hóa x86:

Ảo hóa I / O MMU của Intel (AMD-Vi và VT-d) Bài chi tiết: IOMMU

Bộ quản lý bộ nhớ đầu vào / đầu ra (IOMMU) cho phép các máy ảo khách sử dụng trực tiếp các thiết bị ngoại vi, như Ethernet, card đồ họa được tăng tốc và bộ điều khiển ổ cứng, thông qua DMA và ngắt ánh xạ. Điều này đôi khi được gọi là thông qua PCI. Cả AMD và Intel đều đã phát hành thông số kỹ thuật:

AMD's I/O Virtualization Technology, "AMD-Vi", originally called "IOMMU".
Intel's "Virtualization Technology for Directed I/O" (VT-d).

Điều này nghe có vẻ khá thú vị, nhưng tôi có thể thấy trước một số vấn đề. Đối với một, trong máy tính xách tay Optimus, Intel IGP luôn hiển thị đầu ra trên màn hình cuối cùng. Tôi không rõ làm thế nào cả O / S của Khách và O / S của Máy chủ đều lái IGP. Một suy nghĩ là nếu có thể chạy Host mà không có bất kỳ đồ họa nào trong khi khách đang chạy, thì điều này có thể được thực hiện để làm việc, nhưng tôi không rõ người ta sẽ thực sự làm việc này như thế nào.


1

OK, tôi đã tò mò, vì vậy tôi đã thử điều này.

QEMU, và giờ là VirtualBox, đang hỗ trợ truyền các thiết bị PCI cho máy khách. Điều đó có nghĩa là nếu bạn có card đồ họa thứ 2, bạn có thể chuyển nó cho một vị khách windows trên máy chủ linux và có được hiệu suất 3D (trò chơi) đầy đủ trong môi trường cửa sổ ảo hóa. Đó là trường hợp của một giàn máy tính để bàn có hai card đồ họa. Người quản lý thiết bị sẽ hiển thị "NVIDIA GTX ... bất cứ điều gì" thay vì nói "Bộ điều hợp đồ họa Virualbox".

Optimus luôn phức tạp hơn. Tôi đang thử nghiệm điều này trên ASUS UX501. Tôi đã có thể truyền chip NVidia cho khách Windows và nó hiển thị trong trình quản lý thiết bị dưới dạng "Trình điều khiển video 3D". Nhưng tôi không thể cài đặt bất kỳ trình điều khiển windows nào để hỗ trợ nó. Có vẻ như sự hiện diện của đồ họa intel là một điều kiện tiên quyết.

selii đã đúng khi nghi ngờ. Có vẻ như chip nvidia không phải là "bộ điều hợp hiển thị" như điều khiển màn hình, mà chỉ là một bộ tăng tốc cho chip intel tích hợp. Chúng dường như không hoạt động như hai thiết bị riêng biệt độc lập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.