• [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..