From 2421d3ff8c27a967ffc2c6a1d19e0f3790ace5a0 Mon Sep 17 00:00:00 2001 From: bbaa Date: Wed, 6 May 2026 11:30:28 +0800 Subject: [PATCH] 2026.05.06: fix conftest on gcc 13 --- .github/workflows/test.yml | 12 +++++------- Makefile | 2 +- PKGBUILD | 2 +- README.md | 6 +++--- conftest.sh | 3 ++- dkms.conf | 2 +- docs/install-arch-host.md | 2 +- docs/install-linux-guest.md | 6 +++--- docs/install-manual.md | 4 ++-- docs/install-pve-host.md | 6 +++--- 10 files changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 12e9b1d..0d3636a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -56,15 +56,13 @@ jobs: KERNELRELEASE=$(echo -n "$KERNEL_SOURCE_DIR" | sed 's/.*\/lib\/modules\///g;s/\/build//') make -j$(nproc) KERNELRELEASE=$KERNELRELEASE -C $KERNEL_SOURCE_DIR M=$(pwd) - test-ubuntu-questing: + test-ubuntu-noble: runs-on: ubuntu-24.04 - container: - image: ubuntu:25.10 steps: - name: Install Dependencies run: | - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y git build-essential linux-generic linux-headers-generic + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git build-essential linux-image-generic-6.17 linux-headers-generic-6.17 - name: Checkout uses: actions/checkout@v6 with: @@ -72,9 +70,9 @@ jobs: - name: Build Module working-directory: i915-sriov-dkms run: | - KERNEL_SOURCE_DIR=$(dpkg -L $(dpkg -s linux-headers-generic | grep "Depends: " | cut -d " " -f2) | grep -m 1 -Eo ".*/lib/modules/[^/]+/build") + KERNEL_SOURCE_DIR=$(dpkg -L $(dpkg -s linux-headers-generic-6.17 | grep "Depends: " | cut -d " " -f2) | grep -m 1 -Eo ".*/lib/modules/[^/]+/build") KERNELRELEASE=$(echo -n "$KERNEL_SOURCE_DIR" | sed 's/.*\/lib\/modules\///g;s/\/build//') - make -j$(nproc) KERNELRELEASE=$KERNELRELEASE -C $KERNEL_SOURCE_DIR M=$(pwd) + sudo make -j$(nproc) KERNELRELEASE=$KERNELRELEASE -C $KERNEL_SOURCE_DIR M=$(pwd) test-archlinux: runs-on: ubuntu-24.04 diff --git a/Makefile b/Makefile index 0f529fe..dc698fa 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -DKMS_MODULE_VERSION := "2026.05.01-sriov" +DKMS_MODULE_VERSION := "2026.05.06-sriov" DKMS_MODULE_ORIGIN_KERNEL := "7.0.1" LINUXINCLUDE := \ diff --git a/PKGBUILD b/PKGBUILD index 6af891d..5712543 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Xilin Wu pkgname=i915-sriov-dkms -pkgver=2026.05.03 +pkgver=2026.05.06 pkgrel=1 pkgdesc="Linux i915 module patched with SR-IOV support" arch=('x86_64') diff --git a/README.md b/README.md index 1778565..544e3fe 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ You need to install this dkms module in **both host and guest!** **Required kernel**: 6.17.x ~ 7.0.x -**Latest release**: [2026.05.03](https://github.com/strongtz/i915-sriov-dkms/releases/tag/2026.05.03) +**Latest release**: [2026.05.06](https://github.com/strongtz/i915-sriov-dkms/releases/tag/2026.05.06) For older kernel (v6.12 ~ v6.19), please use the [2026.03.05.1](https://github.com/strongtz/i915-sriov-dkms/releases/tag/2026.03.05.1) release. @@ -87,11 +87,11 @@ For detailed installation instructions, please refer to the specific guide for y ### Host Installation - [Arch Linux Host](docs/install-arch-host.md) - [NixOS Linux Host (Tested Kernel 6.17)](docs/install-nixos-host.md) -- [Proxmox PVE Host (PVE 9.1)](docs/install-pve-host.md) +- [Proxmox PVE Host](docs/install-pve-host.md) - [Manual Host Installation Steps](docs/install-manual.md) - Applicable to Debian, Ubuntu, and Arch Linux hosts. ### Guest Installation -- [Linux Guest (Ubuntu 25.04/Kernel 6.14)](docs/install-linux-guest.md) +- [Linux Guest (Ubuntu)](docs/install-linux-guest.md) - [Linux Guest (Ubuntu 25.04 Cloud-Init VM on Proxmox)](docs/install-linux-guest-proxmox-cloud-init.md) - [Windows Guest (Tested with Proxmox 8.3 + Windows 11 24H2 + Intel Driver 32.0.101.6460/32.0.101.6259)](docs/install-windows-guest.md) diff --git a/conftest.sh b/conftest.sh index 5052468..4650bbf 100755 --- a/conftest.sh +++ b/conftest.sh @@ -18,7 +18,8 @@ fi CFLAGS="$NOSTDINC_FLAGS $LINUXINCLUDE $KBUILD_CPPFLAGS $KBUILD_CFLAGS $KBUILD_MODFLAGS \ -DKBUILD_BASENAME=\"conftest\" -DKBUILD_MODNAME=\"conftest\" \ - -Wno-missing-prototypes -w + -Werror=implicit-function-declaration -Wno-missing-prototypes + -Wno-unused-function " TMPDIR="${KBUILD_EXTMOD:-.}/conftest_tmp" diff --git a/dkms.conf b/dkms.conf index 47d6627..355538d 100644 --- a/dkms.conf +++ b/dkms.conf @@ -1,5 +1,5 @@ PACKAGE_NAME="i915-sriov-dkms" -PACKAGE_VERSION="2026.05.03" +PACKAGE_VERSION="2026.05.06" BUILT_MODULE_NAME[0]="intel_sriov_compat" BUILT_MODULE_LOCATION[0]=compat diff --git a/docs/install-arch-host.md b/docs/install-arch-host.md index 746e06c..f718e2b 100644 --- a/docs/install-arch-host.md +++ b/docs/install-arch-host.md @@ -29,4 +29,4 @@ To apply this configuration, follow the **[Block VFs Setup Guide](block-vfs.md)* Remove the package with `pacman -R i915-sriov-dkms`. If you installed the module manually, or if the package manager fails to remove it from the kernel tree, you can remove it forcibly with: -`dkms remove i915-sriov-dkms/2026.05.03` +`dkms remove i915-sriov-dkms/2026.05.06` diff --git a/docs/install-linux-guest.md b/docs/install-linux-guest.md index 35b28d6..6318e11 100644 --- a/docs/install-linux-guest.md +++ b/docs/install-linux-guest.md @@ -8,8 +8,8 @@ We will need to run the same driver under Linux guests. ``` 2. Download and install the `.deb` ``` - wget -O /tmp/i915-sriov-dkms_2026.05.03_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/2026.05.03/i915-sriov-dkms_2026.05.03_amd64.deb" - dpkg -i /tmp/i915-sriov-dkms_2026.05.03_amd64.deb + wget -O /tmp/i915-sriov-dkms_2026.05.06_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/2026.05.06/i915-sriov-dkms_2026.05.06_amd64.deb" + dpkg -i /tmp/i915-sriov-dkms_2026.05.06_amd64.deb ``` 3. Update kernel parameters `nano /etc/default/grub` and change `GRUB_CMDLINE_LINUX_DEFAULT` to `i915.enable_guc=3 module_blacklist=xe`, or add to it if you have other arguments there already. @@ -33,4 +33,4 @@ We will need to run the same driver under Linux guests. Remove the package with `dpkg -P i915-sriov-dkms`. If you installed the module manually, or if the package manager fails to remove it from the kernel tree, you can remove it forcibly with: -`dkms remove i915-sriov-dkms/2026.05.03` +`dkms remove i915-sriov-dkms/2026.05.06` diff --git a/docs/install-manual.md b/docs/install-manual.md index c823c1a..04f69da 100644 --- a/docs/install-manual.md +++ b/docs/install-manual.md @@ -4,7 +4,7 @@ 1. Install the kernel and headers for desired version: `apt install linux-headers-$(uname -r)` / `pacman -S linux-headers`. 1. Clone the repository: `git clone https://github.com/strongtz/i915-sriov-dkms.git`. 1. Add the module to DKMS: `dkms add ./i915-sriov-dkms`. -1. Install the module with DKMS: `dkms install i915-sriov-dkms/2026.05.03`. +1. Install the module with DKMS: `dkms install i915-sriov-dkms/2026.05.06`. 1. If you have secureboot enabled, and `dkms install` tells you it created a self-signed certificate for MOK and you have not installed the host's certificate yet, install the certificate generated by dkms with `mokutil --import /var/lib/dkms/mok.pub`. 1. Once finished, the kernel commandline needs to be adjusted: `nano /etc/default/grub` and 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. 1. Update `grub` and `initramfs` by executing `update-grub` and `update-initramfs -u` / for Arch Linux `grub-mkconfig -o /boot/grub/grub.cfg` and `mkinitcpio -P`. @@ -37,4 +37,4 @@ Remove the package with `pacman -R i915-sriov-dkms` ### manual -Remove the dkms module with `dkms remove i915-sriov-dkms/2026.05.03` +Remove the dkms module with `dkms remove i915-sriov-dkms/2026.05.06` diff --git a/docs/install-pve-host.md b/docs/install-pve-host.md index e2c54de..2c3e92e 100644 --- a/docs/install-pve-host.md +++ b/docs/install-pve-host.md @@ -4,9 +4,9 @@ 2. Install the kernel and headers for desired version: `apt install proxmox-default-kernel proxmox-default-headers` (for unsigned kernel). 3. Download deb package from the [releases page](https://github.com/strongtz/i915-sriov-dkms/releases) ```sh - wget -O /tmp/i915-sriov-dkms_2026.05.03_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/2026.05.03/i915-sriov-dkms_2026.05.03_amd64.deb" + wget -O /tmp/i915-sriov-dkms_2026.05.06_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/2026.05.06/i915-sriov-dkms_2026.05.06_amd64.deb" ``` -4. Install the deb package with dpkg: `dpkg -i /tmp/i915-sriov-dkms_2026.05.03_amd64.deb` +4. Install the deb package with dpkg: `dpkg -i /tmp/i915-sriov-dkms_2026.05.06_amd64.deb` 5. Once finished, the kernel commandline needs to be adjusted: `nano /etc/default/grub` and change `GRUB_CMDLINE_LINUX_DEFAULT` to `intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 module_blacklist=xe`, or add to it if you have other arguments there already. 6. You can also use `xe` driver instead of `i915` as described in the [Required Kernel Parameters](https://github.com/strongtz/i915-sriov-dkms?tab=readme-ov-file#required-kernel-parameters) section. 7. Update `grub` and `initramfs` by executing `update-grub` and `update-initramfs -u` @@ -33,4 +33,4 @@ To apply this configuration, follow the **[UEFI Secure Boot Setup Guide](secure- Remove the package with `dpkg -P i915-sriov-dkms`. If you installed the module manually, or if the package manager fails to remove it from the kernel tree, you can remove it forcibly with: -`dkms remove i915-sriov-dkms/2026.05.03` +`dkms remove i915-sriov-dkms/2026.05.06`