Bug 219193

Summary: Alderlake iGPU lost HDMI with kernel 6.10 and beyond
Product: Linux Reporter: ch_chia
Component: KernelAssignee: Virtual assignee for kernel bugs (linux-kernel)
Status: RESOLVED MOVED    
Severity: blocking CC: regressions
Priority: P3    
Hardware: Intel   
OS: Linux   
URL: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12106
Kernel Version: 6.10 Subsystem:
Regression: Yes Bisected commit-id: 1965dbd535eec6064803484eb014a2d9a0cf6a30

Description ch_chia 2024-08-25 14:40:57 UTC
I am on the following setup:

1. Proxmox as the server, with Ubuntu 24.04 installed as VM in the Proxmox.
2. Intel Alderlake 12400 with iGPU passthrough to Linux VM setup in 1.
3. with kernel 6.9.12 or before, i can have HDMI output correctly with passthrough.
4. but ever since 6.10rc until now 6.11rc, i will lost HDMI output and Ubuntu not detecting the GPU, resulting in black screen booting up.

i believe this is Kernel related issues but not sure what is wrong. thanks.
Comment 1 ch_chia 2024-08-25 17:37:44 UTC
just to add on that i tested this in:

1. Ubuntu 24.04
2. Fedora 40
3. Fedora 41

i will try Arch tomorrow and report.
Comment 2 Artem S. Tashkinov 2024-08-25 17:59:19 UTC
Bisecting would be nice: https://docs.kernel.org/admin-guide/bug-bisect.html
Comment 3 ch_chia 2024-08-26 09:06:21 UTC
thank you for the suggestion but i do not have programming background and i think it is too difficult for someone like me to debug the code.

what i can confirm is that:

6.9.12 is working correctly.
6.10-rc1 onward will have black screen and HDMI not detecting any output, and lspci -nnk show that the VGA is not loading any of the kernel driver.
Comment 4 Artem S. Tashkinov 2024-08-27 11:09:33 UTC
Bisection does not require any programming background.

You basically run two commands:

git bisect
make

That's it.

On the other hand you may continue to experience this problem indefinitely from now on.
Comment 5 The Linux kernel's regression tracker (Thorsten Leemhuis) 2024-08-29 10:03:36 UTC
FWIW, here is a more detailed guide on bisecting: https://docs.kernel.org/admin-guide/verify-bugs-and-bisect-regressions.html
Comment 6 ch_chia 2024-08-29 11:09:36 UTC
I did tried the bisecting for the past few days, but the compiler had stopped with some error that i dont know how to resolve.... each "make" took about an hours and there is 13 steps (compile) to go... i only have few hours a day to try this...

any with my best effort i had run few bisecting, and below is the result so far and the compiler had been crashed. can i just resume the bisect from the last known good and bad commit? because when i tried that it said 13 steps to go....

git bisect start
# status: waiting for both good and bad commits
# bad: [1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0] Linux 6.10-rc1
git bisect bad 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
# status: waiting for good commit(s), bad commit known
# good: [a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6] Linux 6.9
git bisect good a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6
# bad: [db5d28c0bfe566908719bec8e25443aabecbb802] Merge tag 'drm-next-2024-05-15' of https://gitlab.freedesktop.org/drm/kernel
git bisect bad db5d28c0bfe566908719bec8e25443aabecbb802
# good: [b850dc206a57ae272c639e31ac202ec0c2f46960] Merge tag 'firewire-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
git bisect good b850dc206a57ae272c639e31ac202ec0c2f46960
# good: [afd29f36aaf733985df1ba162424581b8b8853b4] net: pcs: lynx: no need to read LPA in lynx_pcs_get_state_2500basex()
git bisect good afd29f36aaf733985df1ba162424581b8b8853b4
# bad: [8e6a3116e3b5d62a76577f330d535739a33980e1] drm/amd/display: Code style adjustments
git bisect bad 8e6a3116e3b5d62a76577f330d535739a33980e1
# good: [34633158b8eb8fca145c9a73f8fe4f98c7275b06] Merge tag 'amd-drm-next-6.10-2024-04-13' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
git bisect good 34633158b8eb8fca145c9a73f8fe4f98c7275b06
# bad: [fad3dad8326df56aff216af4630505180bc2a27d] Merge tag 'drm-intel-next-2024-04-17-1' of https://anongit.freedesktop.org/git/drm/drm-intel into drm-next
git bisect bad fad3dad8326df56aff216af4630505180bc2a27d
# good: [26410896206342c8a80d2b027923e9ee7d33b733] drm/i915/bios: Tolerate devdata==NULL in intel_bios_encoder_supports_dp_dual_mode()
git bisect good 26410896206342c8a80d2b027923e9ee7d33b733
# bad: [6809f9246d43f7cb07310ca6a3deb7aa1c0ea938] drm/i915/hdcp: Fix get remote hdcp capability function
git bisect bad 6809f9246d43f7cb07310ca6a3deb7aa1c0ea938
# bad: [b648ce2a28ba83c4fa67c61fcc5983e15e9d4afb] drm/i915/mst: Reject FEC+MST on ICL
git bisect bad b648ce2a28ba83c4fa67c61fcc5983e15e9d4afb
# good: [26410896206342c8a80d2b027923e9ee7d33b733] drm/i915/bios: Tolerate devdata==NULL in intel_bios_encoder_supports_dp_dual_mode()
git bisect good 26410896206342c8a80d2b027923e9ee7d33b733
# status: waiting for bad commit, 1 good commit known
# bad: [b648ce2a28ba83c4fa67c61fcc5983e15e9d4afb] drm/i915/mst: Reject FEC+MST on ICL
git bisect bad b648ce2a28ba83c4fa67c61fcc5983e15e9d4afb
# good: [6cdebf62a159f31351946685b02941c968b96e49] Merge tag 'spi-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
git bisect good 6cdebf62a159f31351946685b02941c968b96e49
Comment 7 ch_chia 2024-08-29 18:57:43 UTC
ok finally manage to complete the bisect, here the result, hope this help

git bisect bad
1965dbd535eec6064803484eb014a2d9a0cf6a30 is the first bad commit
commit 1965dbd535eec6064803484eb014a2d9a0cf6a30
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Mar 19 11:24:43 2024 +0200

    drm/i915/bios: Use the platform's port_mask when there is no VBT

    When we have no VBT we currently assume ports A-F are
    all pontially valid for every platform. That is nonsense.
    Grab the bitmask of valid ports from the runtime info
    instead.

    Although the defaults we actually fill here look semi-sensible
    only for hsw-skl era hardware. Dunno if we should try to do
    something more appropriate here for other platforms,
    or just try to nuke the whole thing?

    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240319092443.15769-2-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>

 drivers/gpu/drm/i915/display/intel_bios.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)



**************

git bisect log
git bisect start
# status: waiting for both good and bad commits
# good: [a4c5a457c6107dfe9dc65a104af1634811396bac] perf/arm-dmc620: Fix lockdep assert in ->event_init()
git bisect good a4c5a457c6107dfe9dc65a104af1634811396bac
# status: waiting for bad commit, 1 good commit known
# bad: [4853f1f6ace32c68a04287353e428c4cfc3fa8ed] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux
git bisect bad 4853f1f6ace32c68a04287353e428c4cfc3fa8ed
# good: [54e1a2aa61a7bf4af2799baf7ab2dc2712844245] Merge branch 'for-next/tlbi' into for-next/core
git bisect good 54e1a2aa61a7bf4af2799baf7ab2dc2712844245
# good: [54e1a2aa61a7bf4af2799baf7ab2dc2712844245] Merge branch 'for-next/tlbi' into for-next/core
git bisect good 54e1a2aa61a7bf4af2799baf7ab2dc2712844245
# good: [b850dc206a57ae272c639e31ac202ec0c2f46960] Merge tag 'firewire-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
git bisect good b850dc206a57ae272c639e31ac202ec0c2f46960
# good: [46c6d2b186915176be5acc5d4b6f9793eb32a0c7] Merge tag 'asymmetric-keys-next-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
git bisect good 46c6d2b186915176be5acc5d4b6f9793eb32a0c7
# bad: [d34672777da3ea919e8adb0670ab91ddadf7dea0] Merge tag 'fbdev-for-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev
git bisect bad d34672777da3ea919e8adb0670ab91ddadf7dea0
# bad: [377b5b397d073c0aae36b833a5bcac0e6f349243] Merge tag 'amd-drm-next-6.10-2024-04-19' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
git bisect bad 377b5b397d073c0aae36b833a5bcac0e6f349243
# good: [81bf14519a8ca17af4f057a125d87fabbae90af3] drm/amdkfd: make sure VM is ready for updating operations
git bisect good 81bf14519a8ca17af4f057a125d87fabbae90af3
# bad: [8f6372a4d69045b8a7dd371bd3c269ad1bf85e08] drm/i915/mtl: Add DP FEC BS jitter WA
git bisect bad 8f6372a4d69045b8a7dd371bd3c269ad1bf85e08
# good: [48ba4a6dc3876f87090ccfe942c6d8325f49e11c] drm/i915: Update IP_VER(12, 50)
git bisect good 48ba4a6dc3876f87090ccfe942c6d8325f49e11c
# bad: [8d7fc2612e4a161a63ed6cddcfe8d3205717b54d] drm/i915: Extract intel_dbuf_mbus_join_update()
git bisect bad 8d7fc2612e4a161a63ed6cddcfe8d3205717b54d
# bad: [71cdfa8cad300caa7afcbba09776bbc8dcfa9e39] drm/i915/psr: Do not write ALPM configuration for PSR1 or DP2.0 Panel Replay
git bisect bad 71cdfa8cad300caa7afcbba09776bbc8dcfa9e39
# bad: [f3b899f0b4b17fa0b20e27c23f78604d5686383d] drm/i915/psr: Calculate PIPE_SRCSZ_ERLY_TPT value
git bisect bad f3b899f0b4b17fa0b20e27c23f78604d5686383d
# good: [26410896206342c8a80d2b027923e9ee7d33b733] drm/i915/bios: Tolerate devdata==NULL in intel_bios_encoder_supports_dp_dual_mode()
git bisect good 26410896206342c8a80d2b027923e9ee7d33b733
# bad: [e580fc47b50c528b9a1210b0b6ef540d79c2cfa8] drm/i915: Delete stray .rej file
git bisect bad e580fc47b50c528b9a1210b0b6ef540d79c2cfa8
# bad: [92714006eb4d10ddfaa0eca41c81e6b483e02f93] drm/i915/backlight: Do not bump min brightness to max on enable
git bisect bad 92714006eb4d10ddfaa0eca41c81e6b483e02f93
# bad: [1965dbd535eec6064803484eb014a2d9a0cf6a30] drm/i915/bios: Use the platform's port_mask when there is no VBT
git bisect bad 1965dbd535eec6064803484eb014a2d9a0cf6a30
# first bad commit: [1965dbd535eec6064803484eb014a2d9a0cf6a30] drm/i915/bios: Use the platform's port_mask when there is no VBT
Comment 8 ch_chia 2024-08-29 19:11:08 UTC
manual reverse the code in this commit confirm that now i have working HDMI in UHD730 passthrough VM in Proxmox. thanks for all helps.

i will email the commit author.
Comment 9 Artem S. Tashkinov 2024-09-02 12:03:38 UTC
Please post here as well:

https://gitlab.freedesktop.org/drm/i915/kernel/-/issues
Comment 10 Jani Nikula 2024-09-03 15:51:59 UTC
Follow-up at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12106