Support for AlderLake iGPU

Problem

The "Alder Lake-UP3 GT2 [Iris Xe Graphics] integrated in i5-1235U is not fully supported out of the box in fedora 38.

The second display port, wich is HDMI in my case, is like deactivated and gives no response. It seems to be a i915-driver-issue. Tried several distros (Fedora, Manjaro, Mint), its the same in all of them.

-> dmesg | grep i915
[    3.217490] i915 0000:00:02.0: vgaarb: deactivate vga console
[    3.217552] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    3.218003] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    3.221589] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc_ver2_16.bin (v2.16)
[    3.890131] i915 0000:00:02.0: [drm] [ENCODER:244:DDI B/PHY B] failed to retrieve link info, disabling eDP
[    3.891756] i915 0000:00:02.0: drm_WARN_ON(val == 0xffffffff)
[    3.891781] WARNING: CPU: 4 PID: 627 at drivers/gpu/drm/i915/display/intel_tc.c:914 intel_tc_port_init+0x24f/0x260 [i915]
[    3.891930] Modules linked in: i915(+) drm_buddy nvme drm_display_helper nvme_core crct10dif_pclmul crc32_pclmul cec crc32c_intel polyval_clmulni hid_multitouch polyval_generic ghash_clmulni_intel sha512_ssse3 ttm nvme_common i2c_hid_acpi i2c_hid video wmi pinctrl_tigerlake serio_raw sunrpc be2iscsi bnx2i cnic uio cxgb4i cxgb4 tls cxgb3i cxgb3 mdio libcxgbi libcxgb qla4xxx iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip6_tables ip_tables fuse
[    3.891963] RIP: 0010:intel_tc_port_init+0x24f/0x260 [i915]
[    3.892108]  intel_ddi_init+0x731/0xcc0 [i915]
[    3.892217]  intel_modeset_init_nogem+0x543/0x1130 [i915]
[    3.892349]  ? fwtable_read32+0x96/0x220 [i915]
[    3.892447]  i915_driver_probe+0x6bf/0xee0 [i915]
[    3.892547]  ? intel_modeset_probe_defer+0x4b/0x60 [i915]
[    3.892679]  ? i915_pci_probe+0x97/0x1d0 [i915]
[    3.892826]  i915_init+0x1e/0xc0 [i915]
[    3.892940]  ? __pfx_init_module+0x10/0x10 [i915]
[    3.895697] i915 0000:00:02.0: drm_WARN_ON(val == 0xffffffff)
[    3.895769] WARNING: CPU: 4 PID: 627 at drivers/gpu/drm/i915/display/intel_tc.c:914 intel_tc_port_init+0x24f/0x260 [i915]
[    3.895879] Modules linked in: i915(+) drm_buddy nvme drm_display_helper nvme_core crct10dif_pclmul crc32_pclmul cec crc32c_intel polyval_clmulni hid_multitouch polyval_generic ghash_clmulni_intel sha512_ssse3 ttm nvme_common i2c_hid_acpi i2c_hid video wmi pinctrl_tigerlake serio_raw sunrpc be2iscsi bnx2i cnic uio cxgb4i cxgb4 tls cxgb3i cxgb3 mdio libcxgbi libcxgb qla4xxx iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip6_tables ip_tables fuse
[    3.895904] RIP: 0010:intel_tc_port_init+0x24f/0x260 [i915]
[    3.896041]  intel_ddi_init+0x731/0xcc0 [i915]
[    3.896148]  intel_modeset_init_nogem+0x550/0x1130 [i915]
[    3.896270]  ? fwtable_read32+0x96/0x220 [i915]
[    3.896367]  i915_driver_probe+0x6bf/0xee0 [i915]
[    3.896460]  ? intel_modeset_probe_defer+0x4b/0x60 [i915]
[    3.896588]  ? i915_pci_probe+0x97/0x1d0 [i915]
[    3.896728]  i915_init+0x1e/0xc0 [i915]
[    3.896840]  ? __pfx_init_module+0x10/0x10 [i915]
[    3.899463] i915 0000:00:02.0: drm_WARN_ON(val == 0xffffffff)
[    3.899540] WARNING: CPU: 4 PID: 627 at drivers/gpu/drm/i915/display/intel_tc.c:914 intel_tc_port_init+0x24f/0x260 [i915]
[    3.899650] Modules linked in: i915(+) drm_buddy nvme drm_display_helper nvme_core crct10dif_pclmul crc32_pclmul cec crc32c_intel polyval_clmulni hid_multitouch polyval_generic ghash_clmulni_intel sha512_ssse3 ttm nvme_common i2c_hid_acpi i2c_hid video wmi pinctrl_tigerlake serio_raw sunrpc be2iscsi bnx2i cnic uio cxgb4i cxgb4 tls cxgb3i cxgb3 mdio libcxgbi libcxgb qla4xxx iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip6_tables ip_tables fuse
[    3.899674] RIP: 0010:intel_tc_port_init+0x24f/0x260 [i915]
[    3.899812]  intel_ddi_init+0x731/0xcc0 [i915]
[    3.899938]  intel_modeset_init_nogem+0x55d/0x1130 [i915]
[    3.900077]  ? fwtable_read32+0x96/0x220 [i915]
[    3.900174]  i915_driver_probe+0x6bf/0xee0 [i915]
[    3.900267]  ? intel_modeset_probe_defer+0x4b/0x60 [i915]
[    3.900380]  ? i915_pci_probe+0x97/0x1d0 [i915]
[    3.900498]  i915_init+0x1e/0xc0 [i915]
[    3.900604]  ? __pfx_init_module+0x10/0x10 [i915]
[    3.903438] i915 0000:00:02.0: drm_WARN_ON(val == 0xffffffff)
[    3.903513] WARNING: CPU: 4 PID: 627 at drivers/gpu/drm/i915/display/intel_tc.c:914 intel_tc_port_init+0x24f/0x260 [i915]
[    3.903622] Modules linked in: i915(+) drm_buddy nvme drm_display_helper nvme_core crct10dif_pclmul crc32_pclmul cec crc32c_intel polyval_clmulni hid_multitouch polyval_generic ghash_clmulni_intel sha512_ssse3 ttm nvme_common i2c_hid_acpi i2c_hid video wmi pinctrl_tigerlake serio_raw sunrpc be2iscsi bnx2i cnic uio cxgb4i cxgb4 tls cxgb3i cxgb3 mdio libcxgbi libcxgb qla4xxx iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip6_tables ip_tables fuse
[    3.903646] RIP: 0010:intel_tc_port_init+0x24f/0x260 [i915]
[    3.903774]  intel_ddi_init+0x731/0xcc0 [i915]
[    3.903879]  intel_modeset_init_nogem+0x56a/0x1130 [i915]
[    3.903999]  ? fwtable_read32+0x96/0x220 [i915]
[    3.904098]  i915_driver_probe+0x6bf/0xee0 [i915]
[    3.904190]  ? intel_modeset_probe_defer+0x4b/0x60 [i915]
[    3.904309]  ? i915_pci_probe+0x97/0x1d0 [i915]
[    3.904426]  i915_init+0x1e/0xc0 [i915]
[    3.904514]  ? __pfx_init_module+0x10/0x10 [i915]
[    3.925246] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.bin version 70.5.1
[    3.925252] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[    3.944793] i915 0000:00:02.0: [drm] HuC authenticated
[    3.945262] i915 0000:00:02.0: [drm] GuC submission enabled
[    3.945264] i915 0000:00:02.0: [drm] GuC SLPC enabled
[    3.945682] i915 0000:00:02.0: [drm] GuC RC: enabled
[    3.946523] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    4.149095] i915 0000:00:02.0: drm_WARN_ON(intel_dp->pps.vdd_wakeref)
[    4.149140] WARNING: CPU: 0 PID: 627 at drivers/gpu/drm/i915/display/intel_pps.c:597 intel_pps_vdd_on_unlocked+0x2a9/0x2c0 [i915]
[    4.149739] Modules linked in: i915(+) drm_buddy nvme drm_display_helper nvme_core crct10dif_pclmul crc32_pclmul cec crc32c_intel polyval_clmulni hid_multitouch polyval_generic ghash_clmulni_intel sha512_ssse3 ttm nvme_common i2c_hid_acpi i2c_hid video wmi pinctrl_tigerlake serio_raw sunrpc be2iscsi bnx2i cnic uio cxgb4i cxgb4 tls cxgb3i cxgb3 mdio libcxgbi libcxgb qla4xxx iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip6_tables ip_tables fuse
[    4.149873] RIP: 0010:intel_pps_vdd_on_unlocked+0x2a9/0x2c0 [i915]
[    4.150550]  ? __intel_display_power_get_domain.part.0+0x52/0x70 [i915]
[    4.151176]  ? intel_display_power_get+0x4e/0x60 [i915]
[    4.151761]  intel_dp_aux_xfer+0x119/0x7e0 [i915]
[    4.152260]  intel_dp_aux_transfer+0x1fc/0x320 [i915]
[    4.152797]  intel_dp_set_power+0x63/0x180 [i915]
[    4.153205]  intel_ddi_post_disable+0x2e1/0x460 [i915]
[    4.153598]  intel_encoders_post_disable+0x7a/0x90 [i915]
[    4.154044]  intel_old_crtc_state_disables+0x38/0xa0 [i915]
[    4.154444]  intel_atomic_commit_tail+0x37d/0xe70 [i915]
[    4.154827]  intel_atomic_commit+0x33c/0x380 [i915]
[    4.155193]  intel_modeset_init+0x19c/0x280 [i915]
[    4.155430]  i915_driver_probe+0x6e5/0xee0 [i915]
[    4.155493]  ? intel_modeset_probe_defer+0x4b/0x60 [i915]
[    4.155576]  ? i915_pci_probe+0x97/0x1d0 [i915]
[    4.155660]  i915_init+0x1e/0xc0 [i915]
[    4.155720]  ? __pfx_init_module+0x10/0x10 [i915]
[    5.106918] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[    5.122608] fbcon: i915drmfb (fb0) is primary device
[    5.158052] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[    7.444326] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    7.451637] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    7.906123] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

-> xrandr
Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
XWAYLAND0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 380mm x 210mm
   1920x1080     59.96*+
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  

Cause

Not yet known.

Found a related thread here on the openSuSe-Forum.

Related Issues

Bugzilla report: #NNNN

Workarounds

Found another thread (no english language) where a user adverts the second display-signal is on the USB-C port and recommends to try a “USB-C to HDMI cable”.

Maybe thats a workaround, as soon as i have that cable. But then i really have to ask, why do the manufacturer provide a HDMI-Port, if its dead and the signal is on the USB-C port ??

I would like to use my HDMI-port cause there are another usecases for the USB-C port !!

This has nothing to do directly with the ports, but instead is related to the drivers and how linux manages hardware that in many cases has no vendor provided drivers for linux.

With windows it seem microsoft and the hardware vendors work together to ensure the software properly supports the hardware – drivers and OS. With linux that often is not possible so the drivers are frequently reverse engineered to function and sometimes not correctly or 100%

Don’t blame the mfgrs for bad hardware, instead blame them for not supporting linux with their hardware.

Hi Jeff, thank you for getting in. Just found this thread on Intel.com. There the moderator from Intel said:

“Also, Linux drivers are part of the upstream Linux* kernel. They’re available through the regular channels, distributions, or the Linux* kernel archives. Your Linux distro is responsible to include all the necessary drivers, and the i915 driver seems to be a driver developed by your Operating System.”

Now who really is responsible for the i915-Driver? If the Fedora-Developers need some support from Intel i will open a thread there and ask for support. But for that i will need more details for what to ask.

Anyway i paid a Laptop with HDMI-Port and i dont agree with it is dead. Need this HDMI port working in either Fedora or Manjaro. I will not downgrade back to Windows or Kubuntu.

Intel is the very active maintainer of the driver in the linux kernel.
Intel’s practice is to add support for new chips to the linux kernel before the hardware is released.

In my experience they are busy but helpful people to work with.

What you my be seeing is that there is more then one chip involved with the hdmi port.
There is the gpu and a 2nd chip that provides the hdmi port itself.
It maybe this 2nd chip that is the issue.

If no one helps here maybe join the intel-gfx mailing list?
Its here Intel-gfx Info Page

Raise a bugzilla with the dmesg output against the kernel with details about the hardware would help get things started.

See Bugzilla - Fedora Project Wiki

Check my Bugzilla Thread. Let me know if you have some tips to improve the bugreport.

I wonder what an eMail to the Intel-Mailinglist should contain and look like. :thinking:

Report looks good, i would have raised against the kernel, but let Adam Jackson improve as needed.

Explain that please, does that mean you think, the kernel is the problem?

The Intel GPU drivers are part of the linux kernel.
As such any fix will have to be made to the kernel.

They are actually kernel modules ( i915 ) as are most drivers. It may require kernel mods and most likely may require driver mods.

What I am pointing out is that the intel drivers ship with linux.
They are not add ons like the rpmfusion nvidia driver.

Of course they are modules as are most kernel drivers.

This means that any fixes are made by patches against the linux kernel.

Is this not what you think I was saying?

To the uninitiated that sounds like it is directly in the kernel. Clarity in wording is important especially for new users.

1 Like