PERFECT MACHINE GUIDE – Single GPU Passthrough

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!

RavePriest



Közreműködők:


DanyHolder, Nippy,

4.5 6 votes
Értékeld az írást
Subscribe
Visszajelzés
8 hozzászólás
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

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.

Kepernyokep-2024-07-04-20-57-28
Last edited 4 hónapja by Fetchkecske

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

8
0
Szeretnéd megosztani gondolataid? Katt ide!x
Kommentelnél? DE NEM IDE! Vicceltem, katt rám!