Puncte:2

Cum se utilizează accelerarea OpenGL/3D în virt-manager cu ubuntu?

drapel us

În prezent, pe Ubuntu 20.04, atât ca gazdă, cât și ca invitat, l-am urmărit http://ryan.himmelwright.net/post/virtio-3d-vms/ și am activat accelerarea 3D pe video și OpenGL pe dsplay, dar la lansarea VM primesc

Suportul SPICE GL este local doar pentru moment și incompatibil cu -spice port/tls-port

Cum îl pot face să funcționeze?

ACTUALIZAȚI:

Am dezactivat Tipul de ascultare la Niciunul

ca aceastaintroduceți descrierea imaginii aici

dar am o imagine foarte proastă:

introduceți descrierea imaginii aici

Puncte:1
drapel us

De asemenea, m-am confruntat cu aceeași problemă în timp ce lucram la accelerarea hardware bazată pe software, așa cum este specificat de: http://ryan.himmelwright.net/post/virtio-3d-vms/ . M-am chinuit puțin și am găsit o soluție simplă care a funcționat pentru mine. Dar nu pot garanta că va funcționa și pentru tine:

Presupun că ați schimbat „Modelul” din „QXL” în „Virtio” și ați activat „Accelerația 3D” în secțiunea „Dispozitiv video” împreună cu setările specificate mai sus. Presupun, de asemenea, că dispozitivul de redare pe care l-ați selectat în meniul drop-down „OpenGL” este GPU-ul dvs. dedicat.

Acum, închideți instanța virt-manager și reporniți-o de la terminal prin adăugare DRI_PRIME=1 înainte, adică să alerge DRI_PRIME=1 virt-manager în terminal. Acum porniți VM-ul dvs. Inițial, am văzut câteva erori de ecran, dar după ce ecranul de autentificare a fost deschis, lucrurile au mers fără probleme. Mi-am monitorizat utilizarea AMD DGPU prin intermediul radeontop si mergea bine.

Notă:

  1. Aceeași soluție a funcționat cu VirtualBox când nu îmi folosea DGPU-ul chiar și cu Acceleration 3D activată. De asemenea, am observat că accelerația 3D a fost mai stabilă în VirtualBox în comparație cu Virt-manager.

  2. Chiar și după activarea cu succes a accelerației 3D, nu veți obține performanța completă a GPU-ului și, probabil, veți întâmpina probleme de driver în diferite locuri. Probabil că ați dori să utilizați GPU-ul direct în VM prin GPU pass-through pentru a depăși aceste probleme.

Editare 1:

După ce am jucat mai mult cu accelerarea hardware VM, am constatat că mai trebuie făcut un pas pentru a rula VM-ul cu DGPU. Mai întâi trebuie să creștem VRAM-ul la cel puțin 512 MB în „Modelul QXL” din secțiunea „Dispozitiv video”, faceți clic pe „Aplicați”, schimbați „Modelul” din „QXL” în „Virtio” cu „Accelerația 3D” activată și apoi rula virt-manager cu DRI_PRIME=1.

Când am încercat acest lucru, Manjaro mergea bine, dar performanța Windows 10 VM a fost foarte agitată.

drapel us
Nu am probleme, dar încă primesc videoclipul în doar 1/4 din ecran
Puncte:0
drapel de

OpenGL + 3D Rendering funcționează excelent cu iommu dacă aveți suport VT-D pe placa de bază + procesor.

Adăuga intel_iommu=on iommu=pt la /etc/default/grub/, actualizați grub și reporniți. (AMD este amd_iommu=on)

De exemplu.:

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

adăugând steaguri de boot iommu în fișierul /etc/default/grub

Pentru completitudine, ar trebui să menționez /etc/default/grub/ trebuie editat ca root (utilizați sudo sau su).

Comanda de actualizare este:

update-grub

pentru Debian/Ubuntu/Derivatives și:

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

pentru majoritatea celorlalte distribuții (pe unele distribuții, grub2-mkconfig comanda este numită grub-mkconfig).

  1. Trebuie remarcat faptul că acesta este un mod de trecere „slab” (partajat), care nu preia întregul dispozitiv.„True” passthrough elimină complet dispozitivul de sub controlul gazdei. Asta necesită o vfio-pci=vendId:devId stub fie în grub fie /etc/modprobe.d (și o reconstrucție a initramfs). Pentru mai multe informații despre trecere, acesta este un loc bun pentru a începe: https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF
  2. Există modalități și mai elaborate de a vă partaja grafica, fiecare furnizor are propria sa versiune. De exemplu, Intel-GVT-g pentru intel iGD-uri: https://wiki.archlinux.org/title/Intel_GVT-g

Aici e al meu xml pentru dispozitivele în cauză:

Display Spice - notă: cu passthrough nu puteți activa un server la distanță:

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

Afișează Spice Server PCI passthrough cu configurație openGL

Video Virtio (schimbarea de la 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>

trecerea de la QXL la virtio pentru accelerarea 3d

Fără legătură, folosesc un dispozitiv bloc zvol pe configurația de instalare ZFS a Ubuntu. Este o opțiune disponibilă numai în versiunea Ubuntu Desktop:

ZFS zvol pentru dispozitivul bloc NTFS

zvol-urile sunt foarte grozave, deoarece puteți comuta între utilizarea lor pentru kvm-qemu și [container-sistem][5] (doar Linux, evident) - plus snapshot și trimiteți/primiți-le.

Dar, deoarece zvols imită un disc obișnuit, ele demonstrează că ați putea folosi un disc dedicat pentru VM dacă aveți spațiu pentru a instala unul.

Odată ce faci zvol, da-i o structură de partiție gpt folosind fdisk/sgdisk/{g}s-au despărțit etc. la fel ca orice alt disc. Odată ce am creat partiția gpt, am folosit ISO Windows pentru a face partiționarea propriu-zisă.

btrfs are ceva similar care ar trebui să fie mai bine susținut de systemd-nspawn, dar nu sunt sigur dacă le puteți opera ca pe un dispozitiv bloc qemu.

Ultimul sfat: trebuia să copiez unele fișiere de la gazdă pe VM. Nu poți monta cu adevărat un folder din Linux --> Windows, dar aș putea monta partiția (nr. 3) Windows creată pe zvol în gazdă ca o partiție obișnuită NTFS.

Deci, în timp ce VM-ul era oprit, am montat partiția 3 /mnt, am copiat folderul de care aveam nevoie, umount /mnt partiția și porniți VM-ul de rezervă.

Uneori este puțin dificil să-ți dai seama ce să faci în acea situație, așa că m-am gândit să-l introduc. Oamenii din ghidurile pe care le-am citit mi-au recomandat și configurarea partajării Samba dacă aveți nevoie de ceva mai frecvent sau, de asemenea, de la distanță la mașinile virtuale Windows folosind OpenSSH-Server și PSRemoting, deci există o mulțime de opțiuni (Windows are chiar și SSHFS acum, dacă verifici Ciocolata).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.