Điểm:2

Làm cách nào để sử dụng khả năng tăng tốc OpenGL/3D trong trình quản lý tài năng với Ubuntu?

lá cờ us

Hiện tại trên Ubuntu 20.04 vừa là máy chủ vừa là khách, tôi đã theo dõi http://ryan.himmelwright.net/post/virtio-3d-vms/ và kích hoạt tăng tốc 3D trên video và OpenGL trên dsplay, nhưng khi khởi chạy VM, tôi nhận được

Hỗ trợ SPICE GL hiện tại chỉ cục bộ và không tương thích với -spice port/tls-port

Làm thế nào tôi có thể làm cho nó hoạt động?

CẬP NHẬT:

Tôi đã tắt Loại nghe thành Không có

như thế nàynhập mô tả hình ảnh ở đây

nhưng tôi nhận được một hình ảnh rất rối mắt:

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

Điểm:1
lá cờ us

Tôi cũng gặp phải vấn đề tương tự khi làm việc với Tăng tốc phần cứng dựa trên phần mềm như được chỉ định bởi: http://ryan.himmelwright.net/post/virtio-3d-vms/ . Tôi mày mò một chút và tìm ra một giải pháp đơn giản phù hợp với mình. Nhưng tôi không thể đảm bảo rằng nó cũng sẽ hiệu quả với bạn:

Tôi cho rằng bạn đã thay đổi 'Mô hình' từ 'QXL' thành 'Virtio' và bật 'Tăng tốc 3D' trong phần 'Thiết bị Video' cùng với các cài đặt bạn đã chỉ định ở trên. Tôi cũng cho rằng trình kết xuất mà bạn đã chọn trong trình đơn thả xuống 'OpenGL' là GPU chuyên dụng của bạn.

Bây giờ, chỉ cần đóng phiên bản trình quản lý tài năng của bạn và khởi động lại từ thiết bị đầu cuối bằng cách nối thêm DRI_PRIME=1 trước nó tức là chạy DRI_PRIME=1 nhà quản lý giỏi trong thiết bị đầu cuối. Bây giờ hãy khởi động VM của bạn. Ban đầu, tôi thấy một số trục trặc trên màn hình, nhưng sau khi mở màn hình đăng nhập, mọi thứ diễn ra suôn sẻ. Tôi đã theo dõi việc sử dụng AMD DGPU của mình thông qua radeontop và nó đã chạy tốt.

Ghi chú:

  1. Giải pháp tương tự đã hoạt động với VirtualBox khi nó không sử dụng DGPU của tôi ngay cả khi đã bật Tăng tốc 3D. Tôi cũng nhận thấy rằng Tăng tốc 3D ổn định hơn trong VirtualBox so với Virt-manager.

  2. Ngay cả sau khi bật thành công tính năng tăng tốc 3D, bạn sẽ không nhận được hiệu suất GPU đầy đủ và có thể sẽ gặp sự cố trình điều khiển ở nhiều nơi. Bạn có thể muốn sử dụng GPU của mình trực tiếp vào VM thông qua GPU pass-through để khắc phục những vấn đề này.

Chỉnh sửa 1:

Sau khi tìm hiểu thêm về khả năng tăng tốc phần cứng máy ảo, tôi nhận thấy rằng cần thực hiện thêm một bước nữa để chạy máy ảo với DGPU. Trước tiên, chúng tôi cần tăng VRAM lên ít nhất 512 MB trong 'Mô hình QXL' của phần 'Thiết bị Video', nhấp vào 'Áp dụng', thay đổi 'Mô hình' từ 'QXL' thành 'Virtio' với bật 'Tăng tốc 3D' và sau đó chạy trình quản lý tài năng với DRI_PRIME=1.

Khi tôi thử điều này, Manjaro vẫn chạy tốt, nhưng hiệu suất của Windows 10 VM rất chậm.

lá cờ us
Tôi không gặp trục trặc nhưng tôi vẫn nhận được video chỉ bằng 1/4 màn hình
Điểm:0
lá cờ de

Kết xuất OpenGL + 3D hoạt động tốt với iommu nếu bạn có hỗ trợ VT-D trên bo mạch chủ + bộ xử lý của mình.

cộng intel_iommu=on iommu=pt đến /etc/default/grub/, cập nhật grub và khởi động lại. (AMD là amd_iommu=bật)

Ví dụ.:

$ grep CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt"

thêm cờ khởi động iommu vào tệp /etc/default/grub

Để đầy đủ, tôi nên đề cập đến /etc/default/grub/ cần phải được chỉnh sửa như root (sử dụng sudo hoặc su).

Lệnh cập nhật là:

cập nhật-grub

cho Debian/Ubuntu/Derivatives và:

grub2-mkconfig -o /boot/grub/grub.cfg

đối với hầu hết các bản phân phối khác (trên một số bản phân phối, grub2-mkconfig lệnh được đặt tên grub-mkconfig).

  1. Cần lưu ý rằng đây là chế độ truyền qua (chia sẻ) "yếu", không chiếm toàn bộ thiết bị.Truyền qua "đúng" loại bỏ hoàn toàn thiết bị khỏi sự kiểm soát của máy chủ. Điều đó đòi hỏi một vfio-pci=vendId:devId sơ khai trong grub hoặc /etc/modprobe.d (và xây dựng lại initramfs). Để biết thêm thông tin về thông qua, đây là một nơi tốt để bắt đầu: https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF
  2. Thậm chí còn có nhiều cách phức tạp hơn để chia sẻ đồ họa của bạn, mỗi nhà cung cấp có phiên bản riêng của họ. Ví dụ: Intel-GVT-g cho intel iGD: https://wiki.archlinux.org/title/Intel_GVT-g

Đây là của tôi xml cho các thiết bị trong câu hỏi:

Display Spice - lưu ý: với tính năng thông qua, bạn không thể bật máy chủ từ xa:

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes"/>
</graphics>

Hiển thị thông qua PCI của Spice Server với cấu hình openGL

Video Virtio (thay đổi từ QXL):

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

thay đổi từ QXL sang virtio để tăng tốc 3d

Không liên quan, tôi đang sử dụng thiết bị khối zvol trên cấu hình trình cài đặt ZFS của Ubuntu. Đây là một tùy chọn chỉ có trong phiên bản Ubuntu Desktop:

ZFS zvol cho thiết bị khối NTFS

zvols thực sự tuyệt vời vì bạn có thể chuyển đổi giữa việc sử dụng chúng cho kvm-qemu[systemd-container][5] (chỉ dành cho linux, rõ ràng) - cộng với ảnh chụp nhanh và gửi/nhận chúng.

Nhưng vì zvols bắt chước một đĩa thông thường, chúng chứng minh rằng bạn có thể sử dụng một đĩa chuyên dụng cho máy ảo của mình nếu bạn cũng có chỗ để cài đặt một đĩa.

Khi bạn tạo zvol, hãy cung cấp cho nó cấu trúc phân vùng gpt bằng cách sử dụng fdisk/sgdisk/{g}đã chia tay v.v. giống như bất kỳ đĩa nào khác. Khi tôi tạo phân vùng gpt, tôi đã sử dụng Windows ISO để thực hiện phân vùng thực tế.

btrfs có một cái gì đó tương tự nên được hỗ trợ tốt hơn bởi systemd-nspawn, nhưng tôi không chắc liệu bạn có thể vận hành chúng như một thiết bị khối trong qemu.

Mẹo cuối cùng: Tôi cần sao chép một số tệp từ Máy chủ sang VM. Bạn thực sự không thể gắn thư mục từ Linux -> Windows, nhưng tôi có thể gắn phân vùng (#3) Windows được tạo trên zvol trong Máy chủ dưới dạng phân vùng NTFS thông thường.

Vì vậy, trong khi VM tắt, tôi đã gắn phân vùng 3 vào /mnt, sao chép thư mục tôi cần, số lượng /mnt phân vùng và bắt đầu sao lưu VM.

Đôi khi có một chút khó khăn để tìm ra phải làm gì trong tình huống đó, vì vậy tôi nghĩ rằng tôi sẽ đưa nó vào. Những người trong hướng dẫn mà tôi đã đọc cũng khuyên bạn nên thiết lập chia sẻ Samba nếu bạn cần thứ gì đó thường xuyên hơn hoặc tôi cũng từ xa tới máy ảo Windows bằng OpenSSH-Server và PSRemoting, vì vậy có rất nhiều tùy chọn (Windows thậm chí hiện có SSHFS, nếu bạn kiểm tra sô cô la).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.