liSSnEDux
"Ennek az egésznek az a lényege hogy linux alapokon futtatok egy teljes értékű win-t"
Erről jut eszembe - és csak megemlítem.: Robolinux https://distrowatch.com/table.php?distribution=robolinux
GPU passthrough
[törölve]
- Szerkesztve
Most csak így gyorsba válaszolok..
Nálad a gnome chras-el el valamiért.
Talán mert ugyan azt a GPU-t akarod beadni amit már a host is használ?
A hoston ne legyen fent a vga drivere meg semmi és próbáld meg úgy.
Ezt úgy szokták, hogy külön vga-n van a host és egy külön vga megy be a vm-nek (2x pcie).
Az apparmor-t meg próbából kikapcsolhatod, hogy utána is hiányolja e a profilt.
/etc/libvirt/qemu.conf
security_driver = "none"
ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/usr.sbin.libvirtd
Ezután indítsd újra a libvirtd-t.
[törölve]
Igen, mert ezzel elvileg át lehet adni a gpu-t és ez lenne a lényege amiböl nem következik az hogy nem lehet fent gpu driver az anyarendszeren
3 féle változatot póbáltam és egyikbe se volt olyan hogy ne legyen fent vga driver
"Ezt úgy szokták, hogy külön vga-n van a host és egy külön vga megy be a vm-nek (2x pcie)." Na igen, tudom, de én nem ezt a módszert szeretném annak ellenére hogy van egy elfekvő vga-m.
Ránézek erre az apparmor-os dologra még ma
itt a "none" helyén a "selinux" van
Pontosan az utáni parancsok mit csináltak amit leírtál? csak hogy tudjam mit csinálok
[törölve]
- Szerkesztve
Hey
Igen alap esetben selinux van ott és ki van kommentelve az egész sor.
Tehát oda írd be, hogy "none"
és töröld a kettőskeresztet a sor elejéről.
Ekkor a libvirt elvileg már nem fog egyeltalán keresni security profilt.
A másik az ln -s
disabled-re teszi az apparmorban a libvirtet, így ezután elvileg nem használja.
Így elméletben duplán is kikapcsoltuk, a libvirtben és az apparmorban is.
Desktopon még nem csináltam, de Xenserver-ben ugye úgy adtam hozzá, hogy a hoston nem volt fent driver.
Most már emléxem, hogy akkor 2 VGA-t is kipróbáltam, volt egy régebbi Nvidia valami kis gyenge de azt is sikerült beadni a VM-nek, meg egy szintén régi radeon HD-t.
A Xenserver meg ugye desktop nélkül fut.
Proxmoxban is be lehet így adni meg XCP-NG-ben is és XOA-ban is, meg a legtöbb virtualizációs megoldásban, de desktopon más a helyzet.
Nézzél a hoston is egy dmesg-et, journalctl-t meg talán a /var/log/messages
vagy syslog is érdekes lehet amikor ez a fekete kép váltás jön be és vissza kapcsol a gnome-ra.
A howto-t valamiért nem tudtam megnézni. be kell jelentkezni, bejelentkeztem de akkor sem mutatta.
Szóval nem tudom még mindíg milyen parancsok vannak a folyamatban.
Én kipróbálnám a másik kártyát is beletenni ha van még szabad pcie slot és azt beadni.
De nézzük meg mit mond majd apparmor nélkül.
Az is lehet, hogy az blokkolta a hozzáférést.
Viszont ha a host is használja és a vm is, az úgy szerintem nem lesz teljes értékű gpu passthrough.
- Szerkesztve
Nem működik...
Hogy tudom visszakapcsolni az apparmorosat?
Ránézek holnap amit irtál, mi is pontosan
Bal oldalt tudod kiválasztani hogy melyik lépést szeretnéd(ez itt az egyes ha az égészet kimásolod):
https://gitlab.com/risingprismtv/single-gpu-passthrough/-/wikis/1)-Preparations
Nekem bejelentkezés nélkül is megjeleniti minden hiba nélkül.
Ha kell lefotózgatom neked
[törölve]
- Szerkesztve
Köszi már látom és átnézem.
[törölve]
- Szerkesztve
liSSnEDux Hogy tudom visszakapcsolni az apparmorosat?
Kommenteld vissza a sort a qemu.conf fájlban és egy rm /etc/apparmor.d/disable/usr.sbin.libvirtd
majd systemctl restart libvirtd apparmor
De szerintem ne kapcsold vissza.
Ezeket a scripteket is lefuttattad?
https://gitlab.com/risingprismtv/single-gpu-passthrough
Ez volt az egyik olyan rész amiben nem voltam biztos hogy jól csináltam, átnézem holnap tüzetesebben. Jóéjt!
[törölve]
- Szerkesztve
clone-ozd a repot, lépj bele és csapass egy chmod +x install_hooks.sh && ./install_hooks.sh
és 10 miatyánk, hogy tényleg jó legyen.
furcsa ez az egész mert ezekbe a scriptekbe nincs semmi...
csak a hooks-ba
ezt kicsit nekem zavaros...
nem is tudom törölni amibe nincs semmi
[törölve]
- Szerkesztve
Úgy látszik jogosultsági problémák miatt a git clone nem szedi le, így minden scriptet neked kell kézzel létrehoznod.
Itt van a systemd unit script amit keresel:
https://gitlab.com/risingprismtv/single-gpu-passthrough/-/blob/master/systemd-no-sleep/libvirt-nosleep%40.service
Ha létrehozol mindent amit kell, akkor le fog futni azinstall_hooks.sh
Közben most észre vettem, hogy csak SSH-n nem megy a git clone, viszont https-en igen.
Próbáld meg így:
git clone https://gitlab.com/risingprismtv/single-gpu-passthrough.git
Cloning into 'single-gpu-passthrough'...
remote: Enumerating objects: 197, done.
remote: Counting objects: 100% (179/179), done.
remote: Compressing objects: 100% (94/94), done.
remote: Total 197 (delta 87), reused 164 (delta 81), pack-reused 18
Receiving objects: 100% (197/197), 53.73 KiB | 26.86 MiB/s, done.
Resolving deltas: 100% (94/94), done.
cd single-gpu-passthrough/
./install_hooks.sh
Nézd most itt van és nem üres:
root@ASUS-PC:~/single-gpu-passthrough# cat systemd-no-sleep/libvirt-nosleep@.service
[Unit]
Description=Preventing sleep while libvirt domain "%i" is running
[Service]
Type=simple
ExecStart=/usr/bin/systemd-inhibit --what=sleep --why="Libvirt domain \"%i\" is running" --who=%U --mode=block sleep infinity
root@ASUS-PC:~/single-gpu-passthrough#
Szerintem te csak a fő scriptet "install_hooks.sh" futtattad le és az összes többi hiányzik.
rájöttem, megvan
[törölve]
Ezek is előkerültek:
root@ASUS-PC:~/single-gpu-passthrough# ls hooks/
qemu vfio-startup.sh vfio-teardown.sh
[törölve]
Írtam, hogy az apparmort egyelőre ne kapcsold vissza..
okés