Μετάβαση στο περιεχόμενο

Virtio-Venus

  • Σχεδόν εγγενής επιτάχυνση 3D

Στα λειτουργικά συστήματα που αξιοποιούν το libvulkan, όπως τα Linux, BSD και Android, μπορείτε να επιτύχετε σχεδόν εγγενείς επιδόσεις, μεταφράζοντας τις κλήσεις από την εικονική μηχανή στο Vulkan και έπειτα, απευθείας στην GPU σας και αντίστροφα, χωρίς να χρειάζεται να την παραχωρήσετε στην εικονική μηχανή.

Δυστυχώς, το Virtio-Venus δεν υποστηρίζεται στο VMM, επομένως θα πρέπει να χρησιμοποιήσετε το qemu-cli. Θα χρειαστεί να σημειώσετε το όνομα που δώσατε στην εικονική μηχανή σας, καθώς και την τοποθεσία της.

Μόλις εγκαταστήσετε οποιαδήποτε επιλέξιμη εικονική μηχανή, μπορείτε να ανοίξετε το τερματικό και να δημιουργήσετε μια εντολή του qemu-cli για την εικονική μηχανή σας. Ακολουθεί ένα παράδειγμα εικονικής μηχανής με το CachyOS:

Terminal window
qemu-system-x86_64 \
-enable-kvm \
-M q35 \
-smp 6 \
-m 12G \
-cpu host \
-net nic,model=virtio \
-net user,hostfwd=tcp::2222-:22 \
-device virtio-sound-pci,audiodev=my_audiodev -audiodev pipewire,id=my_audiodev \
-device virtio-vga-gl,hostmem=4G,blob=true,venus=true \
-vga none \
-display gtk,gl=on,show-cursor=on \
-usb -device usb-tablet \
-object memory-backend-memfd,id=mem1,size=12G \
-machine memory-backend=mem1 \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd \
-drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fd \
-drive file=.local/share/libvirt/images/archlinux.qcow2
  • Το -smp 6 σημαίνει 6 πυρήνες CPU
  • Το -m 12G σημαίνει 12GB μνήμης RAM
  • To -net user,hostfwd=tcp::2222-:22 σημαίνει ότι η θύρα 22 προωθείται από το κύριο σύστημα (host) στην εικονική μηχανή ως θύρα 2222. Επομένως, αν θέλατε να συνδεθείτε μέσω SSH στην εικονική μηχανή από κάποια συσκευή, θα κάνατε το εξής:
Terminal window
ssh -p 2222 όνομα_χρήστη_εικονικής_μηχανής@διεύθυνση_ip_εικονικής_μηχανής
  • Το -device virtio-vga-gl,hostmem=4G,blob=true,venus=true είναι ο οδηγός Venus, ο οποίος δεν είναι δυστυχώς ακόμα διαθέσιμος στο virt-manager. Μόλις γίνει, θα αντικατασταθεί εξ ολοκλήρου αυτή η ενότητα, εκτός από το τμήμα που αναφέρεται στη λειτουργία χρήστη.
  • Το -hostmem=4G σημαίνει ότι η εικονική μηχανή μπορεί να έχει έως 4GB μνήμης VRAM από την GPU.
  • Το -object memory-backend-memfd,id=mem1,size=12G είναι το μέγεθος της μνήμης RAM (12GB στη συγκεκριμένη περίπτωση).
  • Το -drive if=pflash,format=raw,readonly=on,file=/usr/share/edk2/x64/OVMF_CODE.secboot.4m.fd είναι απλώς η διαδρομή προς το αρχείο υλικολογισμικού για την εικονική μηχανή.
  • Το -drive if=pflash,format=raw,file=.config/libvirt/qemu/nvram/archlinux_VARS.fd είναι η μνήμη NVRAM της εικονικής μηχανής. Χωρίς αυτή (ή αν οριστεί με πρόσβαση μόνο για ανάγνωση), δεν θα είναι εφικτή η εκτέλεση της εικονικής μηχανής.
  • Το -drive file=.local/share/libvirt/images/archlinux.qcow2 είναι η διαδρομή προς το αρχείο .qcow2 (αποθηκευτικός χώρος της εικονικής μηχανής). (Μπορείτε επίσης να δείτε ότι η συσκευή ήχου σε αυτήν την περίπτωση δεν έχει οριστεί σε ich9, αλλά σε pipewire· αυτό δεν έχει σημασία.)