strongtz / i915-sriov-dkms

dkms module of Linux i915 driver with SR-IOV support
1.02k stars 121 forks source link

Support for Core Ultra 7 155H - Meteor Lake #210

Open jeeftor opened 4 days ago

jeeftor commented 4 days ago

For the life of me I can't seem to get this thing to install on Kernel 6.8.12 with an 155H processor. Can somebody confirm whether its supposed to be supported at this juncture.

I haven't been able to get past this error

root@pve4:~# modprobe -v i915
install /bin/false enable_guc=3 max_vfs=7
modprobe: ERROR: ../libkmod/libkmod-module.c:1047 command_do() Error running install command '/bin/false' for module i915: retcode 1
modprobe: ERROR: could not insert 'i915': Invalid argument
root@pve4:~#

Kernel: 6.8.12-2-pve

LSPCI

00:00.0 Host bridge: Intel Corporation Device 7d01 (rev 04)
00:01.0 PCI bridge: Intel Corporation Device 7ecc (rev 10)
00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Arc Graphics] (rev 08)
00:04.0 Signal processing controller: Intel Corporation Meteor Lake-P Dynamic Tuning Technology (rev 04)
00:07.0 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 10)
00:07.2 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 10)
00:08.0 System peripheral: Intel Corporation Meteor Lake-P Gaussian & Neural-Network Accelerator (rev 20)
00:0a.0 Signal processing controller: Intel Corporation Meteor Lake-P Platform Monitoring Technology (rev 01)
00:0b.0 Processing accelerators: Intel Corporation Meteor Lake NPU (rev 04)
00:0d.0 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 USB Controller (rev 10)
00:0d.2 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #0 (rev 10)
00:0d.3 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #1 (rev 10)
00:12.0 Serial controller: Intel Corporation Meteor Lake-P Integrated Sensor Hub (rev 20)
00:14.0 USB controller: Intel Corporation Meteor Lake-P USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Device 7e7f (rev 20)
00:14.3 Network controller: Intel Corporation Meteor Lake PCH CNVi WiFi (rev 20)
00:16.0 Communication controller: Intel Corporation Meteor Lake-P CSME HECI (rev 20)
00:17.0 SATA controller: Intel Corporation Device 7e63 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Device 7e3c (rev 20)
00:1f.0 ISA bridge: Intel Corporation Device 7e02 (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation Meteor Lake-P HD Audio Controller (rev 20)
00:1f.4 SMBus: Intel Corporation Meteor Lake-P SMBus Controller (rev 20)
00:1f.5 Serial bus controller: Intel Corporation Meteor Lake-P SPI Controller (rev 20)
01:00.0 Non-Volatile memory controller: Sandisk Corp Western Digital WD Black SN850X NVMe SSD (rev 01)
56:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
EPiSKiNG commented 1 day ago

Following and current have vf showing up in proxmox, but haven't verified functionality. Will update in the next day or two. I have the same CPU (beelink GTi14) and doing completely fresh install.

EPiSKiNG commented 1 day ago

Here are my current steps that are allowing VFs to show up in the host from a fresh 8.2.2 install:

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"

nano /etc/apt/sources.list
#ADD THE FOLLOWING:
    #non-free firmwares
    deb http://deb.debian.org/debian bookworm non-free-firmware

    #non-free drivers and components
    deb http://deb.debian.org/debian bookworm non-free

#Install Intel GPU Drivers
apt update && apt install intel-media-va-driver-non-free intel-gpu-tools vainfo -y
apt update && apt install pve-headers-$(uname -r)
apt install git sysfsutils dkms build-* unzip -y
echo "options i915 force_probe=7d55 enable_guc=3" | tee -a /etc/modprobe.d/i915.conf
mkdir -p /lib/firmware/i915
wget https://github.com/intel-gpu/intel-gpu-firmware/raw/main/firmware/mtl_gsc_102.0.0.1511.bin -O /lib/firmware/i915/mtl_gsc_102.0.0.1511.bin
wget https://github.com/intel-gpu/intel-gpu-firmware/raw/main/firmware/mtl_guc_70.6.4.bin -O /lib/firmware/i915/mtl_guc_70.6.4.bin 
wget https://github.com/intel-gpu/intel-gpu-firmware/raw/main/firmware/mtl_huc_8.4.3_gsc.bin -O /lib/firmware/i915/mtl_huc_8.4.3_gsc.bin
reboot

git clone https://github.com/strongtz/i915-sriov-dkms.git
cd ~/i915-sriov-dkms
dkms add .
dkms install -m i915-sriov-dkms -v $(cat VERSION) --force
nano /etc/default/grub
# change GRUB_CMDLINE_LINUX_DEFAULT to intel_iommu=on i915.enable_guc=3 i915.max_vfs=7, or add to it if you have other arguments there already.
update-grub
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
reboot

Will continue on my progress after dinner/tomorrow.... Hopefully that gets you pointed in the right direction :)

ccoles146 commented 9 minutes ago

Did you make any progress with this. I'm currently trying to get an Ultra 5 working? I thought I was making progress using Ubuntu 24.10 with kernel 6.11 but it seems not.