Linux Patch Sparks Differing Views Over External Monitor Handling With iGPU vs. dGPU
Kai-Heng Feng sent out the patch drm/i915: Switch TGL-H DP-IN to dGFX when it's supported. The justification is that on mobile workstations like the HP ZBook G8, if routing the external monitor connections through the discrete GPU rather than the integrated Intel graphics, more monitors can be supported.
Immediately it was raised by Intel engineer Jani Nikula whether this is a policy decision they would want to unconditionally make. Red Hat's Lyude Paul meanwhile commented that "it's a huge no from me."
In particular, the HP ZBook in question and similar notebooks tend to rely on NVIDIA graphics for their dedicated GPU. But if using the Nouveau driver there, forcing external displays to use the Nouveau-powered GPU would be worse performance due to the current re-clocking limitations. Lyude commented, "Nouveau is able to support these systems, but at a limited capacity. This would imply that we are making external displays work for users of the nvidia proprietary driver, at the expense making external display support for mainline kernel users substantially worse for people who are using the mainline kernel. Which isn't a choice we should be making, because nvidia's OOT driver is not a mainline kernel driver."
Karol Herbst of Red Hat also criticized the approach and that by forcing discrete GPU use for external displays there is increased thermal/power pressure as well.
Kai-Heng though has been persistent on hoping to upstream this change and arguing laptop vendors likely only test external monitor support with the dGPU and that it's a better experience for users. But that better experience still is only if using the NVIDIA proprietary driver since the Nouveau driver support stuck to boot clock speeds is likely more impaired than integrated Intel graphics. Short of the patch being reworked to improve its logic or making it an optional change, it's likely to continue facing stiff resistance to be upstreamed and may end up just being a kernel patch carried by Ubuntu.