PERFECT MACHINE GUIDE – Single GPU Passthrough
Előszó
Mivel ez a leírás elég komplex több mint 3259 szót és több képet is tartalmaz első sorban érdemes át olvasni és akár többször is és csak aztán bele kezdeni az egészbe.
Olvasási idő: 22 perc
Pár alap fogalommal is nem árt tisztában lenni alap parancsok és egy jól felépített linux rendszer.
Amelyek segítségedre lesznek ebben itt találod meg:
PopOS 22.04 Linux Install Guide by RP
Hasznos TERMINÁL parancsok kezdő Linuxosoknak by RP
Végszó
Külön köszönet DanyHolder-nek a képekért és a segítségért!!!
A tökéletes oprendszer install guide
Ez a GUIDE Ubuntu és minden más Debian alapú linux distroval működik. Minden Linux distro alkalmas erre, de más distrokban más más parancsokat kell használni.
Jelenlegi GUIDE PopOS 22.04-re készült AMD processzorral.
Ez a módszer lehetséges mindenki szamára akinek megfelelő IOMMU csoportokkal ellátott alaplapja van.
HA EZZEL A MÓDSZERREL SZERETNED TELEPÍTENI A WINDOWST
A win kulcsod már nem lesz működő képes VM-ben
VM-hez új win kulcsot kell venned
Miért csinálj ilyet ?
Használd a géped teljes biztonságban méghozzá úgy, hogy bármit és mindent futtatni tudj azon.
Gyorsabb mint a Dual Bootos újraindítgatás.
FPS értékekben is jobban teljesít ez a módszer mivel a Windows hulladék trágya egyáltalán nem működő Ryzen Scheduler hiányosságait is kitudjuk küszöbölni.
Ez azoknak igazan fontos akiknek 5000es széria előtti Ryzen processzoruk van.
Te döntöd el, hogy a Virtuális Gépnek mihez lesz hozzáférése ezért ha valaki az ementáli sajtra hasonlító Windows “biztonsági rendszeren” keresztül bejön a gépedbe csak azokat a dolgokat fogja látni amit Te engedélyeztél!
Mivel Linuxon keresztül fog futni a VM (win10) így nem igazan lesz közvetlen hardver elérése 1-2 dolgot leszámítva ettől sokkal stabilabb és pengébe lesz a géped!
Mi kell hozzá ?
Egy olyan alaplap amiben a PCIexpress slotok külön címmel rendelkeznek és így a kívánt eszközöket letudod választani a HOST (linux) rendszerről és azokat áttudod adni a Windows VM-nek (Virtual Machine)
Honnan tudom, hogy milyen IOMMU csoportok vannak az alaplapomon? Nyiss egy terminál linuxban és írd be, hogy
lspci -P
( fontos, hogy nagy P legyen különben nem fog működni a parancs ) Ha külön csoportokként azaz külön címmel ellátva találod a leválasztandó eszközöket akkor minden fasza már csak sok türelemre és időre van szükséged 😀
Terminálba:
lspci -nn
és a sorok elején látott címeket írd fel minden egyes leválasztandó eszköznél.
DanyHolder-nek csak a vga van leválasztva a többi pl a hang és egér és billentyűzet usbből van leválasztva. (Mindenki más alaplapja van ezért eltérő lehet ezeket ki kell tesztelni mit lehet leválasztani és mit nem.)
Miután tudod, hogy ez menni fog a Te gépeden kell pár BIOS beállítás.
BIOS Beállítások:
SVM – Enabled
IOMMU – Enabled
AER – Enabled – *nincs minden biosban
ACS – Enabled – *nincs minden biosban
PopOS 22.04 AMD CPU / NVIDIA GPU (Működik újabb verziókon is) (Más disztribúciókon eltérhet a működése)
MSI Biosban nem kell külön bekapcsolni az AER es ACS opciókat ha be van lőve az SVM és IOMMU akkor a másik kettő automatikusan ENABLED lesz.
Kikeresed azokat az eszközöket amiket leszeretnél választani a linuxrol és a sor elején levő cimeket felírod!
Cím példa: 2b:00.0 azaz ezeket fogod látni a sorok elején lspci -nn paranccsal!
Ha van külön m2es ssd-d ami olyan IOMMU csoportban van ami leválasztható
Akkor annak a címet is érdemes most felírni
Mielőtt nekiállnál
Frissítsd le a rendszert: sudo rave full-upgrade (PopOS-ben) / sudo apt update && upgrade -y
Ha nvidia gpu-d van akkor legyen fent a legfrissebb driver.
Ha amd gpud van akkor nincs plusz teendő miután lefrissítetted a rendszert.
Következő lépés PopOS-en nem kell meg csinálni!! Csak ubuntu alatt kell!. (Csak a grub-al rendelkező linuxokon kell meg csinálni!)
Miután minden infód megvan. Letudod választani az eszközöket, mert jók az IOMMU
csoportok a lapodon akkor indulhat a dolog.
1. GRUB azaz Boot Manager szerkesztése GRUB LOADER UPDATE
Nyiss egy Terminál-t – CTRL + ALT + T
Írd be a kövi parancsot:
sudo gedit /etc/default/grub → ENTER
A felugró ablakban megkeresed a következő sort
GRUB_CMDLINE_LINUX_DEFAULT=„
Erre változtasd meg
AMD/INTEL
(AMD)
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt iommu=1 quiet splash"
(INTEL)
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt iommu=1 quiet splash"
Szerkesztés után frissíted a boot loadert azaz a GRUB-ot. Terminálba ird be, hogy:
sudo update-grub
Majd generálj egy új GRUB config file-t Terminálba írd be, hogy:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Miután ezekkel megvagy
REBOOT – NAGYON FONTOS
Újraindítás után ellenőrizd le, hogy működik-e az előbbi változtatás Terminálba írd be, hogy:
sudo dmesg | grep IOMMU
Ha ezt dobja ki akkor minden jó
Intel alatt is hasonló lesz!
2. KVM Virtuális gép és összetevői telepítése
Terminálba írd be, hogy:
sudo nala install libvirt0 libvirt-daemon libvirt-daemon-system-systemd libvirt-daemon-config-network libvirt-daemon-config-nwfilter libvirt-daemon-system-systemd libfdt1 libibverbs1 libpmem1 librdmacm1 libslirp0 qemu-system-common qemu-system-data seabios ipxe-qemu ipxe-qemu-256k-compat-efi-roms gir1.2-gtk-vnc-2.0 gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 python3-libvirt virtinst -y
sudo nala install qemu-system-x86 qemu-utils libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmf -y
Engedélyezni kell a szolgáltatást és el is kell indítani
Terminálba ird be, hogy:
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
NET Autostart nem tuti h kell de nem árt ha beírod
Terminálba írd be, hogy:
sudo virsh net-autostart default
Az előző 3 parancsnál nem fog semmit kiírni a terminál csak kapsz egy új üres sort.
Következő paranccsal hozzáadod a user-ed az alábbi modulokhoz
sudo usermod -aG kvm $USER
sudo usermod -aG input $USER
sudo usermod -aG libvirt $USER
Most jöhet a KVM indítása
Vagy beírod terminálba, hogy
virt-manager
Vagy a menüből elindítod az alkalmazást. Igazából teljesen totál mindegy.
3. Virtuális gép konfigurálása
Első alkalommal indítsd a Virt Managert sudo jogokkal. Írd be a következő parancsot a terminálba:
sudo virt-manager
Első konfigurációnál felugranak majd kérdések. Azokra mind nyomj YES-t!
Mielőtt nekiállnál configolni
Edit menu -> Preferences -> Pipáld be az Enable XML edit pontot. Töltsd le a Bullos-t innen! Megszűnt a BullOS.
Hozzuk létre a Windows 10 Virtualis Gépünket Bal felső sarokban első ikon ( File alalt ) Create new…
Local install media -> FORWARD
Felső sorban betallózod neki a Bullos.iso-t
Alul kiszeded a pipát és fölé beírod hogy win10 ENTER -> FORWARD
Következő ablakban
RAM – Első telepítésnél add meg a ramod felet legalább hogy gyorsabb legyen a telepítés. Később HOST/Anya rendszernek maradjon min 1GB.
CPU – Első telepítésnél add meg a szálak felet később pedig az összes szálat átlehet adni a VM-nek!
FORWARD
Következő oldal a háttértár
Alul Select or create custom image radio gomb -> Manage
Bal oldalt zöld + gomb
Betallózod a mappát ahova a háttértárat szeretnéd
Utána jobb oldalt zöld + gomb és létrehozod magát a háttértárat FORMAT -> RAW
Allocate entire volume now LEGYEN BEPIPÁLVA ( NAGYON FONTOS ) Akkora méretet határozz meg amekkora helyet a C meghajtónak akarsz adni
FINISH GOMB
Majd a listából válaszd ki a most létrehozott .img file-t CHOOSE VOLUME
Ezek a lépések ki lehet hagyni ha M2 ssd-t le tudsz választani a rendszernek.
Utolsó ablakban
Adj meg egy VM nevet Name – alapból win10
Csak akkor változtasd ha neked ez a név nem tetszik.
Viszont ha változtatsz akkor a scriptek mappa szerkezetet is változtatni kell, de erre visszatérünk később.
NAGYON FONTOS
ALUL PIPÁLJUK BE A CUSTOMISE CONFIGURATION BEFORE INSTALL Opciot -> FINISH
FELUGRÓ Ablakban a kövi dolgokat kell átállítani
Overview menüpont
ALUL NAGYON FONTOS -> Chipset legyen -> Q35
Firmware -> UEFI x86_64: /usr/share/OVMF/OVMF_CODE_4M.fd
Firmware-ből lesz másik két opció ‘ms’ és ‘secboot’ NE azokat válaszd!
APPLY
CPU Menupont
Jobb oldalt XML fül és keresd ki ezt a sort
<cpu mode="host-model"/>
majd cseréld ki az alábbira
<cpu mode="host-passthrough"/> APPLY
Sata DISK Menüpont
Jobb alul -> REMOVE GOMB -> Felugró Ablakban DELETE Bal alul -> ADD HARDWARE
BUS TYPE -> VIRTIO
Majd felette Select or create custom image radio gomb Manage -> Betallózod neki az előbb letrehozott .img file-odat.
NIC:xy:xy:xy menüpont
( network haló kártya menüpont ) Változtasd meg az e1000e
Device model -> VIRTIO APPLY
Adjuk hozzá a VM-hez a VIRTO DRIVER ISO-t
Alul ismét ADD HARDWARE Gomb
Felugró ablakban DEVICE TYPE -> CDROM
Felette Select or create custom image radio gomb -> Manage
Betallózod a letöltött virtio driver iso file-t
Szedd le a virtio drivert innen.
APPLY
Boot Menüpont
Pipáld be az Enable boot menu pontot
Majd alatt pipáld be a Virtio DISK es SATA CDROM-ot is
Sata CDROM legyen legfelül így az lesz az elsődleges boot meghajtó. APPLY
Bal felül BEGIN INSTALLATION
Szokásosan telepíted a wint azzal a kivétellel, hogy a meghajtóknál nem fogsz látni semmit
Ezt megoldjuk azzal, hogy BAL ALUL
LOAD DRIVER GOMB ALUL -> BROWSE
és a virtio CD-rol megnyitod a amd64 -> w10 mappát -> OK
Majd feltelepíted a megjelenő Red Hat drivert.
Ezután megjelenik az alattad létrehozott img file azaz meghajtó.
Innen szokásosan telepíted a rendszert.
Miután felment a Win leállíthatod a VM-et.
Erre az első telepítésre azért van szükség, hogy legeneráljuk a teljes mappa szerkezetet a Virtualis Windowsunknak.
Ha M2 ssd-t szeretnél leválasztani neki akkor a telepítést ki kell hagyni és elsőnek leválasztani a ssd-t és arra telepíteni a rendszert de ott viszont nem fog kelleni virtio driver ott egyből fogod látni a háttértárat! A skriptek után tudod ezt meg tenni. De akkor már leválasztott vga-val!!
4. LEVÁLASZTÓ / VISSZACSATOLÓ SCRIPTEK Elhelyezése
ELSŐ A QEMU SCRIPT
Egyszerűsített leválasztó scprit amd oldali itt található. (AMD odali!!)
Ezzel a paranccsal lelétrehozod az első scriptet a megfelelő helyen: Terminálba beírod, hogy:
sudo gedit /etc/libvirt/hooks/qemu
Ezt az alábbi egész mindenséget másold be az előbbi felugró szóvégszerkesztőbe!
#!/bin/bash
GUEST_NAME="$1"
HOOK_NAME="$2"
STATE_NAME="$3" MISC="${@:4}"
BASEDIR="$(dirname $0)"
HOOKPATH="$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME" set -e # If a script exits with an error, we should as well.
if [ -f "$HOOKPATH" ]; then
eval \""$HOOKPATH"\" "$@"
elif [ -d "$HOOKPATH" ]; then
while read file; do
eval \""$file"\" "$@"
done <<< "$(find -L "$HOOKPATH" -maxdepth 1 -type f -executable -print;)"
fi
ADJ JOGOT A QEMU SCRIPT FUTTATÁSÁHOZ
sudo chmod +x /etc/libvirt/hooks/qemu
START SCRIPT Létrehozása
A KÖNYVTÁRAK KÖZEPÉN VÁLTOZTASD MEG A WIN10 NEVET ARRA A NÉVRE AMIT A VM-NEK ADTÁL KÜLÖNBEN NEM FOG MŰKÖDNI (Ha nem változtattad meg a névét akkor win10 marad!)
sudo mkdir -p /etc/libvirt/hooks/qemu.d/win10/prepare/begin/
sudo gedit /etc/libvirt/hooks/qemu.d/win10/prepare/begin/start.sh
Ezt az alábbi kódot bemásolod a felugró szóvégszerkesztőbe
ÉS NAGYON FONTOS !!! Szemelyre szabod magadnak !!! AMD/NIVDIA-hoz Script
Külön script tartozik amd-hez és nvidia-hoz ezért neked megfelelőt válaszd ki és másold be és utána személyre szabod magadnak!
-------» AMD SCRIPT
#!/bin/bash
set -x
# Stop display manager
systemctl stop display-manager
# rc-service xdm stop
# Unbind EFI Framebuffer
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
# Unload NVIDIA kernel modules
#modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia
# Unload AMD kernel module
modprobe -r amdgpu
# Detach GPU devices from host
# Use your GPU and HDMI Audio PCI host device
# EZEKET A SOROKAT SZERKESZTENI KELL KULONBEN NEM FOG MENNI A VM # lspci -nn parancsot ird be terminalba es a sorok elejen latod majd minden PCIe eszkozod cimet
# azokat a cimeket helyettesitsd be az alabbi sorokba a "pci_0000_" utan
# Pelda pci_0000_01_00_0 -> pci_0000_2b_00_1
# Ha tobb eszkozt szeretnel levalasztani mint pl AUDIO vagy USB akkor azoknak hozz letre egy uj sort
# es ugyanugy szerkeszd meg a pci cimeket mint a GPU-nal
virsh nodedev-detach pci_0000_01_00_0
virsh nodedev-detach pci_0000_01_00_1
# Load vfio module modprobe vfio-pci
------- «
VIGYÁZZ KÜLÖNBÖZŐ SCRIPTEK!!!!!
-------» NVIDIA SCRIPT
#!/bin/bash
set -x
# Stop display manager
systemctl stop display-manager
# rc-service xdm stop
# Unbind EFI Framebuffer
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
# Unload NVIDIA kernel modules
modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia
# Unload AMD kernel module
# modprobe -r amdgpu
# Detach GPU devices from host
# Use your GPU and HDMI Audio PCI host device
# EZEKET A SOROKAT SZERKESZTENI KELL KULONBEN NEM FOG MENNI A VM # lspci -nn parancsot ird be terminalba es a sorok elejen latod majd minden PCIe eszkozod cimet
# azokat a cimeket helyettesitsd be az alabbi sorokba a "pci_0000_" utan
# Pelda pci_0000_01_00_0 -> pci_0000_2b_00_1
# Ha tobb eszkozt szeretnel levalasztani mint pl AUDIO vagy USB akkor azoknak hozz letre egy uj sort
# es ugyanugy szerkeszd meg a pci cimeket mint a GPU-nal
virsh nodedev-detach pci_0000_01_00_0
virsh nodedev-detach pci_0000_01_00_1
# Load vfio module modprobe vfio-pci
------- «
Miután kész vagy SAVE
ADJ JOGOT A SCRIPTNEK
sudo chmod +x /etc/libvirt/hooks/qemu.d/win10/prepare/begin/start.sh
STOP SCRIPT Létrehozása
A KÖNYVTÁRAK KÖZEPÉN VÁLTOZTASD MEG A WIN10 NEVET ARRA A NÉVRE AMIT A VM-NEK ADTÁL KÜLÖNBEN NEM FOG MŰKÖDNI (Ha nem változtattad meg a névét akkor win10 marad!)
sudo mkdir -p /etc/libvirt/hooks/qemu.d/win10/release/end/
sudo gedit /etc/libvirt/hooks/qemu.d/win10/release/end/stop.sh
-------» AMD SCRIPT
#!/bin/bash
set -x
# Unload vfio module
modprobe -r vfio-pci
# Attach GPU devices to host
# Use your GPU and HDMI Audio PCI host device
# EZEKET A SOROKAT SZERKESZTENI KELL KULONBEN NEM FOG MENNI A VM # lspci -nn parancsot ird be terminalba es a sorok elejen latod majd minden PCIe eszkozod cimet
# azokat a cimeket helyettesitsd be az alabbi sorokba a "pci_0000_" utan
# Pelda pci_0000_01_00_0 -> pci_0000_2b_00_1
# Ha tobb eszkozt szeretnel levalasztani mint pl AUDIO vagy USB akkor azoknak hozz letre egy uj sort
# es ugyanugy szerkeszd meg a pci cimeket mint a GPU-nal
virsh nodedev-reattach pci_0000_01_00_0
virsh nodedev-reattach pci_0000_01_00_1
# Rebind framebuffer to host
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
# Load NVIDIA kernel modules
#modprobe nvidia_drm
#modprobe nvidia_modeset
#modprobe nvidia_uvm
#modprobe nvidia
# Load AMD kernel module
modprobe amdgpu
# Restart Display Manager
systemctl start display-manager
# rc-service xdm start
------- «
VIGYÁZZ KÜLÖNBÖZŐ SCRIPTEK!!!!!
-------» NVIDIA SCRIPT
#!/bin/bash
set -x
# Unload vfio module
modprobe -r vfio-pci
# Attach GPU devices to host
# Use your GPU and HDMI Audio PCI host device
# EZEKET A SOROKAT SZERKESZTENI KELL KULONBEN NEM FOG MENNI A VM # lspci -nn parancsot ird be terminalba es a sorok elejen latod majd minden PCIe eszkozod cimet
# azokat a cimeket helyettesitsd be az alabbi sorokba a "pci_0000_" utan
# Pelda pci_0000_01_00_0 -> pci_0000_2b_00_1
# Ha tobb eszkozt szeretnel levalasztani mint pl AUDIO vagy USB akkor azoknak hozz letre egy uj sort
# es ugyanugy szerkeszd meg a pci cimeket mint a GPU-nal
virsh nodedev-reattach pci_0000_01_00_0
virsh nodedev-reattach pci_0000_01_00_1
# Rebind framebuffer to host
echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
# Load NVIDIA kernel modules
modprobe nvidia_drm
modprobe nvidia_modeset
modprobe nvidia_uvm
modprobe nvidia
# Load AMD kernel module
# modprobe amdgpu
# Restart Display Manager
systemctl start display-manager
# rc-service xdm start
------- «
Miután kész vagy SAVE
ADJ JOGOT A SCRIPTNEK
sudo chmod +x /etc/libvirt/hooks/qemu.d/win10/release/end/stop.sh
Itt kell hozzá adni a M2 ssd-t is ugyan úgy mint a vgát csak ugye új sort hozunk neki létre! (START/STOP script-be bele kell írni!!)
5. BILL ÉS EGÉR ÁTADÁSA A VM-nek
nyisd meg a Virt Managert
Katt a létrehozott VM-re és felül OPEN GOMB
Alul kattints az ADD HARDWARE Gombra és add át a billt és az egeret is USB HOST DEVICE-kent!
QEMU.CONF szerkesztesse
Terminálba irjuk be
sudo gedit /etc/libvirt/qemu.conf
Felugró szóvégszerkesztőben keressünk rá erre „user =”
szedjük ki a #-et a #user = „root” sor elől
majd root-ot cseréld ki az felhasználó nevedre az idézőjelek között
Pár sorral lejjebb ugyanúgy ki kell szedni a #-et a #group = „root” elől majd cseréld ki a root-ot kvm-re az idézőjelek között
Következő lépés meg ezen a file-on belül történik
CTRL + F-el keress rá erre a sorra cgroup_device_acl
és illeszd be az alábbi sorokat értelem szerűen!
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc","/dev/hpet", "/dev/sev"
SAVE
6. Nvidia Pascal és az utáni GPU BIOS Patch-elés
Windowsban szedd le a GPU-Z nevű progit és a kis nyíllal mentsd ki ,a gpu-d vbios-at.
VAGY
Szedd le a GPU-d vBIOS-at erről az oldalról de ehhez tudnod kell a GPU-d pontos típusát https://www.techpowerup.com/vgabios/
Ez egy .rom kiterjesztésű file lesz majd ezt kell szerkeszteni egy hex editorral. Linuxon ez lehet mondjuk egy OKTETA
Telepítéshez írd be ezt a Terminálba:
sudo apt install okteta
Edit Menu -> Overwrite mode-ra kattints rá egyszer
Edit Menu -> Find -> legördülő menüből kiválasztod a Char opciót és rákeresel a VIDEO szóra.
Miután a video szó megvan előtte kicsivel fogsz látni egy ‘U’ betűt
Menj el az ‘U’ betűig a billen a nyilakkal és CTRL+SHIFT+HOME gombbal
jelölje ki előtte mindent és BACKSPACE vagy DELETE gombbal torold ki az ‘U’ előtti teljes részt
SAVE
A patch-elt vBIOS-t tedd be a /usr/share/vgabios mappába. HA NINCS ILYEN MAPPA AKKOR HOZD LÉTRE
sudo mkdir -p /usr/share/vgabios
Terminálos másolás:
7. Végszó XML szerkesztés következik VM-en belül
Most jöhet az, hogy hozzáadjuk a VM-hez a leválasztott PCIe eszközöket MIELŐTT ELINDÍTANÁD A VM-ET A HOZZÁADOTT PCIe ESZKÖZÖKKEL
TÖRÖLD KI A KÖVETKEZŐKET:
DISPLAY SPICE
VIDEO QXL
TABLET
CONSOLE 1
CHANNEL SPICE
Nincs más dolgod mint a VM-en belül -> ADD HARDWARE -> PCI Host Device
A listából pedig cím/név alapján kiválasztod az általad előzőleg START.SH és STOP.SH scriptben leválasztott eszközöket.
HA NVIDIA PASCAL VAGY AZUTÁNI GPU-D VAN AKKOR MEG KELL ADNI A ROM HELYET A VM-NEK!
Rákattintasz a GPU chip PCI Host device eszközre amit az előbb adtál oda a VM-nek
Jobb oldalt XML fülre kattintasz és a </source> és <address> közé beilleszted az alábbi sort úgy hogy a mappákat kijavítod arra ahova Te a romodat mentetted.
</source> …
<rom file="/usr/share/vgabios/BIOSOM.rom"/>
… <address type…>
APPLY
AMD vga alatt is érdemes oda adni a vgabiost. Fontos kitétel Wayland alatt amd vga-nál nem kell oda adni a vga bios mert nem fog el indulni de viszont vm leállítás után nem kapjuk vissza a képet linux-ba a stop.sh nem megfelelő még erre.
CPU menüpont
Nyisd le a topology-t jobb oldalt a CPU beállításainál
És állítsd be azt a procidnak megfelelően, példaként Dany-nak a 1600-a így nézki:
Socket 1
Cores 6
Threads 2
APPLY
Miután ez megvan jobb oldalt felul XML ful
A következő sorokat a GPU driver telepítése során fellelhető hibák elkerülése véget kell betenni az XML-be.
vendor sort másold be valahova a <hyperv> kezdete és vége közé
<hyperv> …
<vendor_id state="on" value="123"/>
… </hyperv>
APPLY
A kövi kvm, hidden state es újabb kvm 3 sort pedig együtt másold be valahova a kezdete es a vége közé
TELJESEN MINDEGY HOGY HOL LESZNEK EZEK A SOROK ANNYI A LÉNYEG HOGY
FEATURES-on belül legyenek!
<features> …
<kvm>
<hidden state="on"/>
</kvm>
… </features>
APPLY
Annak érdekében hogy mindkét szálat tudjuk használni magonként A következő sort is hozza kell adni az XML file-hoz
Másold ki a cache és feature-el kezdődő sorokat a <cpu> kezdete és </cpu> vége közé valahova
<cpu mode=”host-passthrough” check=”none” migratable=”on”> …
<cache mode="passthrough"/>
<feature policy="require" name="topoext"/>
… </cpu>
APPLY
Miután ezekkel mind megvagy megnézed, hogy elindul-e a windows VM.
Ha igen akkor haladsz tovább a CPU Pinning-el azaz meghatározzuk, hogy egyes
virtuális cpu szálak azok melyik valódi szálat jelentsek a processzoron
Ezzel kiküszöbölhető a fos windows ryzen scheduler ami több év után sem kepés normálisan működni.
EZT A RÉSZT MINDENKINEK SZERKESZTENIE KELL A SAJÁT PROCESSZORARA.
EZ A TÖMB EGY 1600-HEZ KÉSZÜLT HA NEKED TÖBB VAGY KEVESEBB SZALAD VAN EZT SZERKESZTENI KELL!
Ezt az egész tömböt másold be a <vcpu> kezdete és <os> kezdete köze majd szerkeszd a processzorodhoz merten.
<vcpu … …
<iothreads>2</iothreads>
<cputune>
<vcpupin vcpu="0" cpuset="0"/>
<vcpupin vcpu="1" cpuset="6"/>
<vcpupin vcpu="2" cpuset="1"/>
<vcpupin vcpu="3" cpuset="7"/>
<vcpupin vcpu="4" cpuset="2"/>
<vcpupin vcpu="5" cpuset="8"/>
<vcpupin vcpu="6" cpuset="3"/>
<vcpupin vcpu="7" cpuset="9"/>
<vcpupin vcpu="8" cpuset="4"/>
<vcpupin vcpu="9" cpuset="10"/>
<vcpupin vcpu="10" cpuset="5"/>
<vcpupin vcpu="11" cpuset="11"/>
<emulatorpin cpuset="4,10"/>
<iothreadpin iothread="2" cpuset="5,11"/>
</cputune>
… <os>
Ahhoz, hogy tudd mit hova kell irni nyiss egy terminalt es ird be, hogy
lscpu -e
Vagy egyszerűbb megoldás a hwloc. Terminálba írd be hogy sudo apt install hwloc / sudo nala install hwloc ha feltelepült akkor terminálba lstopo és akkor a következő ablak fog be jönni.
Onnan tudod meg hogy melyik maghoz melyik szál tartozik hogy PU L#0 «– A mag és a hozzá tartozó száll a P#0
És ezek alapján kell behelyesíteni a XML config-ban
IOTHread sor szerkesztése
<iothreads>2</iothreads> <- IO azaz Input/Output feladatokat végző szálak száma
Ezt a számot akkor növeld hogyha vinyok vagy ssdk között másolgatsz vagy valami olyan fut a háttérben ami használja háttértárakat és közben akadást akadozást észlelsz.
Ha akadsz akkor a 2-t cseréld ki 4-re ebben a sorban
MAJD az alul található iothread sorban
<iothreadpin iothread="2" cpuset="5,11"/>
Ismét cseréld a 2-est 4-esre majd mögötte határozd meg az utolsó 4 szálat a procidon.
Ha nem tapasztalsz semmilyen akadást háttértár használat közben akkor ne szerkeszd a 2-eseket csak az alsó sornál határozd meg az utolsó 2 szálat a procidon
APPLY
HA NVIDIA GPU-D VAN
Akkor az XML legalján keresd meg ezt a sort
<memballoon model="virtio">
és cseréld ki erre
<memballoon model="none">
TROUBLESHOOTING azaz MIVAN HA NEM MEGY A VM
Ha nem indul a VM akkor a legjobb ötlet az az, hogy nézd meg a hozza tartozó log file legalsó sorait
LOG File helye
Nyiss egy terminált
cd /var/log/libvirt/qemu -> ENTER
sudo gedit vmedneve.log -> ENTER
Legörgetsz legalulra és mindig itt fogja kiírni azt az infót ami miatt nem indul a
VM WIN azaz LIWI
Ha az egér vagy billentyűzet mellett a by-id mappából bemásolt file-ok korul látsz olyat hogy APPARMOR=DENIED
Nyiss egy terminált és írd be
sudo systemctl disable –now apparmor
Ha a log file alján csak annyit látsz hogy
shutdown reason=failed
Akkor Te felejtettel el valamit
Például csatolni egy meghajtót vagy a meghajtó csatolási pontját változtattad meg ilyesmi.
SOK SIKERT KÍVÁNOK MINDENIKEK
RP
1
Sikerült a leírás alapján végig csinálnod?
Kérlek nyomd be a szívet, hogy mások is lássák, eddig hány embernek sikerült végig csinálnia!
Szia! Majd egyszer csinálsz egy útmutatót a QEMU és a Kernel spoofingról is? Ezek szükségesek ahoz (ahogy én hallottam) hogy anti-cheates játékokkal játssz.
Szia. Én nem igazán találtam olyan verziót ami ingyenes lenne és neh vezetne egy hátsó kapu beépüléséhez a winfosban és közel sem biztos úgy működik a Kernel spoofing mint ahogy a neten a videók mutatják.
Hello-Hello !
Annyi lenne csak a kérdésem, hogy mivel lehet játszadozni, ha a VM-ben valamiért nincs net ?
( network haló kártya menüpont ) Változtasd meg az e1000e
Device model -> VIRTIO APPLY
Utána pedig a windowsban a virtio drivert fel kell rakni vagy frissíteni az eszközkezelőből.
Sziasztok. Nekem olyan problémám van hogy mikor elérek a CPU pinning részhez akkor számomra kicsit zavar van a dologban. DanyHoldernek ugyebár egy Ryzen 5 1600-as processzora van amely 6 mag 12 szál. Nos nekem egy 11.gen, Intel i5 11400f processzor van a gépemben amely szintén 6 mag 12 szál (akárhol olvasom a neten mindenhol 6/12-nek van írva, meg natívan bebootolva winfosba is 6 mag 12 szálam van), de nekem ha csak a magokat nézzük teljesen más az elrendezés. Ez alapján hogy kéne akkor megcsináljam a CPU pinninget? Hogy őszinte legyek az enyémet nem tudom értelmezni. Előre is köszönöm a segítséget!
Kieg.:Meg volt a megoldás csak én voltam vak. Itt hagyom ha más is így járna mint én hogy nem olvas és megijed :D. Ha megnyomod az „f” gombot mikor mutatja neked az lstopo a topology-t akkor vált a nézetek között így tudod elő hozni a teljes nézetet.
Sziasztok! Nekem az lenne a gondom, hogy barmilyen VM-t inditok iszonyat lassuan frissiti a kepernyot, gyakorlatilag latom ahogy vonalankent frissit. Windowson belul felismeri a videokartyamat, de megsem hasznalja azt. Mivel szerverem van, ezert a display spice es a video qxl-t muszaj hasznalnom, hogy a gui-n keresztul hozzaferjek a VM-hez. Probaltam a 3D accelerationt es az OpenGL-t bekapcsolni, de nem sikerult.
Sziasztok!
Csak szeretném jelezni, hogy a Bull OS már nem elérhető.
Nem lehet letölteni a megadott linken keresztül.
Szia köszi a javítást.Sajnos megszűnt a bullos így kis veszem a leírásból