Upinel / PVE-Intel-vGPU-Lazy

This is a one-click install script to enable Gen 12/13 Intel vGPU using SR-IOV Technology so up to 7 Client VMs can enjoy hardware GPU decoding
Apache License 2.0
46 stars 3 forks source link

Only one gpu Showing #2

Open Clankcoll opened 3 weeks ago

Clankcoll commented 3 weeks ago

Hi after trying evrythign i found this but when i run

lspci | grep VGA

i only get 00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)

there are not 7 Gpus like you stated it should be

image

Secure Boot is deactivted and server was installed via proxmox ISO

`root@prox:~/PVE-Intel-vGPU-Lazy# ./install.sh +----------------------------------------------------------------------+ | Intel Gen 12/13 vGPU SR-IOV on Proxmox Host Enabler (Installer) | | https://github.com/Upinel/Intel-vGPU-SRIOV-on-Proxmox | +----------------------------------------------------------------------+ | This source file is subject to version 2.0 of the Apache license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.apache.org/licenses/LICENSE-2.0.html | | If you did not receive a copy of the Apache2.0 license and are unable| | to obtain it through the world-wide-web, please send a note to | | license@swoole.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Nova Upinel Chow dev@upinel.com | | Date: 20/Feb/2024 | +----------------------------------------------------------------------+ Enable IO-MMU on PVE Server ./install.sh: 22: cannot open 6.5: No such file cp: missing destination file operand after '/root/PVE-Intel-vGPU-Lazy/i915-sriov-dkms/dkms.conf{,.bak}' Try 'cp --help' for more information. PACKAGE_NAME="i915-sriov-dkms" PACKAGE_VERSION="6.8.4-2"

MAKE[0]="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build KVER=${kernelver}" CLEAN="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build KVER=${kernelver} clean"

BUILT_MODULE_NAME[0]="i915" DEST_MODULE_LOCATION[0]=/kernel/drivers/gpu/drm/i915

AUTOINSTALL=yes Creating symlink /var/lib/dkms/i915-sriov-dkms/6.8.4-2/source -> /usr/src/i915-sriov-dkms-6.8.4-2 Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Certificate or key are missing, generating self signed certificate for MOK...

Building module: Cleaning build area... make -j1 KERNELRELEASE=6.8.4-2-pve -C /lib/modules/6.8.4-2-pve/build M=/var/lib/dkms/i915-sriov-dkms/6.8.4-2/build KVER=6.8.4-2-pve.....(bad exit status: 2) Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64) Consult /var/lib/dkms/i915-sriov-dkms/6.8.4-2/build/make.log for more information. i915-sriov-dkms/6.8.4-2: added


Enable IO-MMU on proxmox host


cp: missing destination file operand after '/etc/default/grub{,.bak}' Try 'cp --help' for more information.

Update grub ....

Generating grub configuration file ... W: This system is booted via proxmox-boot-tool: W: Executing 'update-grub' directly does not update the correct configs! W: Running: 'proxmox-boot-tool refresh'

Copying and configuring kernels on /dev/disk/by-uuid/34FB-3AC5 Copying kernel 6.8.4-2-pve Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.8.4-2-pve Found initrd image: /boot/initrd.img-6.8.4-2-pve Adding boot menu entry for UEFI Firmware Settings ... done Found linux image: /boot/vmlinuz-6.8.4-2-pve Found initrd image: /boot/initrd.img-6.8.4-2-pve /usr/sbin/grub-probe: error: unknown filesystem. /usr/sbin/grub-probe: error: unknown filesystem. Adding boot menu entry for UEFI Firmware Settings ... done update-initramfs: Generating /boot/initrd.img-6.8.4-2-pve Running hook script 'zz-proxmox-boot'.. Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace.. Copying and configuring kernels on /dev/disk/by-uuid/34FB-3AC5 Copying kernel 6.8.4-2-pve Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.8.4-2-pve Found initrd image: /boot/initrd.img-6.8.4-2-pve Adding boot menu entry for UEFI Firmware Settings ... done Running hook script 'proxmox-auto-removal'.. Running hook script 'zz-proxmox-boot'.. Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace.. Copying and configuring kernels on /dev/disk/by-uuid/34FB-3AC5 Copying kernel 6.8.4-2-pve Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.8.4-2-pve Found initrd image: /boot/initrd.img-6.8.4-2-pve Adding boot menu entry for UEFI Firmware Settings ... done

Install sysfsutils ,set sriov_numvfs=7

Please Verify SR-IOV by lspci |grep VGA after reboot .... root@prox:~/PVE-Intel-vGPU-Lazy# `

mioiox commented 1 day ago

Can confirm the same - I only see a single device on my Lenovo Q80 Gen 3 with i5-12500T (Alder Lake). This is a brand new install, no VMs created at all. Secure Boot is disabled, GRUB boot loader is used - followed all steps precisely.

mioiox commented 1 day ago

Ok, pretty quickly I resolved the issue, and the 7 devices appeared - dkms is not installed, just added. Try it out - run the dkms status command to confirm.

What I did is the following: git clone https://github.com/strongtz/i915-sriov-dkms cd i915-sriov-dkms nano dkms.conf Manually replaced the Date on the Version field with 6.2

Then: mkdir /usr/src/i915-sriov-dkms-6.2 cp * /usr/src/i915-sriov-dkms-6.2 --recurse --force dkms install --force -m i915-sriov-dkms -v 6.2

And now you check again: dkms status It should say: i915-sriov-dkms/6.2, 6.8.4-2-pve, x86_64: installed

Then you just follow along, starting on this step: https://github.com/Upinel/PVE-Intel-vGPU#grub-bootloader-setup

P.S. All credits for pointing me to the right direction go to https://www.michaelstinkerings.org/gpu-virtualization-with-intel-12th-gen-igpu-uhd-730/