Szia!

Ennek az egésznek az a lényege hogy linux alapokon futtatok egy úgymond teljes értékű win-t
Vannak ennek előnyei, hártányai. Ha érdekel leírhatom 😃

Igen elvileg elég qemu-ba is ezeket megadni

Most már teljesen a virto driverest guide-ot csinálom: https://gitlab.com/.../single-gpu-passthrough/-/wikis/home

Mindent végigcsináltam, de nem indult és ezt a hibaüzenetet dobta fel:
Error starting domain: internal error: cannot load AppArmor profile 'libvirt-fd1637e2-a5de-47ff-b418-c4816cf386d0'
Sajna a "magyarázatot" nem fotóztam le, ahol leirja hol mi a baja pontosan. Mindent bezártam, restart

  1. indítást levideóztam, feltettem megára mert nem engedi csatolni
    Mega: https://mega.nz/folder/A84jRIjD#flD4uNk-BPzrMUpE9PLTDg

  2. Indításnál ugyan ez csak rengeteg sok crash report, csatoltam


Átnéztem még egyszer mindent, minden jó volt kivéve 1 dolog.

Ezt a sort nem engedte kicserélni se nano-ba, se szövegszerkesztővel, se a virt-manager-be
A nano a file mentése után azt írta hogy megváltoztatta, de nem
Ha meg is változtatja akkor instant vissza is áll...(erröl is van video)

Szerinted próbáljam meg úgy hogy átállítok az on-t off-ra?

Köszi szépen hogy ezt végig nyálaztad és szántál rá időt hogy megértsd!

    • [törölve]

    • Szerkesztve

    liSSnEDux

    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

        liSSnEDux

        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.

        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

          liSSnEDux

          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

            liSSnEDux

            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.

            🚀

              [törölve]
              cloneozam a tárhelyet miért? az nem jó ha megpróbálom ujra lefuttatni?

              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

                liSSnEDux

                Ú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.

                • [törölve]

                Ezek is előkerültek:

                root@ASUS-PC:~/single-gpu-passthrough# ls hooks/
                qemu  vfio-startup.sh  vfio-teardown.sh

                🚀

                elvileg a scriptek rendben, de valamit az apparmoral elrontottam sztem

                  • [törölve]

                  liSSnEDux

                  Írtam, hogy az apparmort egyelőre ne kapcsold vissza..