intel-gpu / documentation

8 stars 1 forks source link

"jammy client" repo DKMS does not build i915 module for 22.04 LTS kernels although headers packages are present #84

Open eero-t opened 11 months ago

eero-t commented 11 months ago

Using jammy client repository on Arc: https://dgpu-docs.intel.com/driver/client/overview.html#client-intel-package-repository-configuration

With latest available driver version from it:

$ dpkg -l '*dkms*'|grep ii
ii  dkms                             2.8.7-2ubuntu2.2          all          Dynamic Kernel Module Support Framework
ii  intel-i915-dkms                  1.23.8.20.230810.22+i33-1 all          Out of tree i915 driver.

Does not result in DKMS being compiled for default 5.15 LTS kernel, although headers package is available:

# dpkg -l '*headers*'|grep ii
ii  linux-headers-5.15.0-91            5.15.0-91.101  all          Header files related to Linux kernel version 5.15.0
ii  linux-headers-5.15.0-91-generic    5.15.0-91.101  amd64        Linux kernel headers for version 5.15.0 on 64 bit x86 SMP
ii  linux-headers-generic              5.15.0.91.88   amd64        Generic Linux kernel headers
# dkms status
intel-i915-dkms/1.23.8.20.230810.22
# dkms install intel-i915-dkms/1.23.8.20.230810.22 -k 5.15.0-91
Error! Your kernel headers for kernel 5.15.0-91 cannot be found.
Please install the linux-headers-5.15.0-91 package or use the --kernelsourcedir option to tell DKMS where it's located.

Whereas DKMS install for (latest) 6.2 Ubuntu 22.04 HWE kernel:

# dkms install intel-i915-dkms/1.23.8.20.230810.22 -k 6.2.0-37-generic
....
cp defconfigs/i915 .config; 'make' -j22 KLIB=/lib/modules/6.2.0-37-generic olddefconfig; 'make' -j22 KLIB=/lib/modules/6.2.0-37-generic.............(bad exit status: 2)
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/intel-i915-dkms.0.crash'
Error! Bad return status for module build on kernel: 6.2.0-37-generic (x86_64)
Consult /var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/make.log for more information.
...
# rm /var/crash/intel-i915-dkms.0.crash
# dkms install intel-i915-dkms/1.23.8.20.230810.22 -k 6.2.0-37-generic
....
Error! Bad return status for module build on kernel: 6.2.0-37-generic (x86_64)
Consult /var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/make.log for more information.

fails to:

# grep -B1 -C3 error: /var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/make.log
/var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/drivers/gpu/drm/i915/display/intel_dp.c: In function ‘intel_dp_mst_hpd_irq’:
/var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/drivers/gpu/drm/i915/display/intel_dp.c:4008:9: error: implicit declaration of function ‘drm_dp_mst_hpd_irq’; did you mean ‘intel_dp_mst_hpd_irq’? [-Werror=implicit-function-declaration]
 4008 |         drm_dp_mst_hpd_irq(&intel_dp->mst_mgr, esi, &handled);
      |         ^~~~~~~~~~~~~~~~~~
      |         intel_dp_mst_hpd_irq
/var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/drivers/gpu/drm/i915/display/intel_dp.c: In function ‘intel_dp_mst_hpd_irq’:
/var/lib/dkms/intel-i915-dkms/1.23.8.20.230810.22/build/drivers/gpu/drm/i915/display/intel_dp.c:4008:9: error: implicit declaration of function ‘drm_dp_mst_hpd_irq’; did you mean ‘intel_dp_mst_hpd_irq’? [-Werror=implicit-function-declaration]
 4008 |         drm_dp_mst_hpd_irq(&intel_dp->mst_mgr, esi, &handled);
      |         ^~~~~~~~~~~~~~~~~~
      |         intel_dp_mst_hpd_irq

DKMS got installed only for (obsolete) OEM kernel:

# dpkg -l '*headers*'|grep ii
...
ii  linux-headers-5.17.0-1035-oem      5.17.0-1035.36 amd64        Linux kernel headers for version 5.17.0 on 64 bit x86 SMP
ii  linux-oem-5.17-headers-5.17.0-1035 5.17.0-1035.36 all          Header files related to Linux kernel version 5.17.0
...
# dkms status
intel-i915-dkms/1.23.8.20.230810.22, 5.17.0-1035-oem, x86_64: installed

PS. I noticed this only after upgrading i915 DKMS from an older version that came from (earlier recommended) jammy arc repo, to version coming from (currently recommended) jammy client repository.

eero-t commented 10 months ago

Updated DKMS builds with 6.2 kernel, but still not with the default 5.15.