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.
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.
Câu trả lời:
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.
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 lsusb
trê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.
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ý.
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.
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.
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.